Design Project Release in Altium Designer

Now reading version 23. For the latest, read: Design Project Release in Altium Designer for version 25

Once a design is considered ready for flight into the wider world, it needs to be released – a process that can often be underestimated.

Without a regimented and fundamentally-sound release process, tracking an ever-maturing product over time can be fraught with any number of pitfalls. Just imagine needing to go back and release a previous revision of your product, only to find that all required source design files were never included, as a snapshot, with that particular release! That's OK; just get the generated output files from the relevant folder(s) for that release – trusty Gerbers and any additional fabrication and assembly information; that's all that's really needed anyway. But imagine those 'trusty' outputs have been overwritten, or become corrupt somehow. If only the release process were more robust.

Altium Designer answers this call by providing powerful, high-integrity board design release management. The board design release process is automated, enabling you to release your board design projects without the risks associated with manual release procedures. When a particular project is released, a snapshot of the design source is taken and archived along with any generated output – which represents a tangible product that is made from that design project and sold by the company. Release data is stored in revisions of the relevant project-related Item in the target Workspace:

  • Source Data (PCB Project Design Item) – a time-stamped copy (snapshot) of the core project design files, including all source documents. Released into a separate Item in the Workspace, allowing you to keep your valuable IP aside from the generated fabrication and assembly data needed by external parties to build the product.
  • Fabrication Data (PCB Fabrication Data Item) – the data set required by the fabrication house to create the bare board (Gerber files, NC Drill files, etc.)
  • Assembly Data (PCB Assembly Data Item) – the data set required by the assembly house in order to populate the bare board with specified components, in accordance with a Bill of Materials (Pick and Place files, Assembly Drawings, BOMs, etc.). A unique Item is used for the base (fully populated) design and each defined variant for the design (assembled variants).

Generated data from a board design is securely stored in the Workspace within revisions of project-related Items. This high-integrity data is then used by the supply chain to build the required revision of the product.
Generated data from a board design is securely stored in the Workspace within revisions of project-related Items. This high-integrity data is then used by the supply chain to build the required revision of the product.

The overall result is the highest-integrity board design release management possible. Not only is your actual design project tightly monitored, backed-up, and under version control, but also too, the releases of its data in a similar manner within the target Workspace – robust, safe, secure.

In conjunction with a connected Workspace, Altium Designer brings support for projects. Stored under Workspace's native VCS, a project harnesses the Workspace's version control and design collaboration capabilities to provide a refined approach to centralized design for teams of any size. Thanks to the intelligence built in to the Workspace, 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.

Key Benefits

  • Integration with version control. If your project is under version control, then the system requires all files to be checked in and up to date before releasing. This ensures that no "private copy" of an essential design document is ever allowed to sit on an engineer's hard drive – with the potential of becoming lost. This simple rule can save hours down the track in costly searching for the right set of design documents that were used to generate a released product.
  • 'One-shot releasing'. The system only allows you to release once to any given revision of a targeted Item. In fact, a successful release results in committing (storing) the release data in the referenced Item Revision, then closes that revision. No further data can be generated and released into that same revision.
  • Automated and repeatable design release process. One-touch releasing – no manual stages or risks. From taking the snapshot of the design files, through validation, and output generation, there is no interaction. If a part of the process fails, the release fails. Simple as that. And you get to review all generated data before final committal of the release data into the Item Revision in the target Workspace.
  • Ability to validate the design as an integral part of the design release process. The release process works from a 'locked down' snapshot of the design source (including dependencies) and pre-release validation is almost sure to have been performed prior to initiating release. But for additional peace of mind and to ensure the integrity of the design data, you can optionally add validation checks into the release process 'flow', through appropriately-configured Output Job Configurations. Standard ERC checking for the source schematics and DRC checking of the PCB, but also the ability to check that the source project and PCB are in-sync, and comparison of footprints on the board against their source library to ensure they are up-to-date, and matched. The release will fail if any validation checks are not passed successfully.

    When designing with a connected Workspace and using Workspace components in your design, you can add and configure an additional validation check – Component State Checking. This checks for components that are in restricted states. As part of this configuration, you determine the action to be taken for each currently defined state, of each currently defined lifecycle definition in the target Workspace: no action, a warning, or generate an error. The latter will prevent the release of the design. In addition, running the check will generate a handy HTML-based report, allowing you to see at-a-glance which design components are not in valid states.

    You can also include an Environment Configuration Compliance Check. This provides a means to conclusively test and enforce the use of company-authorized data elements in a design. Simply put, if you are not using data items permitted through the environment configuration available for use by your assigned role, the release will fail. This prevents a 'loose cannon' approach to design and ensures adherence to, and compliance with, the working design environments determined centrally at the enterprise level. For more information, see Environment Configuration Management (Altium 365 WorkspaceEnterprise Server Workspace).
    If you're using Workspace components in your design, you can add and configure an additional validation check – Component State Checking. This checks for components that are in restricted states. As part of this configuration, you determine the action to be taken for each currently defined state, of each currently defined lifecycle definition in the target Workspace; no action, a warning, or generate an error. The latter will prevent the release of the design. In addition, running the check will generate a handy HTML-based report, allowing you to see at-a-glance which design components are not in valid states.
    You can also include an Environment Configuration Compliance Check. This provides a means to conclusively test and enforce the use of company-authorized data elements in a design. Simply put, if you are not using data items permitted through the environment configuration available for use by your assigned role, the release will fail. This prevents a 'loose cannon' approach to design and ensures adherence to, and compliance with, the working design environments determined centrally at the enterprise level. For more information, see Environment Configuration Management (for an Altium 365 Workspace or a NEXUS Server Workspace).
  • All generated data files from the design release process can be optionally prefixed with the Item ID and the Item Revision ID, ensuring there can be no ambiguity as to which revision of which Item the data is to be used to build.
  • Publishing. Offering the ability to publish release data directly from a Workspace to a shared storage space, such as Amazon S3, FTP servers, Box.com, or a simple network-based folder. This facilitates easy sharing of Workspace data in a secured way, without providing outside parties access to that Workspace.

