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 managed content server:
PCB Project Design Item - the snapshot of the design, including all source documents. Released into a separate Item in the server, allowing you to keep your valuable IP aside from the generated fabrication and assembly data needed by external parties to build the product.
PCB Fabrication Data Item - the data set required by the fabrication house for manufacture of the bare board.
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. 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 managed content server 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 managed in a version-controlled Design Repository, but also too, the releases of its data in a similar manner within the target server - robust, safe, secure.
In conjunction with the managed content server, Altium Designer offers the ability to work with an advanced project construct in the form of a Managed Project. Stored within a server-based Design Repository, a managed project harnesses the server'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 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. For more information, see Managed Projects and Releasing a Design.
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 server.
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.
If you're using managed 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 configuration, you determine the action to be taken for each currently defined state, of each currently defined lifecycle definition in the target server; no action, a warning, or generate an error. The latter will prevent 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.
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 managed content server to a shared storage medium, such as Amazon S3, FTP servers, Box.com, or a simple network-based folder. This facilitates easy sharing of server data in a secured way, without providing outside parties access to that server.
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.
The Release view - the user interface to the Project Releaser.
The Project Releaser caters for all types of PCB project - unmanaged/non-version-controlled, under external VCS control, or managed through a managed content server - by offering two modes of operation:
Online Mode - releasing all generated data to revisions of Items in a target managed content server. You don't even have to remember to increment Item Revisions, it is all handled for you.
Offline Mode - releasing all generated data into a folder-based structure, which can be optionally wrapped up in a single Zip file.
With the Release view in Online Mode, the release process is a staged flow, with the entries on the left-hand side of the view showing you at-a-glance, which stage you are currently at:
Configure Server Release - this stage of the release process is where you specify the type(s) of data that you wish to generate (Source Data (always generated), Fabrication Data, Assembly Data (for base design and each detected variant)).
Validate Project - this next stage of the release process is run automatically when one or more Validation-type reports are detected in assigned OutJob file(s). All defined validation output generators, defined in an Output Job file assigned to the data item being released, are run.
Generate Data - this next stage of the release process is run automatically. This is where all other outputs - defined in the OutJob file(s) assigned to the included Data Items - are run, to generate the data to be released into the relevant target items in the server.
Review Data - with all validation checks passed, and output data generated, this stage of the release process allows you to review the generated data.
If you choose to use the Prepare & Releasecommand (from the menu associated to the button), the Project Releaser will not pause at the Review Data stage.
Upload Data - after confirming the release in the previous stage, this next stage is automatically entered. It simply presents progress of data upload into the revisions of the relevant data Items in the target server.
Execution Report - this is the final stage of the process, providing a summary of the release. Navigation links are provided to quickly browse to the generated Item Revisions in the Explorer panel.
If your project currently has no Output Job file(s) associated to it, the Project Releaser will detect this, and you will be asked if you wish to create default ones.
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.
The system naturally prevents any modification of design files between preparing the release and releasing the data to the target server. If you do change design files in any way, the release process will terminate, and you will return to the initial stage, prior to release preparation.
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.
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 managed content server, 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.