Design Project Release
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 design project release management. The project design release process is automated, enabling you to release your 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 the nominated folder/Zip on your hard drive or 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 design project 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 design project 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.
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.
- 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 design project 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 PCB 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 design manufactured on time, first time.
The prerequisites for releasing a design project to a Workspace are:
- Altium Designer is connected to the Workspace, which hosts the target repository for the release.
- The 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 Outjob(s) 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.
Publishing to a PLM
Related page: 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
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.
Release Mode/Target
The Project Releaser caters for all types of design 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.
Detecting Output Job Files
The fundamental method of generating design output from Altium Designer is through a range of available design Output Generators that produce 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, manufacturing drawings, etc., that are required to fabricate and assemble the 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 files for a 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. For example, choose
[Project]
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.
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
-
Documentation Outputs:
-
Fabrication.OutJob
– with the following outputs defined:-
Documentation Outputs:
PCB Prints
-
Fabrication Outputs:
Gerber Files
,NC Drill Files
, andIPC-2581
-
Validation Outputs:
Design Rules Check
,Footprint Comparison Report
-
Export Outputs:
Save As/Export PCB
-
Documentation Outputs:
These default Output Job files are sourced from the following default installation folder: \Users\Public\Documents\Altium\AD<Version>\OutputJobs
.
Detecting Variants
For PCB projects, 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 [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.
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 PCB 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.
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.
Web Viewer
Related page: Web Viewer (Altium 365 Workspace, Enterprise 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).
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.