The Project Releaser

Altium Designer provides powerful, high-integrity board design release management, courtesy of its Project Releaser. With an intuitive user interface, you are able to generate all manufacturing data for your project simultaneously – fabrication data, assembly data, design source, etc. The Project Releaser also provides the ability to generate the assembly data for multiple detected variants of your board design at the same time. You don't even have to worry if you haven't created Output Job files – it'll do that for you if you ask it to!

With the Project Releaser, you'll be able to generate your manufacturing data with simplified ease, and with the highest integrity. And you'll also be able to survey the fruits of that generation before you commit to finalizing the release (viewing Gerbers/ODB++ data in the CAM Editor for example), ensuring that the data you have generated is exactly the data required to get your board manufactured on time, first time.

The prerequisites for releasing a PCB design to a Workspace are:

  • Altium Designer is connected to the Workspace, 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 Workspace, etc.

Accessing the Project Releaser

The release process itself is performed using Altium Designer's Project Releaser, the user interface to which is provided courtesy of a dedicated view – the Release view. It can be accessed by:

  • Choosing the Project » Project Releaser command from the main menus (with a source document for the required project open as the active document).
  • Right-clicking on the entry for the required project, in the Projects panel, and choosing the Project Releaser command from the context menu.

The Release view – the user interface to the Project Releaser.
The Release view – the user interface to the Project Releaser.

Publishing to a PLM

Related content: PLM Integration (Altium 365 Workspace, Enterprise Server Workspace)

If you have an activated process for publishing to a PLM instance as part of the Project Releaser, then this will be presented on the Project Releaser sub-menu for the project. Starting that process will add an additional stage to the view for doing just that.

The Publish to PLM (User selects) sample process definition is available with your Workspace – part of the Project Activities process theme – to perform this standard publishing (i.e. not publishing as part of the Project Releaser, as described previously). This process allows publication of released project outputs to the integrated PLM instance, but with the user able to select exactly which outputs get published. The workflow diagram is shown below.

The workflow diagram of the default Publish to PLM (User selects) sample process definition
The workflow diagram of the default Publish to PLM (User selects) sample process definition

This process definition cannot be activated and used as is. It is therefore more like a 'template' – edit to suit your company's requirements, name, and save as a new process definition, which you can then activate and use. For more information, see Creating & Managing Processes (Altium 365 Workspace, Enterprise Server Workspace)

Standard publish to PLM processes can be accessed from within Altium Designer from the Project » Project Activities sub-menu for the active project.

Accessing an activated process for standard publishing of a Workspace project's released data to a PLM instance, from within Altium Designer.
Accessing an activated process for standard publishing of a Workspace project's released data to a PLM instance, from within Altium Designer.

Also accessible from the Project Activities context sub-menu, accessed by right-clicking on the entry for the design project in the Projects panel.
From the Workspace's browser interface, the activated process definition can be accessed from the Projects page of the interface. Select the required project, then click the  button.

The Release view – the user interface to the Project Releaser. Hover over the image to see the appearance when you have invoked a process to release and then publish to an integrated PLM instance.
The Release view – the user interface to the Project Releaser. Hover over the image to see the appearance when you have invoked a process to release and then publish to an integrated PLM instance.

Publishing to a PLM

Related content: PLM Integration (Altium 365 Workspace, NEXUS Server Workspace)

