托管项目和设计发布
概括而言,项目管理侧重于在整个设计流程期间安全地存储、跟踪变更情况并最终通过生成的设计实现物理项目创建——例如在最终产品中使用的组装PCB。为了满足这些需求,Altium Designer提供一系列的项目管理方法,这些方法的复杂性和功能不断增加,但从工程师的角度来看这也简化了流程。
Altium Designer与版本控制系统(VCS)的整合为良好的设计数据管理提供了主要的机制,同时它严格受管制的输出文件生成则构成了精妙设计数据发布机制的依据。以其最先进的形式,设计数据管理和输出数据生成均侧重于Altium数据保险库的功能。
基于版本控制系统的项目和可用的设计文件管理选项总结如下,按照不断提高的能力排序:
- 在Altium Designer外部托管的外部版本控制系统
独立于Altium Designer、由Tortoise界面等客户端应用管理的SVN或CVS等装机版本控制系统(VCS)。工程师须留出编辑环境,供使用单独客户端应用执行版本控制系统操作。– 欲了解更多信息,参见版本控制与设计中央存储库 - 在Altium Designer内部托管的外部版本控制系统
通过Altium Designer储存管理器面板管理和访问的SVN或CVS等装机版本控制系统。工程师须设置并连接到版本控制系统服务,但然后能在Altium Designer内部执行版本控制系统操作,Altium Designer直接与版本控制系统应用交互。– 欲了解更多信息,参见版本控制与设计中央存储库 - 在Altium Designer中托管的内部版本控制系统(SVN)
通过储存管理器面板访问并管理内置在Altium Designer中的SVN应用。Altium Designer与其内部SVN应用直接配合,尽量减少对用户介入和设置的需求。– 欲了解更多信息,参见版本控制与设计中央存储库以及使用版本控制。 - 管理基于数据保险库或外部中央存储库的Altium数据保险库版本控制系统
通过数据保险库的浏览器界面管理Altium数据保险库及其自身的版本控制系统服务(SVN),并从Altium Designer的储存管理器面板访问。可针对具体用户访问(共享)配置在数据保险库中创建的版本控制系统,并经由Altium Designer自动连接。服务还可以与外部版本控制系统中央存储库相连。– 欲了解更多信息,参见本地版本控制服务。 - 存储高级托管项目的Altium数据保险库版本控制系统中央存储库
Altium数据保险库及其SVN服务储存托管项目,该等托管项目提供经简化的版本控制系统操作以及固有的设计协同功能。根据用户的数据保险库登录证书,通过数据保险库的浏览器界面管理项目并从Altium Designer直接访问。– 参见下文“托管项目概述”。
除了选定用于项目和文件管理的方法外,最终,将从设计域将电路板设计“发布”到制造域,供制造、试验和组装。
在初级水平时,这涉及到生成一套正确提供电路板设计制造和组装所需信息的输出文件。在最先进的水平时,一套预先配置且经验证的生成输出文件(包括设计文件快照)被发布到Altium数据保险库,作为已封装的“项目”版本,而它本身受到生命周期托管版本控制。参见下文“发布一个设计”。
托管项目
结合Altium数据保险库,Altium Designer提供与以托管项目形式架构的高级项目配合的能力。托管项目存储在基于数据保险库的中央存储库内部,它利用数据保险库为小型或大型设计团队提供经改进的集中设计方法的版本控制能力与设计协同能力。
得益于数据保险库服务内置的智能化,版本控制系统操作等任务经简化且实现了自动化,用户访问控制(共享)、注释以及通知等其他设计协同功能则与Altium Designer整合到一起。最终结果将生成稳健且安全的项目存储格式和位置,它们将能够成为协同项目设计的中心点。
管理并与托管项目配合的预备步骤包括:
- 在Altium数据保险库的浏览器界面,在数据保险库中创建一个版本控制系统中央存储库——参见版本控制系统中央存储库。Altium数据保险库提供默认SVN中央存储库(默认中央存储库),可在数据保险库浏览器界面的ADMIN » VCS页面添加新的中央存储库。
- 在Altium Designer中,退出然后返回到数据保险库,自动连接到基于数据保险库的新中央存储库——参见版本控制系统中央存储库。
然后,通过数据保险库界面或在Altium Designer中创建托管项目,或者,可将现有项目转化为托管项目。
创建托管项目
通过标准“新项目”对话框(File » New » Project)在Altium Designer中创建新的托管项目,在对话框中选择“托管项目”选项,指定目标数据保险库/文件夹。与其他全新的版本控制系统项目一样,将向版本控制添加文件,然后须将这些文件提交到版本控制系统中央存储库中——使用项目面板中的“提交整个项目”或者“保存托管项目”命令。
– See Creating a new Managed Project through Altium Designer for more information.
或者,可通过数据保险库浏览器界面中的项目页面直接创建托管项目。使用 按钮打开“添加项目”对话框,在对话框中,将指定托管项目的名称、说明和目标中央存储库/文件夹。这将在数据保险库版本控制系统中央存储库中自动添加并提交项目架构,后续可将其打开并添加到Altium Designer中。
– 欲了解更多信息,参见“从数据保险库的浏览器界面创建全新托管项目”。
转化为托管项目
还可以通过将现有Altium Designer项目转化为托管项目来创建基于数据保险库的托管项目。为此,右键点击项目文件,选择“转化为托管项目”命令。
在此等情况下,打开的项目被添加,然后提交到指定的数据保险库中央存储库,而本地版本则保留作为工作副本。然后,可以与其他数据保险库用户(或者用户角色群组)共享新创建的托管项目,为该项目启动协同设计环境。
– 欲了解更多信息,参见“将项目转化为托管项目”。
共享托管项目
可通过在数据保险库浏览器界面中设置访问许可(包括读/写约束)来与指定的用户单独共享基于数据保险库的托管项目。使用“共享”按钮(() ,访问项目对话框的管理许可,在对话框中,可向数据保险库用户和群组角色授予访问选定项目的权限。在浏览器界面的用户页面定义数据保险库用户和用户角色。
– See Sharing a Managed Project for more information.
Open a Managed Project
A Vault-based Managed Project can be opened from within Altium Designer (File » Open Managed Project), or from the Projects page of the Vault browser interface (access the Project's page with the button, and select the button). In both cases the Managed Project files are checked out from the Vault repository to a local working folder and opened in Altium Designer.
– See Opening a Managed Project for more information.
Releasing a Design
Also in conjunction with the Altium Vault, 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 package of design output files to the Altium Vault as a read-only ‘Item’ revision, which corresponds to a physical item that may be built. The Vault Item revision created by this PCB Design Release process is stored in the Vault’s version controlled repository, is lifecycle managed, and represents a manufacturable snapshot of the PCB design at the time the Release was created.
Design Releases that follow, as the design progresses, are each committed as a new revision of the 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 extracted from the Vault at any time.
A board design that is released or 'committed' to a Vault Item (as a lifecycle-managed Revision) includes:
- A Design snaphot: A time-stamped copy of the core project design files (Schematic, PCB, project file etc).
- Released documents: The output files generated by Output Jobs that have been included with the release (fabrication and assembly files, validation checks, printouts, BOMs etc).
The prerequisites for releasing a PCB design to the Vault are:
- An Altium Vault is installed and accessible – 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).
- The PCB project includes PCB project Configurations – mapped links between the design source data and a targeted release revision in the Vault.
- The PCB Release process is setup with all required elements in place – the project source data is valid and up to date, a target Vault Item Revision is available, etc.
The essentials of these requirements are outlined below.
Output Jobs and Files
The fundamental method of generating design output in 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 Altium Designer’s Output Job Editor, which saves the generator to output mapping configurations to an Output Job File (*.OutJob
) – created via File » New » Output Job File.
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:
- 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) 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 OutJobs 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 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
– See Preparing Multiple Outputs in an OutputJob for more information on Output Jobs.
When releasing a design to the Altium Vault through the Design Release process, any Output Jobs that are included in the design project may be added to the release setup. The Release process in turn is defined by a PCB Project Configuration, which maps specific set of project production data (such as just the bare board or complete assembly variations) and nominated OutJob files to a target Item in the Altium Vault.
PCB Project Configurations
A PCB Project Configuration, in a nutshell, defines a specific collection of design project data for building a particular physical Item in the real world. While this data collection is sourced from a single PCB design project, a Configuration can define a range of different design data collections, such as those required to manufacture a bare (unpopulated) board, an assembled (populated) board or a variation of an assembled board (some components of a different type, or not fitted). Configurations are used by the Design Release process to map the appropriate project source data (including files generated by nominated Output Jobs) to a targeted Item Revision in the Vault.
The defined 'release' Configurations are stored as part of the design project, and are created in the Configuration Manager dialog – Project » Configuration Manager (available when a project document is open). Each Configuration definition can include design Variant information and Output Jobs, and is targeted at a nominated Altium Vault and an Item within that Vault. The Item is analogous to, and will contain the data for, a physical Item that can be built.
Create Configuration overview
Multiple project Configurations can be created in the Configuration Manager and are subsequently available in the PCB design Project Release view, where the selected Configuration will control the process of releasing the design to the Altium Vault.
In the Configuration Manager, create a new release Configuration by nominating the design source options – a configuration name, the desired Output Jobs and a design Variation, if required – and the release target. The right hand panel section represents the target, which must be set to a new 'planned' Item revision in a targeted Altium Vault (see the Target Vault option at the top of the dialog – you need to be signed in to an Altium Vault).
To create a target Vault Item or select an existing one, open the Choose Item from Altium Vault dialog from the Target Item browser button . Select an existing (or create a new) Vault Folder, then in the dialog's Item Revision area, select Create Item from its right-click context menu. Choose a preconfigured Item type that suits the new release Configuration (design, blank or assembly).
The following Create Item dialog includes the properties for the new Item, most of which are preconfigured to suit the selected Item Type – complete the Comment and Description fields to provide useful information about the Item and its revision. Click OK to add the new Item Revision, which will be in a Planned state (until populated with released design data).
The newly created Planned Revision is added to the current Configuration when the Choose Item from Altium Vault dialog is closed. The Target Item in the Configuration Manager indicates the newly selected Item, while the Target Planned Revision for Next Release field shows the new Planned revision of the Item that will be the target for the Configuration release – use the field menu drop down selector to choose an alternative Planned revision, if available.
– See PCB Project Configuration Manager for more information.
– See Vault Items Explained for full information on creating and working with Item Revisions in the Altium Vault.
PCB Project Release View
With a PCB project’s required Output Jobs and release Configurations created, the design is ready to be released as a manufacturable set of design data to an Item Revision in the Altium Vault. Each Configuration definition is able to ‘drive’ the release process to generate a specific collection of board design data that represents a particular physical item (such as a fully assembled PCB).
To access and setup the Design Release process, open the PCB Release View from Altium Designer’s main menu (DXP » Design Releases or View » PCB Release View) or click the button on an editor’s toolbar.
The PCB Release View is arranged with selectable tabs, where each tab corresponds to an available release Configuration, and the release flow is graphically represented as a path from the Design Source to the Target Vault.
The multistage release flow includes sequential processing steps to:
- Checkout Snapshot – A current copy of all design files in the design project are stored in the target Item revision. If the project is under version control in a Design Repository (such as a local or network-based repository, or the Altium Vault), a record of the current version control revision and its repository address is also committed with the release.
- Validate Design – If included in the Configuration’s nominated Output Jobs, all Validation output generators (such as ERC/DRC checks) are run.
- Generate Outputs – All other defined outputs in the assigned Output Job file(s) are run and committed to the target revision, in addition to the
SystemBOM
. These will generate the specific data that determine what particular Item can be manufactured from this release. - Commit Release – The action of committing the generated outputs and validated design documents (the snapshot) into a new revision of the Vault target Item.
Pre-release checks
The PCB Project Release view operates in two sequential modes – the initial Design Mode, and a Release Mode that is enabled when all release conditions are satisfied. Design Mode is a preliminary setup mode, which also allows the Validation and Generate Outputs processes to be run independently of the release process to check their validity. These processes are defined in the Output Jobs nominated by the current Configuration, and will be run again during the final release process.
To run all outputs associated with the Validation or Generate stage, simply click its associated button in the view's release flow area to trigger the process. The view's lower region lists all output files, and displays their details and current status.
If all outputs have been generated successfully (validations show as Passed
and other outputs show as Up To Date
), then they will also run without error in the final Release Mode flow – more detailed results are shown in the Messages panel.
Setting up the flow
The design release process is fully enabled when both the design source data and target Vault Item revision are authenticated – that is, the design documents are saved (and committed to version control, if applicable) and a target revision (in a Planned state) is available.
The state of the release flow is managed through the regions in the view’s main Process Flow graphic, which provides release status information and interactive control over the source data and release target.
In terms of left to right release flow for the currently selected Configuration, the region functions are:
- Design Source region: Provides status information for the currently selected design project. Its main Configuration heading is a link to the Configuration Manager.
If the project is in version control, the region text will show its current VCS status and include hints when action is required. If the project has been locally updated for example, a '..has local changes' status is shown in red (hyperlinked) text, indication that it is out of sync with version control and must to be committed to the VCS repository before continuing. Green text indicates that the project files are ready for the release process.
- Target Vault region: Provides status information for the Item Revision and Vault targeted by the selected Configuration. Its main Item Revision heading is a link to the Vault Item view.
The status here will be 'green and ready' if the design release targets are correct and valid in the selected Configuration. Conversely, if for example the Configuration is not correctly mapped/targeted to a Vault Item Revision (which must be in 'Planned', ready for content, state) then the Target Vault region text will be a red '...not mapped to target item' hyperlink – select the link to open the Configuration Manager dialog and establish a target Item Revision.
When all design release conditions are satisfied, the Release Mode will be enabled in the Process Flow's central Mode region.
Design Release mode
Selecting the now available Release Mode option allows the automated release process to be initiated. Doing so will trigger the sequence of design release steps, under the command of the currently selected Configuration – any error encountered will terminate the process.
Initiate the release by clicking the Commit Release button, which will cause each stage in the flow (Snapshot, Validate, Generate and Commit) to run in sequence. The design Snapshot and Generated data are stored in a temporary folder, and if no errors have been encountered, the files are then committed to the target Item Revision in the Vault – the location of the temporary folder is defined in the Data Management – Vaults page of the Preferences dialog.
A successful design release is followed by the Release Summary dialog which includes details of all files released to the Vault, grouped as Design Snapshot and Released Documents collections.
The main Release View, in turn, will indicate a successful release through the 'green' status of all release stages and the listed output files. Note that in the view's current configuration tab, the Lifecycle state the targeted Item Revision will have changed fom Planned
to New From Design
(or Released
, depending on the Item's assigned lifecycle definition).
To view detailed information for the released Item Revision or manage its Lifecycle state, open the Vault Item view by selecting the revision heading text link in the PCB Release view.
– For detailed information on managing a released Item in the Altium Vault, see Working with the Detailed Item View.