Managed Projects and Releasing a Design

Now reading version 19.1. For the latest, read: Managed Projects and Releasing a Design for version 21
 

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.

The Altium Designer 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 an Altium managed content server.

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 Subversion (SVN) or Git 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. Internal VCS, managed in Altium Designer
    The VCS applications that are built in to Altium Designer (Subversion and Git) are accessed through the Projects and Storage Manager panels. Altium Designer works directly with its internal VCS application, minimizing the need for user intervention and setup. SVN type repositories may be created from within Altium Designer.
    See Version Control and Design Repositories and Using Version Control for more information.
  3. An Altium managed content server hosting advanced Managed Projects
    A managed content server and its internal VCS service host Managed Projects, which offer simplified VCS operations, inherent design collaboration capabilities and Lifecycle management. Projects are managed through the server browser interface or Explorer panel, and can be accessed directly from Altium Designer, based on a user's server login credentials. A Managed Project is accessed from the Altium Designer Explorer , Projects or Storage Manager panels.
    See the Managed Projects overview, below.

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 a managed content server as a packaged 'item' revision, which is itself under lifecycle-managed version control. See Releasing a Design, below.

Managed Projects

In conjunction with a managed content server, Altium Designer offers the ability to work with an advanced project construct in the form of a Managed Project. Stored in a repository within the server, a Managed Project harnesses the server's version control, lifecycle management and design collaboration capabilities to provide a refined approach to centralized design.

Thanks to the intelligence built in to the services provided by a managed content server, 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 requirements for managing and working with Managed Projects are:

  1. Access to an Altium managed content server that offers suitable User accounts and appropriate access permissions.
    ► See Controlling Access to Server Content
  2. Altium Designer is signed in to the managed content server.
    ► See Accessing a Server from Altium Designer

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

The VCS repositories hosted by a managed content server are automatically available as target repositories in Altium Designer when the user has signed into that server. Connected repositories may be reviewed in the Altium Designer Data Management – Design Repositories page of the Preferences dialog.

Create a Managed Project

Prior to creating a new Managed Project, or converting an existing non-managed project, ensure that a Design Repository exists in which to store that project, and all future projects. Design Repositories are centrally managed as part of the Altium Server, through its local Version Control service. A new installation of the Altium Server provides a single Git-based design repository – Versioned Storage – for accommodating all of your managed design projects. If you have upgraded your Server from Altium NEXUS Server 1.0 (or Altium Vault 3.0), then use of SVN repositories will also be enabled, so that you can continue to use your previous (and established) design flow. In this case, you can continue to create repositories through the local Version Control service (SVN-only), or connect to external repositories (SVN or Git).

A new Managed Project is created in Altium Designer via the Create Project dialog (File » New » Project), where the managed content server is selecting as a target in the dialog's LOCATIONS pane.

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

The new project will be created locally under version control, opened in the Projects panel, and then must be committed and pushed to the server design repository. To do so, right-click on the project in the Projects panel and choose the Commit Project command or the Version Control » Commit Whole Project command, or select File » Commit Project from the main menu. In the Commit to Version Control dialog that follows, use the  button to complete the process.

► See Creating a Managed Project through Altium NEXUS for more information.

 
 
 
 
 

Via a Workflow Process

If NEXUS is connected to a managed content server that has project creation workflow processes activated, these are directly available from an additional New » Project in <server> menu. The processes might be to specify a customized format for a new Managed Project or for creating a corresponding structure in a PLM instance that corresponds with the new Managed Project.

► See Creating & Managing Processes for more information on Workflow Processes.

When a Project with initialize in PLM process is used for example, a new Managed Project is created in the server and a related set of release structure items are generated in the PLM instance. The new PLM items are assigned PLM part numbers that are subsequently passed back to the server as PLMPartNumber parameters.

► See Publishing to a PLM for information on using PLM processes in the design environment.
► See PLM Integration for information on configuring a PLM instance in a NEXUS server.

Via the Server's Browser Interface

Alternatively, a Managed Project can be created directly through the Projects page in the server's 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 server's VCS repository, which can be subsequently opened and added to in the Altium Designer design environment.

► See Creating a Managed project through the server browser interface for more information.

Alternatively, a Managed Project can be created directly through the Projects page in the server's 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 server's VCS repository, which can be subsequently opened and added to in the Altium NEXUS design environment.

 
 
 
 
 
If there are any active process definitions available for the Project Creations process theme – defined on the Project Creations tab of the Processes page of the server's browser interface – then this button will appear as . Click to access and choose the required process. The corresponding workflow for the chosen process will then be invoked.

► See Creating a Managed project through the server browser interface for more information.

Convert to a Managed Project

A Managed Project can also be created by converting an existing Altium Designer project. To do so, right click on the project file in the Projects panel and select the Make Project Available on Server command. Note that you need to be signed in to a managed content server to access the command.

Set the Managed Project options (name, paths etc) in the Make Available on Server dialog – select the Advanced link for additional options. The local version of the project is retained as the working copy.

