Environment Configuration Management
Parent page: Altium NEXUS Server
Give the same design project to 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 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.
Facilitating 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 - the Altium NEXUS Server installation provides the 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 NEXUS 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 interface. The data used and enforced by each configuration - referred to as Configuration Data Items - are sourced from the NEXUS Server. 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 NEXUS as soon as the user signs in to the NEXUS Server. 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.
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:
- Altium NEXUS Preferences
- Outputjob
- Schematic Template
- BOM Template
- Layerstack
- Project Template
- Draftsman Document Template
- Draftsman Sheet Template
Environment Configurations
Related article: Managing Environment Configurations
With revisions of configuration data items defined and released into a NEXUS Server, you now have the fundamental blocks with which to define the environment configurations themselves. Environment configurations are defined from within the Team Configuration Center, accessed through the NEXUS Server's browser 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 Name - a meaningful name, perhaps reflective of the people whose working environment it is to govern.
- Configuration Data - the elemental constraints of the configuration. The revisions of supported data items 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 NEXUS Server's Identity Service. These are the same roles that are defined and used by the NEXUS Server to control access permissions.
Connecting to the Altium NEXUS Server
Related page: Access from within the Design Software
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 NEXUS Server. This is required to:
- Provide access to the Team Configuration Service.
- Provide access to the NEXUS Server.
- 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.
Application of Environment Configurations in Altium NEXUS
Once a user is signed into the NEXUS Server, the configuration service determines the environment configuration to be used for that user, and changes the relevant areas of the Altium NEXUS 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. Choice is made from the Select a configuration dialog.
If the user is also an Administrator for the NEXUS Server, they have the option to Work as administrator. This allows them to work within Altium NEXUS, and with the NEXUS Server, without any restrictions.
If no configuration is available for a user, then their working environment will simply be configured with the latest revision of all released Items that are supported by an environment configuration - as though a default configuration were being applied. If there is at least one released revision of a particular Data Item in the NEXUS Server, then that Item Revision will be used - no local file-based entities (e.g. templates) will be available for use.
Ensuring Environment Configuration Compliance
Related page: Working with the Project Releaser
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 pick up 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 revisions of managed Schematic Template Items can be used by source schematic documents in the design. One or more Schematic Template Item Revisions may be added to the list.
- Which revisions of managed Outputjob Items can be used for generation of outputs from the design. One or more Outputjob Item Revisions may be added to the list.
- Which revision of a managed Altium NEXUS Preferences Item must be used at release time. A single Altium NEXUS Preferences Item Revision may be specified.
- Whether or not all parts used in the design must be sourced from a NEXUS Server.