The Managed Project and Releasing the Design

This document is no longer available beyond version 17.1. Information can now be found using the following links:

Applies to Altium Designer version: 17.1

 

In a nutshell, Project Management is focused on securely storing and tracking changes throughout the design process, and ultimately, channeling the resulting design through to the creation of a physical item – such as an assembled PCB to be used in the final product.  To meet these needs, Altium Designer provides a range of project management approaches that offer increasing levels of sophistication and capabilities, yet simplify the process from a designer's perspective.

Altium Designer's integration with Version Control systems (VCS) provides the primary mechanism for robust management of design data, while its tightly managed generation of Output files forms the basis for sophisticated design data release mechanisms. In their most advanced form, both the management of design data and generation of output data are centered on the capabilities of the Altium Vault.

The VCS-based project and design document management options that are available can be summarized as follows, ordered by increasing capabilities:

  1. External VCS, managed outside Altium Designer
    An installed Version Control System (VCS) such as SVN or CVS that is managed independently of Altium Designer by a client application such as the Tortoise interface. A designer must leave the editing environment to perform VCS operations with a separate, client application.
    – see Version Control and Design Repositories for more information.
  2. External VCS, managed within Altium Designer
    An installed VCS such as SVN or CVS managed and accessed through the Altium Designer Storage Manager panel. A designer must setup and connect to the VCS service, but can then perform VCS operations from within Altium Designer, which directly interfaces with the VCS application.

    – see Version Control and Design Repositories for more information.

  3. Internal VCS (SVN), managed in Altium Designer
    The SVN application that is built in to Altium Designer is accessed and managed through the Storage Manager panel. Altium Designer works directly with its internal SVN application, minimizing the need for user intervention and setup.
  4. Altium Vault VCS managing a vault-based or external repository
    The Altium Vault and its own VCS service (SVN) is managed through the Vault's browser interface, and accessed from Altium Designer's Storage Manager panel. VCS repositories created in the Vault can be configured for specific user access (Sharing), and are automatically connected to by Altium Designer. The service may also link to external VCS repositories.
  5. Altium Vault VCS repository hosting advanced Managed Projects
    The Altium Vault and its SVN service host Managed Projects, which offer simplified VCS operations and inherent design collaboration capabilities. Projects are managed through the Vault's browser interface and can be accessed directly from Altium Designer, based on a user's Vault login credentials.

Beyond the selected method used for project and document management, a board design will eventually be 'released' from the design domain to the manufacturing domains for fabrication, testing and assembly.

At its fundamental level, this involves generating a set of output files that correctly provide the information required to manufacture and populate the board design. At its most advanced level, a preconfigured and fully verified set of generated output files (including a snapshot of the design files) are Released to the Altium Vault as a packaged 'item' revision, which is itself under lifecycle-managed version control. See Releasing a Design, below.

Managed Projects

In conjunction with the Altium Vault, Altium Designer offers the ability to work with an advanced project construct in the form of a Managed Project. Stored within a Vault-based repository, a Managed Project harnesses the Vault's version control and design collaboration capabilities to provide a refined approach to centralized design for small or large design teams.

Thanks to the intelligence built in to the Vault service, tasks such as VCS operations are simplified and automated, and additional design collaboration features such as user access control (sharing), commenting and notifications are integrated with Altium Designer. The end result is a robust and secure project storage format and location that can become the central point for collaborative project design.

The preliminary steps for managing and working with Managed Projects are:

  1. In the Altium Vault's browser interface, create a VCS repository in the Vault – see VCS Repositories. The Altium Vault installation provides a default SVN repository (DefaultRepository), and new repositories may be added in ADMIN » VCS page of the Vault browser interface.
  2. In Altium Designer, sign out then back in to the Vault to automatically connect to the new Vault-based repository.
    The conventional method of connecting to a VCS repository (through the Data Management – Design Repositories page of the Preferences dialog) is not required for Vault-based repositories – the connection is automatically established when you sign in to the Vault from Altium Designer (DXP » Sign in to Vault).

A Managed Project can then be created through the Vault interface or in Altium Designer, or an existing project may be converted to a Managed Project.

Create a Managed Project

A new Managed Project is created in Altium Designer via the standard New Project dialog (File » New » Project), where the Managed Project option is selected and the target Vault/Folder nominated. As with other new VCS projects, the files will be added to version control and must then be Committed to the VCS repository – use the Commit Whole Project or Save Managed Project commands in the Projects panel.