If an Altium Designer project has previously been under version control, the Make Project Available on Server conversion process will attempt to remove/replace VCS data from the project files. This will ensure that a  new, clean (Git-based) Managed Project is created.

The newly created Managed Project can then be shared with other managed content server Team members (or user Role groups) to enable a collaborative design environment for that project.

 
 
 
 
 

If at least one process definition for the Project Creations process theme is active – on the Project Creations tab of the Processes page of the NEXUS Server's browser interface – the Make Project Available on Server command itself will not be available in the NEXUS design client.

Instead, a Convert to Managed Project menu entry presents a sub-menu that offers those active process definitions from which to choose. The corresponding workflow for the selected process will then be invoked.

► See Convert an existing non-managed project for more information.

Share a Managed Project

A Managed Project can be individually shared with specified Users or Group roles by setting its access permissions (including write restrictions) in Altium Designer or via an Altium server browser interface.

A Managed Project can be individually shared with specified Users or Group roles by setting its access permissions (including write restrictions) in the Altium NEXUS design client, or via an Altium server browser interface.

To edit sharing permissions in Altium Designer, select a project entry in the Projects panel or Explorer panel and then choose the Share option from the right click context menu. Use the following Share For – <ProjectName> dialog to configure sharing permissions, where server Users and Group roles can be added to grant access to the selected project – or removed to deny access. Users and Roles are defined in the Team section of the server browser interface (Administrator rights required).

In the Projects page of the server browser interface, use the Share button ( ) to change access permissions for the selected project. The following Manage Permissions window allows access to be granted through the addition of Users and Group roles, where each entry may have Write privileges enabled (Can Write checkbox). Note that the default Anyone entry refers to all registered server Users (the entire Team), and can be removed by clicking its associated X icon.

Users and Roles are defined in the Team section of the server browser interface (Administrator rights required).

If projects are displayed in the default preview style view (switched to with the button), the Share option is also available from a project cell's ellipsis icon menu.

► See Sharing a Managed Project for more information.

In the Server browser interface, share the desired project by selecting its Share button ( ) in the Projects folder to open the Manage Permissions window, where Users and Group roles can be added to grant access. If the project is currently open in the browser interface (see below), you can select the Share option from the menu to access the permissions window. Note that the default Anyone entry refers to all registered server Users (the entire Team), and can be removed by clicking its associated X icon.

Users and Roles are defined in the Team section of the server browser interface (Administrator rights required).

► See Sharing a Managed Project for more information.

Open a Managed Project

A Managed Project can be opened in Altium Designer from the main menu (File » Open Project) or from the Altium Designer Explorer panel. In both cases the project files are checked out from the server repository to a local working folder and opened in Altium Designer.

