Exploring Altium Designer's Project Releaser Webinar
What is the Altium Project Releaser?
The Project Releaser is a single-click automation of manufacturing output generation built on top of Altium Designer’s Output Job functionality to render complete release packages to a file folder structure, zip file or Altium Vault®/NEXUS® managed server.
Once the Project Releaser is initiated, if Output Job files are not included in the project, the user can elect to have default OutJob files created. Next, the Releaser notifies the user of the need to save any unsaved changed files before proceeding. For VCS or Vault/NEXUS managed projects, the Releaser also requires committing any uncommitted changes before proceeding.
If any validation checks fail (i.e. ERC, DRC or footprint comparison), the user will be notified of the failure and the release process will terminate. Any variants in the project are detected, and their outputs are packaged in individually named folders. Once release data generation is complete, the user is provided with a single panel for reviewing all outputs in their respective viewers to provide an extra level of QA before packing the complete release package in its final form. While Altium provides a default structure for project release built on extensive customer research, the Releaser is completely configurable by the user.
By leveraging the portable nature of Output Job files along with Project Templates, a consistent, single-click Project Releaser based process can be rapidly deployed across groups, teams and organizations.
Key Webinar Highlights about Project Releaser
I briefly discussed some of the primary release process goals that support first pass manufacturing success and other downstream product development objectives. Then, I provided an overview of Altium Designer’s Project Releaser, followed by a demonstration, summary and Q&A session (listed below).
Key Release Process Goals
When it’s time to release your project, it’s essential to ensure that all required design aspects such as assembly, BOM and related documentation are conveyed accurately, completely and consistently. Some key release process goals include:
- Convey all aspects (including variants) of the design
- Provide consistent data output from validated input
- Make it simple - minimally impact designers
- Support maintainability and post-release engineering
- Be rapidly deployable across teams
The alternative to regularly using a simple, but formal release process is to risk expensive manufacturing re-spins, time-consuming rework or defects that can make it into the field.
Overview of Key Project Releaser Capabilities
- Easy, one-click release package generation
- Detects design variants and packages each in a unique folder
- Automatic validation of design inputs before release generation
- Supports all Altium project types - unmanaged, VCS, Vault/NEXUS
- Flexible output options - folder structure, ZIP or Vault/NEXUS managed project
- Rapidly deployable - attributes stored in OutJob and project templates
Questions and Answers about Project Releaser
Q: What is the difference between the Project Packager and the Project Releaser?
A: The Project Releaser is a single-click method to generate a release package by orchestrating validation checks, output generators and more. In contrast, the Project Packager copies selected project files into a ZIP file as a means to take a snapshot of the project. While this ZIP file can include outputs that have been generated, the Project Packager is primarily a means to condense desired project files into a single ZIP file.
Q: How do you configure output job files and how do you deal with project by project settings in Output Job files, such as naming output files, layers, drawings, Gerber units, etc.?
A: Portable in nature, Output Jobs can be re-used between designs by copying the OutJob file from one project to the next one, then resetting the data source as required. In some cases it may be necessary to adjust the Gerber layer configuration if the layer stackup is different between projects. For additional information on Output Job data sources, please see the “Adding Outputs to an OutJob” section of this Altium online documentation.
Q: Is the Project Releaser flexible enough to ZIP Fabrication and Assembly data separately?
A: Project Releaser packs all released data to a folder structure that is organized into fabrication and assembly subfolders. To generate fabrication and assembly zip files separately, currently, it would be necessary to manually ZIP the respective folder.
Q: How is the Project Releaser option saved? Is it part of the project file, or a separate file that can be managed and updated separately?
A: The Project Releaser configuration is stored in the project file.
Q: Can you make the Output Job files you used during the demonstration available?
A: Sure, two were used during the demonstration, one for fabrication aspects and one for assembly aspects.
Q: Where can I get more documentation on using the Project Releaser with NEXUS and managed projects?
Q: Can you export Project Releaser settings and then import into another project?
A: The Project Releaser configuration is stored in the project file. There is no need to export settings, but new projects can be created from Project Templates that contain the desired settings for the Project Releaser. Check out this whitepaper Enhancing Your Design Efficiency with Project Templates for additional information.
Q: Can you create a Project Releaser template? Can it be set up so all designs from multiple designers use it?
A: You can define Project Templates that include the desired settings for the Project Releaser. Project templates are a powerful way to leverage uniform project starting points across your team or organization. Layer stackups, board outlines, project settings, Output Job files, Project Releaser configurations and more can be inherited by a new project upon creation. Check out this whitepaper Enhancing Your Design Efficiency with Project Templates for additional information.
Q: Is Project Releaser completely independent of Altium Vault/NEXUS?
A: Yes, while releasing to a Vault/NEXUS server provides additional enterprise-level capability, Project Releaser can be used with any Altium PCB project type and can package release data into a local or networked folder structure or ZIP file.
Q: When archiving files, will the project releaser archive all files in the project? We often include Excel calculators and SPICE simulation files in our projects and would like to include these files in the release package.
A: Yes, this is supported. Just set up the desired Output Job to be used by the Project Releaser. To include non-native files, or in fact any file, OutJobs provide a specific PostProcess Outputs category. A PostProcess Output behaves as a file copy mechanism and can be configured to locate and map files to the Container for eventual inclusion in the Project Release process. Please see Support for Non-Native Design Files as Part of Release for additional information.
Q: When releasing using output job files, I get asked to update files such as PCB and Draftsman® during the process. The process stops and forces me to be by the machine throughout the entire process. Is there a way for me to click GO and just walk away and let the Project Releaser do its job?
A: We are evaluating ways to improve this behavior.
Q: Is there an easy way to increment a version number in the file name of the files generated by the Project Releaser? For example, if my current project is project-001, how do I change all the filenames for all the release documents to project-002?
A: There is not auto-increment capability included. Versioning is best accommodated by using a managed environment.
Q: Can the Project Releaser delete some generated files (drill report file, Status Report.txt, etc.) automatically before packing the release in its final form?
A: Currently, to the degree supported by the outputter, the only way to suppress specific files from inclusion in the release package is to configure the specific outputter in the OutJob file.
Q: Can you setup Project Parameter fields into the Output Path or Zip Path names? (e.g. [ProjectName], [CustomParam], etc.)? Is there documentation on using parameters in Output Jobs and the Project Releaser to format file names and release packages with specific naming schemes?
A: Yes, please see the “Setting up Folder Structure” section of Folder Structure Settings for naming outputter files. For Project Releaser output folders you can use [ProjectName], [<VariantParameterName>], [<ProjectParameterName>] entries when defining the output path required. Please see Working with the Project Releaser for additional detail.
The Altium Project Releaser is a simple, single-click solution to a very important element of the product development process. It helps designers minimize the tedium that is typically part of the release process, while assuring that releases are consistent, complete, and repeatable. The result is additional time for more important design activities leading to greater designer efficiency. The formal process embraced by the Releaser can be rapidly deployed and supports first pass manufacturing success by helping to ensure that incorrect data is not forwarded to processes downstream from design. For information on how to start using the Altium Project Release today, Board Design Release and Working with the Project Releaser documentation at Altium.com is a great starting point.