Create a new Managed Project or convert an existing 'normal' project to one – see below.Create a new Managed Project or convert an existing 'normal' project to one – see below.

Alternatively, a Managed Project can be directly created through the Projects page in the Vault browser interface. Use the button to open the Add Project dialog, where the Managed Project's name, description, and target repository/folder is nominated. This automatically adds and commits the project structure in the Vaults VCS repository, which can be subsequently opened and added to in Altium Designer.

Convert to a Managed Project

A Vault-based Managed Project can also be created by converting an existing Altium Designer project to a Managed Project. To do so, right click on the project file and select the Convert to Managed Project command.

In this case the opened project is Added then Committed to a nominated Vault repository, while the local version is retained as the working copy. The newly created Managed Project can then be shared with other Vault Users (or user Role groups) to enable a collaborative design environment for that project.

Use the Save Managed Project command to commit the project to the Vault.Use the Save Managed Project command to commit the project to the Vault.

The Convert to Managed Project command will not be available in Altium Designer if the local project is already under version control, or has been in the past – in practice, this is indicated by the presence of version control configuration files in its local folder. This situation can be resolved by creating a new 'clean' copy of the project in another folder, which can then be converted to a Managed Project.

Share a Managed Project

A Vault based Managed Projects can be individually shared with nominated users by setting its access permissions (including read/write restrictions) in the Vault browser interface. Use the Share button () to access the Manage permissions for project dialog, where Vault Users and group Roles can be granted access to the selected project. Vault Users and user Roles are defined in the Users page of the browser interface.

Project permissions can also be defined through the Vaults panelProject permissions can also be defined through the Vaults panel

At a coarser sharing level, the VCS repository created in an Altium Vault can also have its access permissions defined in terms of the Vault Users and Roles. See Sharing a Repository for more information.

Open a Managed Project