In Altium Designer, use the File » Open Project menu command to access the Open Project dialog, where a project can be selected and opened from the currently connected server (as selected in the LOCATIONS pane. You must be signed in to the server with appropriate permissions to access Managed Projects.

Opening a Manged Project through the Altium Designer Open Project command.Opening a Manged Project through the Altium Designer Open Project command.

In the Altium Designer Explorer panel, select the Managed Project in the folder tree and use the  button (top right) to open the project in Altium Designer.

Opening a Managed Project through the Altium Designer Explorer panel. Opening a Managed Project through the Altium Designer Explorer panel.

Note that the button opens the project in the server's browser-based Web Review interface.

► See Web Review for more information.

► See Opening a Managed Project in Altium Designer for more information.

 Opening a Managed Project through the Altium NEXUS Explorer panel. Opening a Managed Project through the Altium NEXUS Explorer panel.

In the server browser interface, open the project from the Projects list (by selecting the project's name or its  button) and then use the  button to open the Managed Project in the NEXUS design client.

Above: Opening a Manged project through the server browser interface (opens in Altium Designer).Above: Opening a Manged project through the server browser interface (opens in Altium Designer).

► See Opening a Managed Project for more information.

An Altium Designer user must be signed in to the Altium managed content server to access a Managed Project, and the project sharing permissions must set to allow access for that user – see Share a Managed Project above.

Releasing a Design

Also in conjunction with an Altium managed content server, 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 set of design output files to the server as read-only ‘Item’ revisions, which collectively corresponds to a physical entity that may be manufactured. The Item revisions created by this Project Release process are stored in the server’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 automatically 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 managed content server at any time.

A board design that is released or 'committed' to the server-based 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 specified folder or ZIP archive file on the local machine. If the current project is not a Managed Project or you are not signed in to the Altium server, 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 a managed content server are:

  • Altium Designer is signed in to the Altium server, which hosts 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 sourced by the Release process has all required elements in place – the source data is valid and up to date, the user has sufficient rights to release that project to the server, etc.

The essentials of these requirements are outlined below.

Output Jobs and Files

The fundamental method of generating design output from 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 the Output Job Editor, which saves the generator to output mapping configurations in an Output Job file (*.OutJob) – created via the File » New » Output Job File command.

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 an Altium managed content server 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 (data containers) in the server's repository.

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 managed content server. 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 Working with the Project Releaser for more detailed information.

To access and setup the Project Releaser, open its Release view from the Altium Designer 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 an Altium server, or a local folder/zip. The Project Releaser is an automated process that works through a sequence of checks and output file generation stages targeted at an Altium server, or a local folder/zip.

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

 
 
 
 
 

If the managed content server targeted for the release has an activated Project Releaser with Publish process, then this will appear as an additional, final stage in the Project Releaser – typically named Publish to PLM.

This step will push the released project data to the registered PLM instance, which then generates PLM part numbers for each created PLM item and sends the data back to NEXUS as accessible PlmPartNumber parameters.

► See Working with the Project Releaser for more information on its Publish to PLM stage.
► See Publishing to a PLM for information on using PLM processes in the design environment.
► See PLM Integration for information on configuring a PLM instance in the NEXUS server.

The Project Releaser's Release View offers an initial setup page that corresponds to the first stage of the release process sequence – Configure Server Release. This includes a range of release data sections that represent the type of outputs that will be generated and released to the server, 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 (server connection status, Managed or Local project type). In this instance, the Managed Project data will be released using online mode.

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 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 an online Altium manged content server or local folder (offline mode) target for the release.
  • Output Jobs – within each listed section (Source Data, Fabrication Data etc), select which of the available OutJobs (and their constituent output generators) will be used in the release. Note that the release Sections are simply predefined data division names that can include the data generated by any selected OutJob..
  • Item Naming tab – set the name of the Items that will be created in the server, or browse to and choose (or create) an existing server Item that will be targeted by the release.
    • Settings – view or edit the base naming templates for the data Revisions that will be released to the server.

► See the Project Release Options dialog for more information.

A number of Project Release preference options (such the temporary file storage location) are available in the Data Management – Servers page of the Altium Designer Preferences .

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 locations will be accessible. During this part of the process, the Releaser will also create the release target Item Revisions in the Altium managed content server. 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 server.

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

At this stage the generated data can be reviewed in the Release view. For the data collection of interest, select the Details link option to expand a full report of the files generated for that section, and use the Explore link to open the (temporary) folder that contains the generated files. Alternatively, use the View link to open the listed entry in its native editor/viewer.

Release to the Managed Content Server

Assuming all is well with the prepared release, the generated data can be uploaded to the managed content server release target that was initialized 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 tree and navigation links (top) to the data collection revisions in the server.

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

 
 
 
 
 

An additional Publish to PLM stage may be available if its corresponding process has been activated in the NEXUS server. See Project Releaser – Publishing to PLM for more information.

View a Released Managed Project

Use the Release report's navigation links to access the released data revisions in the Altium Designer Explorer panel, or simply open the Explorer panel (View » Panels » Explorer) 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.

Note that the Explorer panel offers two view styles when a Managed Project has been released: the detailed Classic View or the tab-based Project View.

In the Explorer panel, navigate to the folder that was defined in the pre-release process to see the released data, in either View styleIn the Explorer panel, navigate to the folder that was defined in the pre-release process to see the released data, in either View style

The button opens the project in the server's browser-based Web Review interface.

In the Explorer panel, navigate to the folder that was defined in the pre-release process to see the released data, in either View style. In the Explorer panel, navigate to the folder that was defined in the pre-release process to see the released data, in either View style.

The button opens the project's Detailed View in the NEXUS Server browser interface, while the button opens the project in the server's browser-based Web Review interface.

Under the Project View's Releases tab, every release of the project is presented, with the latest release at the top of the list. Each entry on the left shows a snapshot of the date/time of release, along with what packages are included in the release. Use the Search field to quickly find a specific release (very useful if you have released the project many times). With the revision selected, the following sub-tabs are presented:

  • Details – a graphical representation of how the generated data links together, all under the umbrella of the parent design project. Click a link to access that Item-Revision within the Server, on the Explorer page of the browser interface. Also included is the date and time of the release, by whom it was released, and the VCS revision.
  • Parameters – a listing of parameters that are defined at the project level, within Altium Designer (through the Parameters tab of the Project Options dialog), along with system-generated parameters specific to that release.
  • Part List – a simple listing of all managed components in the released design, in terms of the following information:
    • Name
    • Item ID
    • Description
    • Designator
    • Quantity
    • Revision Status

Note that the list shows all parts used in the released design, irrespective of variant assembly packages generated. In other words, the list is not filtered by variant.

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

  • Activities – a listing of all active or closed (completed) Process Workflow activities, such as Part Requests, that relate to the currently signed-in User.

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

The above Project View and information is also available through a managed content server web browser interface – select a project entry under the Projects tab. For more information on accessing and managing project data released to a managed content server see:
Browsing Server Content
Browser-based Lifecycle Management
The above Project View and information is also available through a managed content server web browser interface – select a project entry under the Projects tab. For more information on accessing and managing project data released to a managed content server see:
Browsing Server Content
Browser-based Lifecycle Management
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content