Controlling Item Revision Visibility and Applicability
When configuring each individual state for a lifecycle definition, you have the ability to define additional state attributes that control the visibility and applicability of an Item revision - using that lifecycle definition - that finds itself in that state. In terms of applicability, a project compiler violation can also be configured to detect and flag any server items being used in a design, whose revisions are in non-applicable states - catching and averting issues prior to release.
Controlling Visibility and Applicability
Controls for determining whether an Item Revision in a particular state is visible and/or applicable, are available in the State Properties dialog. From within the Edit Lifecycle Definitions dialog, access this dialog for the required state, either by double-clicking on the state's entry within the parent lifecycle definition, or by selecting its entry and clicking the edit icon that appears ().
The two options are:
- Visible in Vault panels - with this option enabled, a revision of an Item using the parent lifecycle definition, will be displayed in the Explorer panel when it is set to be in this lifecycle state. When this option is disabled, the revision will be hidden. A hidden revision can be displayed (overriding this option) within the Explorer panel, by enabling the Show Hidden Revisions control (see Showing Hidden Revisions).
- Allowed to be used in designs - with this option enabled, an Item Revision in this state is permitted to be used in a design. It is deemed to be Applicable. If this option is disabled, an Item Revision in this state cannot be validly used, and is deemed Inapplicable (or non-applicable). It will be flagged as such in the Properties panel and the Item Manager dialog (see Flagging Inapplicable Revisions). The project compiler can also be configured to catch such occurences (see Detecting Inapplicable Revision States on Compilation).
Showing Hidden Revisions
For an Item Revision entering a lifecycle state that has its Visible in Vault panels attribute disabled, that revision will, by default, not be displayed in the Explorer panel. And if it is the latest revision of the Item, then the entire entry for that Item will effectively be hidden from view. This visibility state - defined at the state level - can be overridden globally for all Items when browsing in the Explorer panel. To display all Item Revisions that are currently not visible, click the control, at the top-right of the Items region of the panel, and enable the Show Hidden Revisions option, on the associated menu.
Flagging Inapplicable Revisions
Typically, a lifecycle state that is set to be hidden (Visible in Vault panels option disabled) will also be made inapplicable (Allowed to be used in designs option also disabled). For example, a revision of a component that is currently Depracated or Obsolete should have no place on the latest design spin! Hiding revisions of Items that have entered such states is one thing - if you can't see a component for example, you can't place it. But you may already be using instances of such Item Revisions in a design, or inadvertently placed an inapplicable revision of a component by virtue of having shown hidden revisions whilst browsing!
Not to worry. Aside from catching Component Item Revisions that are in inapplicable states upon compilation (see next section), you can manually interrogate the applicability of Item Revisions (components and managed sheets) directly in the workspace. This is achieved through the Properties panel, when browsing the item's properties, or through use of the Item Manager.
- Properties panel - when browsing the properties for a placed Component Item Revision, or a placed Managed Schematic Sheet Item Revision - through the Properties panel - indication is presented to the right of the Revision State field. If the revision is in an inapplicable state (not allowed for use in designs) the entry will display Not Applicable. If the revision is in an applicable state (allowed for use in designs) the entry will either reflect that the revision is the latest (Up to date) or not (Out of date).
- Item Manager - in the Item Manager dialog (Tools » Item Manager), indication is presented in the Revision Status field. If the revision is in an inapplicable state (not allowed for use in designs) the entry will display Not Applicable. If the revision is in an applicable state (allowed for use in designs) the entry will either reflect that the revision is the latest (Up to date) or not (Out of date).
Detecting Inapplicable Revision States on Compilation
For placed instances of Component Item Revisions, the applicability of the states of those revisions can be checked as part of project compilation. At the heart of this checking is the Component revision has inapplicable state violation type, part of the category: Violations Associated with Components. Configure the reporting mode for this check on the Error Reporting tab of the Project Options dialog.
If compiler errors and warnings are enabled for display on the schematic (enabled on the Schematic - Compiler page of the Preferences dialog) an offending object will display a colored squiggle beneath it. A notification is also displayed in the Messages panel in the following format:
Component <Designator> <Comment>: Component revision has inapplicable state,
where:
- Designator is the component instance's Designator.
- Comment is the component instance's Comment.
Things to be aware of:
- If a placed managed component loses connection with the managed content server from which it was placed - for example that server is disconnected or you are signed out from your server - it will violate the Component revision has inapplicable state check. This will be reflected in the Messages panel, with an entry in the form: Component <Designator> <Comment>: Can't perform revision status validation: Failed to connect to server.
- You can also catch components that are being invalidly used within a design, during the design release process. Simply add and configure Component State Checking to your overall release validation regemin. For more information, see Validating Component Status.