Items and Item Revisions
Contents
Parent article: Altium Vault
The tangible object that is made from a design project and sold by a company is manufactured from a specific set of data, generated from source design files. The data used for manufacturing can be thought of as the set of instructions used to build that object. This data includes the fabrication files (Gerbers, NC Drill files, etc) and assembly files (BOM, Pick and Place, etc) needed to make the blank board and then the assembled board. But how to uniquely identify this set of instructions, firstly so that the production team can be assured that they are making the right blank board, and then the separate set of instructions needed to make the right assembled board? The answer is the Item.
What Exactly are Items and Revisions?
An Item simply represents a specific object that gets built, and is uniquely identified by its Item identifier (ID). A design project can be the source of multiple bare or assembled boards. Each of the distinct physical objects that is built is represented in the system as a different Item, each with its own unique Item ID.
Now over time the design may need to change – a mistake is found, a part becomes obsolete. On the design side, incremental changes to the source design are stored as separate versions of that design, typically using a version control system. Once the changes are complete, a new set of those manufacturing instructions needs to be generated, or released. So how do we identify between different releases of the same design, and more importantly the different data sets generated? The answer is a revision identifier (ID), which in combination with the Item ID creates a unique identifier for each release of an Item. This gives us the Item-Revision.
An Item-Revision simply identifies which revision of an Item is to be built. There will always be at least one revision of an Item (the first release), but there could be many, depending on how many times that design is released. An important point to make here is that you can only release to a particular Item-Revision once. If there is a change then a new Item-Revision must be created. This ensures the highest integrity, as the data set to manufacture a given revision can never be overwritten by re-releasing to the same revision. To release again, a new Item-Revision must be used.
The simplest way to grasp the concept of an Item and its revisions is to think of a 'box', into which all the data (instructions) required to build that particular revision of that particular Item, are stored. When the Item is released the data is put into the box, and the box is closed. The Item ID and the Revision ID become labels on the side of that box – they allow instant recognition of what the contents of the box is used for. If the design needs to be updated and re-released then the Revision ID is incremented, creating a new box.
So far this discussion about Items has only talked about how they are used to manage the release and production of blank and assembled boards. However Items are also used to identify other design elements that need to be created and used during the design process. This includes the components that get loaded onto the board, as well as your company's re-usable design content, such as templates and managed sheets. Each of these types of Item also uses the Item-Revision concept to manage the creation, release and usage of that content.
The Lifecycle of an Item-Revision
Main article: Item Lifecycle Management
Another important aspect of an Item-Revision is its Lifecycle State. This is another identifier that can be used to quickly assess what stage that revision has currently reached in its life, and what designers are therefore authorized to do with it. Where the Revision reflects design changes made to the Item, the Lifecycle State reflects the state of the item from a business perspective, such as Planned, New From Design, For Production, Obsolete and so on.
Initially, the Item-Revision will be in the Planned state – ready to receive (and store) the data generated by the applicable release process. Once the release process is complete, that revision is closed (the source data cannot be released to that same revision again), and the Lifecycle State is set to the next applicable state. While the data for this Item-Revision can not be modified, the Lifecycle State can be changed to reflect just where the Item-Revision is in terms of its useful life.
Altium Designer provides different types of lifecycle management – from basic management, through simple management including states and state transitions, to fully structured management, where the states and state transitions are organized into distinct stages, with a link between those stages and the Revision ID. Based on these different lifecycle management strategies, a number of standard Lifecycle Definitions are defined, from which you can choose to model the state transitions that an Item-Revision may undergo over time. There are also definitions that include 'Approval' type states and transitions – where user-defined specific authorities are required, to increment to a given Lifecycle State.
For all default definitions (other than Basic), after release the Item-Revision automatically changes from the Planned state to the New From Design state.
An Item-Revision's lifecycle is managed manually, and in accordance with company policies and practices. Once a design is complete and the development team are happy with the design, the Lifecycle State would be elevated to the In Prototype state and, all being well with the subsequently-manufactured prototype, would then proceed to the In Production state. At a later date another revision of the same Item might be needed (another box!) to introduce better functionality. Once released this second Item-Revision would progress through prototyping to production, while the lifecycle of the previous Item-Revision passes through deprecation and finally to obsolescence. The point is that the lifecycle information shows how the contents of the 'Item-Revision box' can, or rather are, being used.
Creating an Item
Related article: Altium Vault
The Items themselves are created directly within an Altium Vault, and all of the data needed to manufacture/represent an Item is then stored in that vault, against that Item number. Items can be created manually (they must be for board and managed content types of Item), or they can be created automatically as part of the release process - for components and their domain models, for example. Vault management and Item creation from within Altium Designer is performed through the Vaults panel.
Once you have defined the required folders, you can proceed to create Items in the vault. To create an Item, select the appropriate folder, then right-click in the Item region of the panel and choose one of the commands from the Create Item sub-menu.
The Create Item dialog will appear, providing all controls necessary to fully define the Item.
The following fields collectively define an Item:
- Item ID – the unique ID for this Item. The ID itself is typically a code, in accordance with established naming conventions. The Item ID can not be changed after the Item is released.
- Content Type – the type of this Item (see The Item Type).
- Revision Naming Scheme – this field determines the scheme employed when assigning Revision IDs. Use the drop-down to choose from the schemes currently defined for the vault. Schemes themselves are defined in the Edit Revision Naming Schemes dialog, which can be accessed by clicking the button at the right of the field. As schemes are chosen at the Item-level, you are free to have different schemes applied to different Items. The chosen Revision Naming Scheme can not be changed after the initial revision of the Item has been released.
- Revision ID – the revision of the Item, in accordance with the chosen revision naming scheme. This field is read-only during creation, however once created, you can manually set the ID for the initial revision as required. For information on how to do this, see Setting the ID for the Initial Revision of a Vault Item.
- Lifecycle Definition – this field determines which lifecycle definition is used to model the state transitions that an Item-Revision may undergo over time. Use the drop-down to choose from the definitions currently defined for the vault. The definitions themselves are defined in the Edit Lifecycle Definitions dialog, which can be accessed by clicking the button at the right of the field. As lifecycle definitions are chosen at the Item-level, you are free to have different definitions applied to different Items. The chosen Lifecycle definition can not be changed after the initial revision of the Item has been released.
- Revision State – the state of the revision of this Item specified in the Revision ID field. This field is read-only and for a newly created Item will always be set to
Planned
.
- Comment – use this field to enter any further comments regarding this Item.
- Description – use this field to enter a meaningful description of what is represented by this Item.
- Folder – the vault folder in which this item is stored.
- Ancestor Revision – the preceding revision from which this Item is created/branched.
A Word About the Item ID...
An important aspect of the parent folder in which an Item is created, is the Item Naming Scheme employed for it. This defines the format of the unique ID for each Item created in that particular folder. By defining the Item Naming Scheme at the folder level, Items can be created quickly within that folder, while adhering to the correct ID naming scheme. This is especially the case when Items are being created automatically 'on-the-fly', rather than releasing to existing Items that have been manually created directly within the target vault.
Several default example schemes are available, utilizing the short-form code for either the folder type or the content type. Using a default naming scheme, the software will automatically assign the next available unique ID, based on that scheme, having scanned the entire vault and identifiers of existing Items.
Alternatively, should there be a need to have full, manual control over the naming of an Item, simply select the [NO ITEM NAMING SCHEME] entry. A unique Identifier must then be defined for an Item as part of its creation.
Choosing a Scheme for Item IDs
There is an infinite number of possible name/numbering schemes that can be used for Items, the ones shown in images within the documentation are just examples. There are numerous discussions you can read about what is the best numbering scheme to use. Generally, the experts agree that a short, non-significant, numeric-only numbering scheme is best. Non-significant means that there is no information encoded into the numbering scheme, such as the product category, sub-category, location, etc, each new Item is simply issued the next number in the sequence.
The length is important because the longer the identifier, the greater the chance of a human making an error when they record or recall the Item ID. Experience and academic study have shown that that data entry errors increase as the number of characters increase. Seven digits is believed to be the magic number in terms of being easily and reliably recalled by a human. Beyond a certain length errors increase at an increasing rate – at 15 characters, the error probability is close to 100%.
If it is important in your organization to create identity in the Item ID, then a composite identifier could be the answer. In this case a simple alpha/numeric commodity prefix code is recommended. For example, consider the ID D-820-0001. Here the D in the code could denote Design, meaning this is an Item used for designs. In the next 3 digits, the first digit could denote the product category, such as Peripheral Boards, the second and third digits in the block of three could be used to denote bare boards (1X) or assemblies (2X and up). The final four digits in the Item ID are a simple, non-significant, next-in-the-queue type number.
The Item Type
Different Items are used to store and represent different types of data. One Item could represent a schematic symbol, another a PCB component model, while another could contain the generated data from a released board design configuration, along with source design snapshot. To declare the type of content an Item (or rather its revisions) will be used to contain, its Content Type property needs to be specified when creating or editing that Item. To put this another way, you are in essence specifying the Item Type.
The following table summarizes the different Item types that are supported.
Content Type | Code | Description | Content Generated By... |
---|---|---|---|
|
| Component | releasing a component definition (in a |
altium-designer-preferences | PREF | Altium Designer Preferences Set | releasing a defined set of preferences from the Preferences dialog in Altium Designer (working as an Altium Vault administrator). |
altium-outputjob | OUT | Output Job | releasing an Output Job Configuration file (*.OutJob). |
|
| Part Choice List | adding Part Choices to a Component Item. |
|
| Structured BOM and PCB Assembly Data Set | releasing an |
|
| Blank PCB Fabrication Data Set | releasing a |
|
| PCB Component Model | releasing a PCB 2D/3D component model, defined in a PCB Library file ( |
|
| PCB Design Project | releasing a source PCB design project ( |
|
| Schematic Sheet | releasing a schematic sheet, or 'tree' of sheets ( |
altium-schematic-template | SCHDOT | Schematic Template | releasing a schematic sheet (*.SchDoc), or schematic template (*.SchDot). |
|
| Simulation Model | releasing a simulation model, defined in a Simulation Model file ( |
|
| Schematic Symbol | releasing a schematic symbol, defined in a Schematic Library file ( |
Item-Revision Naming Schemes
Main article: Item Revision Naming Schemes
To provide the greatest level of flexibility, the Altium Vault comes with a number of pre-defined Revision Naming Schemes, and also supports user-defined Naming Schemes. The Revision Naming Scheme is specified at the vault level and then automatically applied when an Item is created, but can be locally overridden for an Item if required. To specify the naming schemes for a vault open the Data Management – Vaults page of the Preferences dialog, select the vault and click the Properties button, then select Edit Revision Naming Schemes from the drop-down menu. The Edit Revision Naming Schemes dialog will appear.
Four default naming schemes are available:
- 1-Level Revision Scheme – with this scheme, a Revision ID will consist of one level only (e.g.
1
).
- 2-Level Revision Scheme – with this scheme, a Revision ID will consist of two distinct levels (e.g.
A.1
).
- 3-Level Revision Scheme – with this scheme, a Revision ID will consist of three distinct levels (e.g.
01.A.1
).
- Component Revision Scheme – with this scheme, a Revision ID will consist of two distinct levels (e.g.
A.1
).
Item-Revision Lifecycle Definitions
Main article: Item Lifecycle Management
Like the Revision Naming Scheme, a default Lifecycle Definition is applied at the vault level. This can then be overridden when an Item is created, if required. To examine or edit the Lifecycle Definition being used for a vault, open the Data Management - Vaults page of the Preferences dialog, select the vault and click the Properties button, then select Edit Lifecycle Definitions from the drop-down menu. The Edit Lifecycle Definitions dialog will appear.
There are seven default Lifecycle Definitions available:
Basic Lifecycle
Component Lifecycle
Extension Lifecycle
Simple Lifecycle
Simple Lifecycle With Approvals
Structured Lifecycle
Structured Lifecycle With Approvals
.
Reviewing and Managing the Revision and Lifecycle State
Main article: Managing the Item's Revision and Lifecycle State - the Item View
For a detailed view of the Revision and Lifecycle history of an Item, right click on the Item in the Vaults panel and choose Full Item History from the menu. The Item view will open.
The view presents a textual timeline, as well as a graphical view of the revisions of that Item, and their lifecycle history.
Additional detail that is presented in the view will depend on the type of Item being examined. For example, for an assembled board Item the view presents a list of released documents, the snapshot of the design project used to generate the release and a system-generated Bill of Materials (BOM). For a Component Item, the consituent model links are presented, along with parametric information.
The graphical region of the view displays a column for each major Revision. Each column then displays the Lifecycle state changes for that Revision. Right-click on a Lifecycle state cell to perform operations including:
- Establishing a new Planned Revision of the Item, in accordance with the Revision Naming Scheme selected for that Item.
- Managing the Lifecycle state for a particular revision of the Item, in accordance with the Lifecycle Definition selected for that Item.
- Viewing Revision properties.
- Publishing release data directly to a nominated publishing destination (for Blank Board and Assembled Board Items only).