Skip to main content

Module impacts

Module impacts 

Source
Expand description

Change propagation to dependents.

When a revision is released, TeamCraft

  1. freezes the configuration of the released revisions: every BOM line and item reference remembers the revision of its target at that moment (revision rule as released);
  2. resolves the open impacts of the released items themselves – a new release was reviewed with the current components (superseded);
  3. flags every dependent for a check: items whose latest revision uses the released item in its BOM, references it (drawing, specification, reference), has a CAD file that references one of its files, or is a simulation based on another revision of it (or on a file version that is no longer current; see simulations). Items released in the same change are not flagged.

When the latest revision of an item is made obsolete, its dependents are flagged the same way and its own open impacts are closed.

An impact stays open until a CAD editor of the dependent’s project group acknowledges it with a note (“form, fit and function unchanged”), a newer revision of the dependent is released, or the dependent becomes obsolete. Propagation is one level per event: when the dependent is revised and released, its own dependents are flagged in turn.

Structs§

Acknowledged
The result of acknowledge_all.
Dependent
An item that depends – directly (level 1) or through other dependents – on a revision of a change.
DependentGroup
The open impacts on one dependent revision: everything that has to be checked on one assembly, drawing or simulation.

Functions§

acknowledge
Marks an open impact as checked: the dependent needs no change.
acknowledge_all
Acknowledges every open impact on a dependent revision with one note – or only those in only (the ones the user saw, so a check flagged a moment ago is not acknowledged unseen). Impacts resolved in the meantime are skipped; if none is left, nothing changes (conflict). Same rules as acknowledge; one transaction, one audit entry per impact.
analysis
The dependents of the given revisions that the actor may see, and how many dependents were left out because they belong to restricted groups (the walk does not go on through them): multi-level through BOMs and item references of the latest revisions, plus CAD files that reference their files.
for_item
Impacts on an item: open ones first, then the 20 most recently resolved. Sources the actor may not see are redacted.
get
An impact on an item the actor may read; a hidden source is redacted.
group_by_dependent
Groups impacts by the dependent revision. Groups keep the order in which they first appear (newest first for open_for); inside a group the sources are ordered by item number and revision.
open_for
Open impacts the actor can resolve: on items of their project groups (all for admins, none for viewers), newest first.
parse_ids
Parses the comma-separated impact ids of a web form (see DependentGroup::impact_ids); empty means all open impacts.
redact_all
Redacts impacts for a reader – every impact that leaves this module goes through here. Sources the reader may not see lose their identity, and a releasing change order the reader may not see (it also holds restricted items, see access::change_visible) loses its number and id.