A Vault-based Managed Project can be opened from within Altium Designer (File » Open Managed Project), or from the Projects page of the Vault browser interface (access the Project's page with the button, and select the button). In both cases the Managed Project files are checked out from the Vault repository to a local working folder and opened in Altium Designer.

Above: Opening a Manged project through Altium Designer's Open Managed Project command.Above: Opening a Manged project through Altium Designer's Open Managed Project command.

Above: Opening a Manged project through the Vault browser interface.Above: Opening a Manged project through the Vault browser interface.

An Altium Designer user must be signed in to the Altium Vault (DXP » Sign in to Altium Vault) to access a Managed Project, and the Vault sharing permissions for both the project and its host repository must set to allow access for that user – see Share a Managed Project above.

Releasing a Design

Also in conjunction with the Altium Vault, Altium Designer provides an advanced approach to organizing, tracking and storing the design output files required for manufacturing a PCB design project. This employs an automated process that ‘releases’ a specific sets of design output files to the Altium Vault as a read-only ‘Item’ revisions, which collectively corresponds to a physical item that may be built. The Item revisions created by this Project Release process are stored in the Vault’s version controlled repository, are lifecycle managed, and represent a manufacturable snapshot of the PCB design at the time the Release was created.

The Project Releases that follow, as the design progresses, are committed as new revisions of each Item, allowing a sequence of released revisions to be created as the design changes and evolves. Previous revisions are read-only, and may be viewed or downloaded from the Vault at any time.

A board design that is released or 'committed' to the Vault Item (as a set of lifecycle-managed Revisions) generally includes:

  • Source Data –  a time-stamped copy (snapshot) of the core project design files (Schematic, PCB and Project file, etc).
  • Fabrication Data – the data required by a Fabrication House to create the bare board (Gerber files, NC Drill files, etc)
  • Assembly Data – the data required by an Assembly House to fully populate the bare board according to a Bill of Materials, both with and without any design Variations (Pick and Place files, Assembly Drawings, BOMs, etc).
The Project Release can also be used in an offline mode, where the generated release files are created in a ZIP archive file that is stored in a folder on the local machine. If the current project is not a Managed Project or you are not signed in to the Altium Vault, the Project Releaser will automatically offer the offline release mode. Read about the Project Releaser's Offline mode.

The prerequisites for releasing a PCB design to the Vault are:

  • An Altium Vault is installed and accessible – the target repository for the release.
  • The Altium Designer PCB project includes suitable Output Jobs – design data output generators (for outputs such as print, file or PDF). If no OutJobs are available, the Project Releaser will offer to create suitable Fabrication and Assembly Outjobs to drive the process.
  • The project targeted by the Release process has all required elements in place – the project source data is valid and up to date, the user has sufficient right to release that project to the Vault, etc.

The essentials of these requirements are outlined below.

Output Jobs and Files

The fundamental method of generating design output in Altium Designer is through a range of available design Output Generators that produced the data files and artwork needed to create the real world version of the design – in other words, the Schematic and PCB Prints, Gerber and NC Drill fabrication files, Bill of Materials (BOM), Pick and Place Assembly files etc that are required to fabricate and assemble the PCB design.

The selected Output Generators and the specific Output files they will create for a design are collectively defined using Altium Designer’s Output Job Editor, which saves the generator to output mapping configurations in an Output Job File (*.OutJob) – created via File » New » Output Job File.

An OutJob document contains output generator definitions (output jobs) that map project outputs to their host 'containers'.An OutJob document contains output generator definitions (output jobs) that map project outputs to their host 'containers'.

Within the editor, the available Output types are arranged in functional sections (Documentation Outputs, Fabrication Outputs, etc) and are enabled by selecting a sub-type and the design document source. The selected Output is then linked to a target Output Container (such as a PDF, file, or a printer) – as shown above and below.

The Output Job Editor allows a wide range of design output generators to be targeted at output containers (files, printers, location paths etc), and the configuration saved as a OutJob project file.
The Output Job Editor allows a wide range of design output generators to be targeted at output containers (files, printers, location paths etc), and the configuration saved as a OutJob project file.

As the core mechanism for collectively generating manufacturing and assembly files for a board design, Altium Designer Output Jobs offer the following additional capabilities:

  • Any number of OutJobs can be added to a given design, so that configurations will be available for specific tasks such as generating outputs for fabrication, assembly, archiving, procurement and documentation.
  • OutJob files are in fact portable and can be applied to any design project where a standardized set of design outputs are required. Choose 'PCB Document' as the document source option, rather than a specific design file, to create a generic (and therefore portable) Output Job.
  • OutJobs can include files for design Validation checks, such as electrical (ERC), Rule (DRC) and Footprint to source comparisons. As such, Validation output jobs are a specialized 'active' case where the design is checked and the actual output (such as a PDF document) represents the results of the validation process. 
  • OutJobs cater for variations in an assembled board design, where different sets of output files are required to manufacture alternative versions the design – such as standard or uprated versions of the product that uses additional components or different types. See Design Variants for more information on board design variations.
    Note that a Variant Choice nominated by an Output Job does not apply when the OutJob is used in the Project Release process. In that case, Variant choices are automatically detected and/or specifically nominated in the Releaser itself.


– See Preparing Multiple Outputs in an OutputJob for more information on Output Jobs.

When releasing a design to the Altium Vault through the Project Release process (see below), the available OutJobs (such as those for Assembly and Fabrication) can be nominated for use by the Releaser. Additional Output Jobs that are included in the design project may also be added to the release setup through its Options dialog. The Release process uses the selected OutJobs to map specific sets of files and project production data to target Items in the Altium Vault.

The Project Releaser

With a PCB project’s required Output Jobs created, the design is ready to be released by the Project Releaser as a manufacturable set of design data to a set of Items in the Altium Vault. By using a sequence of checks and file generation processes, this will create a specific collection of board design data that represents a particular physical item (such as a fully assembled PCB) or set of physical items.

– See Releasing a Design with the Project Releaser for more detailed information.

To access and setup the Project Releaser, open its Release view from Altium Designer’s main menu (Project » Project Releaser) or right-click on the project name in the Projects panel and select Project Releaser.

The Project Releaser is an automated process that works through a sequence of checks and output file generation stages targeted at the Altium Vault, or a local folder.The Project Releaser is an automated process that works through a sequence of checks and output file generation stages targeted at the Altium Vault, or a local folder.

The Project Releaser's Release View offers an initial setup page that corresponds to the first stage of the release process sequence – Configure Vault Release. This includes a range of release data sections that represent the type of outputs that will be generated and released to the Vault, such as the Source data (a snapshot of the project files), Fabrication data and Assembly data.

The automated Releaser will:

  • attempt to apply suitable OutJob collections to the data assembly groups, based on the name prefix (ass, fab) of the available project OutJobs.
  • create suitable default Assembly and Fabrication OutJobs if there are no existing OutJobs in the project.
  • detect any Variants that have been defined in the active project and create suitable Assembly data sets for generating output files that relate to those variations.
  • detect the correct release mode – offline or online – based on the current conditions (Vault connection status, Managed or Local project type).

Additional 'custom' sections can be added (Add Section) to create a separate, nominated collection of output data. The initial configuration for the core data sections (or any added custom sections) can be edited, added to or reconfigured through the the Project Release Options dialog, opened from the button.

The output jobs defined by a nominated OutJob document will be run (eg: Assembly), and their data collected in that target section (eg: Assembly Data). The output jobs defined by a nominated OutJob document will be run (eg: Assembly), and their data collected in that target section (eg: Assembly Data).

The main Release Options include:

  • Release Target – select, or browse to and select, either a Vault or local folder (offline mode) target for the release.
  • Output Jobs – within each listed data collection (section), select which of the available OutJobs (and their constituent output generators) will be used in the release. Note that the release Sections are predefined data division names that can include the data generated by any nominated OutJob.
  • Settings – view or edit the base naming templates for the data revisions that will be released to the Vault.
  • Item Naming tab – set the name of the Items that will be created in the Vault, or nominate (or create) existing Items that will be targeted by the release.

- See the Project Release Options dialog for more information.

Several Project Release preference options are available through the Vaults page of Altium Designer's Preferences dialog (DXP » Preferences – Data Management – Vaults).

Prepare the Release

When the project release has been set up as needed, instigate the Releaser's preparation process with the  button. this will trigger a series of pre-release checks such as whether the project files have been saved (and committed to VCS), and ensuring that the target Items/revisions are named and will be accessible. During this part of the process, the Releaser will also create the release target Item Revisions in the Vault. The following processing stage will Validate the project (ERC, DRC etc) if a Validation report is included in the project OutJobs.

The final step of the preparation process will generate the data for all outputs defined by the nominated project OutJobs – this targets a local temporary location, prior to uploading that data to the Vault.

All data and files generated for the release can be reviewed prior to being released to the Vault.All data and files generated for the release can be reviewed prior to being released to the Vault.

At this stage the generated data can be reviewed in the Release view. To do so, select the Details link option for the data collection of interest, which will open a full report of the files generated for that section. Alternatively, use the View link to open the listed entry in its native editor/viewer.

Release to the Vault

Assuming all is well with the prepared release, the generated data can be uploaded to the target Item Revisions in the Vault that were created as part of the previous step. Use the  button to trigger that process, and confirm the action in the following Confirm Release dialog.

The completed release process will be followed by an Execution Report, which provides a release summary and navigation links to the data collection revisions in the Vault.

Select a generation section link to open that released revision in the Vault.Select a generation section link to open that released revision in the Vault.

View a Released Managed Project

Use the Release View's Vault navigation links to view the released data revisions in the Vaults panel, or simply open the Vaults panel and navigate to the release target folder to access the overall release. Subsequent releases of the project will create a new set of revisions (where the revision numbering is incremented) of the those Items.

In the Vaults panel, navigate to the folder that was defined in the pre-release process to see the released data.In the Vaults panel, navigate to the folder that was defined in the pre-release process to see the released data.

To see the output files released into each data type revision, select the panel's Preview mode. Where a release was derived from a Managed Project, such as in the example shown here, the Vaults panel provides an additional, specialized Project View.

Under the Project View's Structure tab, the view shows an overall graphic representation of the Managed Project and its Released data, including any released project Variants. Use the other tabs, such as the Releases tab, to review further summary information about the project and its releases.

When a Managed Project has been released to the Vault (PROJECT), its subsequent Released data (SOURCES, FABRICATION etc) is shown as a graphic evolution in the Project View. When a Managed Project has been released to the Vault (PROJECT), its subsequent Released data (SOURCES, FABRICATION etc) is shown as a graphic evolution in the Project View.

The above Project View and information is also available through the Vault browser interface – select a project entry under the Projects tab.

– For detailed information on managing a released Item in the Altium Vault, see Working with the Detailed Item View.

Note

The features available depend on your level of Altium Designer Software Subscription.

Content