Centralized Environment Configuration Management
Contents
Give the same design project to a a variety of designers, and their resulting efforts will undoubtedly differ in various ways, shapes and forms. After all, each designer brings to the table their own set of design traits, level of experience and working preferences. But while the extent of these different approaches may sit fine when all are placed in offices and labs across different companies and product disciplines, the visibility of such differences becomes more than a blip on the radar when they are working for the same design team within the same organization.
What is needed is enterprise-level enforcement of a designer's work environment, to ensure that they are following the required standards expected by that organization for design, documentation and production. Altium provides an elegant solution to this through provision of its Team Configuration Center.
Team Configuration Center
The role of the Team Configuration Center is simplicity itself – to give the organization centralized control over the environment its designers operate in. It achieves this through the definition and management of Environment Configurations. These are used to constrain each designer's Altium Designer working environment to only use company-ratified design elements, including schematic templates, output job configuration files, and workspace preferences. In other words, it facilitates Centralized Environment Configuration Management.
Any number of environment configurations may be defined through the center's dedicated browser-based interface. The data used and enforced by each configuration – referred to as Configuration Data Items – are sourced from an Altium Vault Server (or dedicated vault bundled with a standalone installation of the Team Configuration Center). And by associating each environment configuration with a specific user role, and in turn assigning users to those roles, the correct working environment is loaded into Altium Designer as soon as the user logs in to the Altium DXP App Server, more eloquently termed the Enterprise Environment. Using this role-based approach ensures that a designer always gets the setup they are entitled to, no matter whether they have their own PC, or are sharing a single PC with fellow designers.
The following image provides a graphical overview of the concept of Centralized Environment Configuration Management.
Installation
Main article: Installing & Licensing the Team Configuration Center
An Enterprise Environment based on the Team Configuration Center forces users to apply Altium Designer licenses from a local Altium Private License Server. This in turn maps the Altium Designer sign-in process to the Team Configuration Center so the appropriate user configuration can be applied.
See the Connecting to the 'Enterprise Environment' section below and its main article link for more information.
Installation of the Team Configuration Center is performed using a single dedicated installer, catering for the following slightly different needs:
- To install the Team Configuration Center functionality on top of an already-established installation of the Altium Vault Server. Since the DXP App Server and Altium Vault Server are already installed on the target computer, the installer simply plugs the configuration management service into the DXP App Server platform.
- To install a standalone instance of the Team Configuration Center. This will install the core DXP App Server platform and related services (Identity Service, Search Service), the Team Configuration Center service, and a dedicated Altium Vault that is usable only for the data items applicable to environment configuration management (schematic templates, output jobs, and Altium Designer preferences).
Configuration Data Items
Main article: Configuration Data Items
Before you can delve into creation and definition of environment configurations, you need to first define the required configuration data items – the constituent elements of the configurations. These are the design elements that the user – whose assigned role(s) determine the configuration(s) available – is permitted to use. In other words, a configuration defines and enforces the set of configuration data items available to the user. Currently, the following types of item can be used with environment configurations:
- Schematic Templates
- Output Job Configuration Files
- Altium Designer Preferences
Environment Configurations
Main article: Creating and Managing Environment Configurations
With configuration data items defined and released into an Altium Vault Server (or saved to the dedicated vault as part of a standalone installation), you now have the fundamental blocks with which to define the environment configurations themselves. Environment configurations are defined from within the Team Configuration Center, through its browser-based interface.
The interface allows for an administrator to craft one or more environment configurations, depending on the needs of the organization. Each configuration requires the definition of:
- Configuration Data – the elemental constraints of the configuration. The Schematic Templates, Output Job files and Altium Designer Preferences that can be validly used by a user targeted by the configuration.
- Target Roles – specification of whom the environment configuration applies to. Roles themselves are simply groupings of users, defined and stored as part of the Altium DXP App Server's Identity Service. These are the same roles that are defined and used by the Altium Vault Server to control access permissions.
The interface can be accessed through an external Web Browser, or directly from within Altium Designer.
- External Web Browser – simply use a preferred external Web Browser and type the address for your organization's Altium Vault Server (or dedicated vault as part of a standalone installation) in the format
http://<ComputerName>:<PortNumber>
orhttp://localhost:<PortNumber>
(e.g.http://jhowiehome:9780
, orhttp://localhost:9780
). This gets you to the sign-in page for the Altium DXP App Server. Once signed in, you will be presented with the User Management page. Switch to the Team Configuration Center's interface by clicking on the Team Configuration Center header.
- Altium Designer – simply use the Team Configuration Center sub-view, available under the main Vault view of the Home page (View » Home).
Connecting to the 'Enterprise Environment'
Main article: Connecting to an Enterprise Environment
In order to facilitate environment configuration management, and to enforce environment configurations applicable to each and every user in an organization, based on their assigned role(s), each user needs to be signed in to the Altium DXP App Server. This is required to:
- Provide access to the Team Configuration Center.
- Provide access to the Altium Vault Server (or the dedicated vault as part of a standalone installation).
- Enable the Identity Service to recognize who you are and what role(s) you have been assigned to. The correct environment configuration(s) can then be applied. This becomes especially important in working environments where shared computers are the norm.
While the act of signing-in is, technically speaking, signing-in to the Altium DXP App Server – responsible for providing these various services – at a higher conceptual level, this can be viewed as connecting to the Enterprise Environment. In other words, connecting into services provided at the organizational, or 'enterprise' level.
Application of Environment Configurations in Altium Designer
Once a user is signed into the enterprise environment (the Altium DXP App Server), the application of any environment configuration relevant for the role to which that user is assigned, depends on the existence of an installed Team Configuration Center:
- Team Configuration Center installed – the Center determines the environment configuration to be used for that user, and changes the relevant areas of the Altium Designer environment to enforce the permitted data elements of that configuration. If the user is assigned to several roles, and multiple environment configurations can apply, the user will be given the choice of which environment configuration to be applied when they sign-in.
- Team Configuration Center not installed – no configuration management is enforced and the Altium Designer working environment can be defined in a totally manual fashion.
Altium Designer uses the configuration data items specified in the applied environment configuration to configure the relevant areas of the application environment. For information on how a configuration data item is used within Altium Designer as part of environment configuration, follow the applicable link below:
- Reusing a Managed Schematic Template Item
- Reusing a Managed Output Job Item
- Reusing a Managed Altium Designer Preferences Item
Ensuring Environment Configuration Compliance
When it comes time to release a board design project, the process involved ensures the highest integrity for the design data and, more importantly, the generated manufacturing data which the Supply Chain will ultimately use to turn your design labor into physical reality. As part of the release process validation checks can be inserted to ensure, for example, that electrical and design rules are checked and are being adhered to. After all, stringent validation can pickup any missed issues that can lead to costly re-spins.
As part of this validation stage in the release process, you can also include an Environment Configuration Compliance Check. This provides a means to conclusively test and enforce the use of company-authorized data elements in a design – simply put, if you are not using data items permitted through the environment configuration available for use by your assigned role, the release will fail. This prevents a 'loose cannon' approach to design, and ensures adherence to, and compliance with, the working design environments determined centrally at the enterprise level.
Add an output generator of this type from the Validation Outputs section of the OutJob file. Configuration of the conditions of the check is performed in the Environment configuration compliance setup dialog. These conditions determine:
- Which managed Schematic Template Items can be used by source schematic documents in the design. One or more Schematic Template Items may be added to the list.
- Which managed Output Job Items can be used for generation of outputs from the design. One or more Output Job Items may be added to the list.
- Which managed Altium Designer Preferences Item must be used at release time. A single Altium Designer Preferences Item may be specified.
- Whether or not all parts used in the design must be sourced from an Altium Vault.