If you have an activated process for publishing to a PLM instance as part of the Project Releaser, then this will be presented on the Project Releaser sub-menu for the project. Starting that process will add an additional stage to the view for doing just that.

The Publish to PLM (User selects) sample process definition is available with your Workspace – part of the Project Activities process theme – to perform this standard publishing (i.e. not publishing as part of the Project Releaser, as described previously). This process allows publication of released project outputs to the integrated PLM instance, but with the user able to select exactly which outputs get published. The workflow diagram is shown below.

The workflow diagram of the default Publish to PLM (User selects) sample process definition
The workflow diagram of the default Publish to PLM (User selects) sample process definition

This process definition cannot be activated and used as is. It is therefore more like a 'template' – edit to suit your company's requirements, name, and save as a new process definition, which you can then activate and use.

Standard publish to PLM processes can be accessed from within Altium NEXUS from the Project » Project Activities sub-menu for the active project.

Accessing an activated process for standard publishing of a Workspace project's released data to a PLM instance, from within Altium NEXUS.
Accessing an activated process for standard publishing of a Workspace project's released data to a PLM instance, from within Altium NEXUS.

Also accessible from the Project Activities context sub-menu, accessed by right-clicking on the entry for the design project in the Projects panel.
From the Workspace's browser interface, the activated process definition can be accessed from the Projects page of the interface. Select the required project, then click the  button.

Release Mode/Target

The Project Releaser caters for all types of PCB projects – local/non-version-controlled, under external VCS control, or under the native version control of a connected Workspace – by offering two modes of operation:

  • Managed (Online) Mode – releasing all generated data to revisions of Items in a target Workspace. You don't even have to remember to increment Item Revisions, it is all handled for you. And if you have a process defined for releasing to a PLM instance through the Project Releaser, starting that process will add an additional stage to the view for doing just that.
  • Unmanaged (Offline) Mode – releasing all generated data into a folder-based structure, which can be optionally wrapped up in a single Zip file.

The Project Releaser attempts to detect which release mode to use and the target of the release, automatically. Where a choice can exist, typically where the project has been released to one Workspace, and you are actively connected to another, the system will provide the options available to you.

When releasing to a Workspace, the target Workspace is stored as an attribute in the PCB project file. So you can have a target Workspace stored with the project that can be different from the Workspace to which you are actively connected.
If you have a project that is local and not under VCS, then Offline mode of releasing will be entered automatically.

Detecting Output Job 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.

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 of 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.

If your project currently has no Output Job file(s) associated with it, the Project Releaser will detect this, and you will be asked if you wish to add default ones. If you opt to do so, the following will be created:

  • Assembly.OutJob – with the following outputs defined:
    • Documentation Outputs: PCB 3D Print, Schematic Prints
    • Assembly Outputs: Generates pick and place files, Assembly Drawings
    • Report Outputs: Bill of Materials
    • Export Outputs: Export STEP
  • Fabrication.OutJob – with the following outputs defined:
    • Documentation Outputs: PCB Prints
    • Fabrication Outputs: Gerber Files, NC Drill Files, and IPC-2581
    • Validation Outputs: Design Rules Check, Footprint Comparison Report
    • Export Outputs: Save As/Export PCB

These default Output Job files are sourced from the following default installation folder: \Users\Public\Documents\Altium\AD<Version>\OutputJobs.

You can run with the default files as they are, massage them to suit your needs, and even add additional Output Job files. Define the Outjobs as required within the default folder, or your own custom folder location. If using your own folder, specify that location using the OutputJob Path field, on the System – Default Locations page of the Preferences dialog. All Output Job files found in the specified location will be added to the project.
If you have at least one OutJob file defined for the project, this auto creation will not be offered.

Detecting Variants

A very powerful aspect of the Project Releaser is that it will detect defined variants for your design and create Assembly Data sets for each, ready for release. Each Assembly Data set will appear with (default) target item naming in the form:

PCBA-[ProjectName]-[VariantName]

The Data set for the base (non-varied) design will be PCBA-[ProjectName]-[NO VARIATIONS].

The [VariantName] suffix ensures that the correct variant is being used when generating data from the assigned OutJob file(s).

Additional Assembly Data sets created based on detection of variants defined for the design.
Additional Assembly Data sets created based on detection of variants defined for the design.

The Release Process

The release process is a staged flow, with the entries on the left-hand side of the Release view showing you, at-a-glance, which stage you are currently at.

To learn more about the release process for the Online release mode, refer to the Releasing to a Workspace page. To learn more about specific of the Offline release mode, refer to the Releasing Locally page.

Publication of Released Data

Related page: Working with Publishing Destinations

