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:
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.
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:
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.
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.
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. In the following Commit to Version Control dialog, use the button to complete the process.
► See Creating a Managed Project through Altium Designer 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 Designer design environment.
► See Creating a Managed project through the server browser interface for more information.
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 Convert to Managed Project 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 Convert to managed project dialog – select the Advanced link for additional options. The local version of the project is retained as the working copy.
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.
► See Convert an existing non-managed project for more information.
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.
To edit sharing permissions in Altium Designer, select a project entry in the Projects panel or Explorer panel and then choose the Project Permissions option from the right click context menu. Use the following Permissions For – <ProjectName> dialog to configure sharing, 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 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), select the Share option from the menu to access the permissions window.
A Managed Project can be opened from the Altium Designer menu (File » Open Project), from the Altium Designer Explorer panel, or from the Projects page of an Altium server browser interface. In all cases the project files are checked out from the server repository to a local working folder and opened in Altium Designer. You must be signed in to the server with appropriate permissions to access the Managed Project.
In Altium Designer, use the File » Open Project menu command to open the Open Project dialog, where a project can be selected and opened from the server (as selected in the LOCATIONS pane.
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. Note that the panel buttons that link to the server browser interface (Open in Web and Web Review) are not yet functional in this release.
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:
The prerequisites for releasing a PCB design to a managed content server are:
The essentials of these requirements are outlined below.
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.
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.
As the core mechanism for collectively generating manufacturing and assembly files for a board design, Altium Designer Output Jobs offer the following additional capabilities:
► 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.
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's Release View offers an initial setup page that corresponds to the first stage of the release process sequence – Configure Vault 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:
ass, fab) of the available project OutJobs.
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 main Release Options include:
► See the Project Release Options dialog for more information.
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.
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.
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.
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.
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:
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.