For released data generated from a board design project (PCB Fabrication Data, PCB Assembly Data, and PCB Project Design Items only), you have the ability to directly publish that data from your Workspace, or Output Job, to a storage space, such as Box.com, Amazon S3, an FTP server, or a simple folder location on a shared network. In terms of distribution and collaboration, this provides an unparalleled advantage in a world where the collective members of the overall 'product team' – the design team, the manufacturing team and all others involved in the process of getting a product from thought to reality – are often dispersed around the globe.

Publishing is a matter of defining a Publishing Destination and then uploading the released data for the required Item Revision to that destination. From the manufacturing plant in China, to the design teams in Kiev, Stanstead Abbotts, and San Diego, and to the Project Director in-flight somewhere across the Pacific, everyone that needs to know about the new release can be invited with a link to the published folder – shared (and controlled) access to view, discuss, and utilize the data with which to build the Item.

Publish your released data to a storage space and share information between team members across the globe.
Publish your released data to a storage space and share information between team members across the globe.

Why not take advantage of superior sharing of release data – through defined Manufacturing Packages – facilitated by the Altium 365 platform's Manufacturing Package Viewer (see the next section).

Global Sharing of Manufacturing Package Data

A key aspect of design projects stored in an Altium 365 Workspace is the ability to create and share a release Build Package with others. When shared directly with your manufacturer, it can then be thought of as a Manufacturing Package, since it is the package that the manufacturer can browse, download and use to fabricate and assemble the board.

Supporting the ability to share such a package with others, and with your manufacturer (who is typically outside of your organization), the Altium 365 Platform provides a dedicated Manufacturing Package Viewer – an element of the platform's Global Sharing support – which allows others to view a manufacturing package from any web browser – anywhere in the world – but outside of your Workspace, so that your designs themselves, and other valuable IP, are kept off limits.

Each shared user will receive an email invite with a link to view a manufacturing package through the Manufacturing Package Viewer. Shared manufacturing packages are presented on the Shared with Me page of the browser-based Altium 365 Platform Interface.

The Manufacturing Package Viewer itself allows key stakeholders – and primarily the manufacturing personnel – to see a summary overview of the design, with key board data, along with the ability to browse the structure of the source, fabrication and assembly data (and to download any individual file thereof as needed). Fabrication, Assembly and BOM data sub-pages of the viewer are also provided, with the Fabrication page presenting a Gerber Viewer and allowing for comments to be added by all users whom the package has been shared with.

Ultimately, the manufacturing personnel can download a Build Package of the release they have viewed – and from any page of the Viewer – with which to get that revision of the board physically realized.

A manufacturing package that has been shared with you can be accessed from the Shared with Me page. The person with whom you shared the manufacturing package will receive an email invite to access that package through Altium 365. Once they click the  button in the email they will be taken to the Altium 365 Sign In page (unless already signed in to the platform, or their AltiumLive account). Upon signing in, they will be taken to the Manufacturing Package Viewer, with the package loaded. If the person does not have an AltiumLive account, they will need to register for one first – a link is provided on the Altium 365 Sign In page.

Web Viewer

Related pages: Web Viewer (Altium 365 Workspace, Enterprise Server Workspace)

Related page: Web Viewer (of an Altium 365 Workspace or a NEXUS Server Workspace)

Workspace's Web Viewer interface provides universal access to PCB project documents through a standard web browser. Much more than just a web-based viewer, Web Viewer's advanced browser technology allows users to navigate through the project structure, interact with design documents, extract information about elements in the design and highlight areas or objects for commenting notes.

When viewing documents the visual quality of schematics and PCBs are not compromised by its web format, which also provides full pan and zoom capabilities and the ability to search, cross-probe, select and inspect components and nets throughout the design.

Workspace's Web Viewer interface provides an immersive and interactive experience for reviewing, for example, the source schematic and PCB documents in your design project. Shown here is a schematic in Altium 365's Web Viewer interface – hover over the image to see the PCB (in 3D).
Workspace's Web Viewer interface provides an immersive and interactive experience for reviewing, for example, the source schematic and PCB documents in your design project. Shown here is a schematic in Altium 365's Web Viewer interface – hover over the image to see the PCB (in 3D).

Workspace's Web Viewer interface provides an immersive and interactive experience for reviewing, for example, the source schematic and PCB documents in your design project. Shown here is a schematic – hover over the image to see the PCB (in 3D).
Workspace's Web Viewer interface provides an immersive and interactive experience for reviewing, for example, the source schematic and PCB documents in your design project. Shown here is a schematic – hover over the image to see the PCB (in 3D).

As an independent browser-based viewing platform, the Web Viewer interface offers interactive read-only access to design documents without the need to open the project in the design editing environment. Others that are working on the design, such as the engineer who 'owns' it, will not be affected by actions in the Web Viewer space – except for any related comment notifications.

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