The Enterprise Server Workspace can be hooked up to one or more PLM instances, with direct support for Windchill®, Arena®, Oracle® Agile™, Aras Innovator®, and Siemens Teamcenter® (with additional license and setup). The interface configuration is performed through the PLM Integration page of the Workspace browser interface, which provides an automated interface for easily configuring the interconnection, mapping parameter data, and specifying the direction of data synchronization. With the interface set up and working, features and functionality are provided when working in the following distinct areas:
-
Library (components) – catering for the uni- or bi-directional synchronization of your components, component parameters, and part choices, between your Workspace and your PLM instance. The configuration interface allows you to specify which parameters are mastered in which system. In addition, parameter mapping allows you to update properties on the Workspace side (configurable per field), without having to formally release a new revision of that Component Item. A dedicated PLM Part Request workflow is also available that supports the automatic creation of a Component in your PLM instance, and also the propagation of generated PLM part numbers back to components in Workspace.
-
Design (projects) – a dedicated PLM Project Creation workflow is available that supports the automatic creation of part numbers in your PLM instance, and then propagation of these as parameters of the Altium Designer project. Such parameters can be used in special strings (e.g., for sheet border annotations). You have the ability to publish your design to your PLM instance, as part of running the Project Releaser in the Altium Designer. The PLM publishing operation uses a publishing template – defined as part of the PLM instance integration configuration – to control how data should be propagated to the PLM. And if you're publishing for the first time and part numbers (on the PLM side) are not yet associated with the project, those part numbers will be created in the PLM and associated with the project as part of that initial publication. You also have the ability to define component entries for Workspace library components in the PLM instance, as part of the publishing operation (optional, based on configuration). And you'll always be able to see exactly what has been created, such as part numbers in the PLM instance, as part of the process workflow's history (History tab).
PLM Support
The Enterprise Server Workspace provides direct support for the following PLM systems:
-
PTC Windchill® PLM version 12, 13, and PTC Windchill+ (Windchill's SaaS variant).
-
Arena® PLM.
-
Oracle® Agile™ PLM.
-
Aras Innovator® Release 30.
Additional Setup for Aras Innovator
To achieve PLM integration with Aras Innovator, your Altium server needs to be registered with the Aras Authentication setup by adding a new node section to its client registry. Once registered, a unique OAuth token is granted for your connected server to authenticate access.
The required changes to the Aras Innovator configuration are made by editing its OAuth client registry file:
-
On the Aras host machine, open the
\OAuthServer\OAuth.config
file for editing.
-
Locate and copy the IOMApp section – from the line
<clientRegistry id="IOMApp" enabled="true">
to the line </clientRegistry>
.
-
Paste the copied IOMApp section immediately after to create a new (duplicated) section.
-
In this new node section, rename
IOMApp
to NEXUS
– resulting in <clientRegistry id="NEXUS" enabled="true">
. View example.
-
Save and then restart the Aras machine.
In situations where it is not possible to connect between the Enterprise Server Workspace and a company enterprise system, component data exported from that system may be imported into the Workspace using its supplied
CSV Import command line tool.
Choice of PLM Setup Interface
The Altium Enterprise Server's connection to a supported PLM system can be established through an advanced semi-automated user interface, as detailed below, or by using a manual process based on editing PLM configuration XML files. The latter requires knowledge of the target PLM system data structures and familiarity with the XML format, while the updated system presented below automatically pulls in the required data from the PLM and Altium Workspace to populate menu choices in the interface.
You can reconfigure the Workplace to present the previous PLM interface – based on the manual editing of XML files – by unchecking the Enable new PLM Configuration page option in the Admin – Settings – PLM Integration page of the Workspace interface. Make sure you save the change, and then sign out and back in again.
► See the previous version of this page for detailed information on configuring PLM XML files and working with the older PLM interface.
Note that only one type of the PLM interface should be used (old or new). Do not edit a PLM Instance/Configuration that was created by a different version of the interface.
Connecting to Your PLM Instance
PLM Configurations are created and managed in the Admin – PLM Integration page of the Workspace browser interface. When you have successfully connected to the PLM system the configuration interface will provide a range of integration options based on data drawn in from both the Workspace and the connected PLM.
A Workspace PLM Integration instance accesses the PLM system’s REST API service, which must be enabled and available.
Use the button to begin the connection process and proceed as outlined in the below slideshow.
❯ ❮
Javascript ID: AES_PLM_AddNewConfiguration_7_0
|
Click to open the Add Configuration page to create a new, or add another, PLM configuration instance.
Enter a unique Name/Description for the new configuration, select the correct PLM type from the Driver dropdown menu, and (for this Aras example) a specific working database if applicable. Enter your Username/Password credentials for the PLM system and then click to proceed.
A successful PLM connection is confirmed under the Server Connection heading, and the Workspace will then populate the interface with parametric data options sourced from both the Workspace component data and PLM attribute data.
Once loaded, the interface presents the imported parametric and type data as selectable menu or field options.
|
Any connectivity errors will be highlighted in red when signing into the target PLM system. The lower border of the highlight box will include the error details – view example.
PTC Windchill SSO Support
The ability to use Single Sign On (SSO) authorization when connecting to a Windchill PLM system is available and is set up through the Workspace interface. This provides a simplified and secure connection authorization method when performing Workspace PLM processes such as Project Creation and Publish to PLM. In practice, the arrangement allows Windchill access to be granted using the OAuth delegation standard via an identity provider service such as PingFederate.
Access to the SSO setup is available under the OAuth tab in the Workspace PLM Integration page (Admin - PLM Integration), where multiple OAuth provider instances can be added.
The OAuth provider authorization setup is completed from data available from your configured identity provider. Enter a name and the information required by the Workspace – IDs, tokens, URLs, etc – in the page fields. and then save the completed configuration.
The information required to set up a new SSO OAuth instance is sourced from the existing OAuth provider configuration.
The new OAuth Provider instance becomes available when the OAuth Connection option is enabled in a Windchill PLM configuration. Select from the OAuth Provider dropdown list where multiple providers are available. Complete the connection setup with the button and follow the provider's prompts if required.
The first time you use the new setup during a Workspace process such as Publish to PLM, your nominated OAuth provider will open to authorize the connection. Once this validation has been completed, subsequent PLM publishing will not require this step.
Third Party PLM Support
The Altium Enterprise Server provides additional support for 'non-native' PLM systems configurations developed by third parties. This support is enabled by Altium's Generic Connector, which requires the Altium PLM Generic Connector Addon license.
When adding a Workspace PLM Instance for such a system, pre-configured XML files provided by the third-party are uploaded to that PLM Instance configuration through the PLM Integration interface. An example of this is Duro PLM support in the Enterprise Server.
Contact
sales.na@altium.com or your Altium Account Manager to request access to the Altium PLM Generic Connector Addon license.
Configuration Setup
After a successful connection to a PLM instance, the Workspace PLM interface offers configuration settings for defining how component synchronization is performed, the inter-mapping of component parameters, and the transfer approach used for Part Choices data. These synchronization options are available under the Configuration tab of the interface.
The configuration setting options available to you (and their labels/functionality) are determined by the type of PLM system, and the parametric data drawn from both the Workspace and the connected PLM instance.
Sync Parameters
This PLM interface section defines which component types will be synchronized, where and how new components are to be created/updated, and any constraints based on parameter criteria.
How components are synchronized is specified individually:
-
Select an Altium Component Type in the parameter list and set its Sync Direction option as needed (To Altium/PLM or both) – the component type options are sourced from the current Workspace component data.
-
Choose a related PLM attribute name from the PLM Type menu – the available options are sourced from the connected PLM instance.
-
In the Altium Target Folder field (under Sync to Altium) browse to and select a Workspace component folder as the synchronization location for this component.
-
Specify a Sync Mode to determine if new components will be created during synchronization, or only existing components are updated – or both.
-
Set the Component Template that will be used to define component parameter types when synchronizing this component. This setting will default to the selected Altium Component Type (for example;
Capacitors
) if an associated Workspace template is available.
-
Use the Add Parameter Criteria option to specify a parameter value that synchronization will be constrained by. A component will not be synchronized unless it satisfies this criterion. Add further parameter criteria as needed.
Additional options are available when connected to a PTC Windchill PLM that support Windchill's PartsLInk system. The PartsLink system allows parts to be classified in groups for more convenient and faster targeting, and can include associated Attribute/Value pairs to provide further definition within that Classification. See the collapsible section below for more information.
-
Select the Add Classification Name Criteria from the Filter Criteria menu to add a classification filter. Use the name menu to choose a classification group the synchronization will be filtered by.
-
For finer control, select the Add Classification Attribute Criteria option and specify a classification's Attribute and its associated Value. In the example shown here, only Capacitors from the
102-Capcitors
class with a Capacitance
value of 10uF
will be synchronized.
More on Windchill PartsLink
Within Windchill itself, a PartsLink Classification is defined by creating a binding attribute that can be applied to a part type. A part Classification Attribute is then added to a defined Classification class.
Component entries in Windchill will incorporate their defined Classification and any specified Classification Attribute parameters, which in turn are available to the Workspace PLM component sync process.
When a component entry is synchronized from Windchill to the Workspace and PartsLink interaction has been specified in the Workspace's PLM configuration, Windchill's Configuration Attributes for that part will propagate to Altium Designer.
When Sync Direction is set as To PLM
or for bi-directional synchronization (To PLM & To Altium
) an Add Filter Criteria option is presented under Sync To PLM. Use this option to set Parameter or Folder criteria that will control which Workspace components are propagated to the PLM system.
Multiple Parameter criteria can be added to tightly constrain the synchronization of Workspace components to PLM. The available criteria also include OR and NOT clause options for establishing more precise control over the filtering of accepted components for synchronization to PLM.
Note that an additional PLM Target Folder field is presented for a connected Windchill PLM instance, which allows you to specify a PLM system location where Workspace components will propagate to during synchronization.
The Sync to PLM section provides additional part numbering and prefix/suffix options when targeting an Arena PLM system. These predefined PLM schemes are made available for selection in the Numbering Scheme and Code menus, and will determine the Item Number format of parts uploaded to Arena.
Component Parameter Mapping
Continue the same process as above to specify the sync parameter configuration for all components that you wish to synchronize with PLM. Since component parameters on the Workspace side do not necessarily match those on the PLM side, the Component Parameter Mapping interface section can be used to map parameters between the two. Note that when parameters are mapped, their value will be synchronized from one to the other as if they are the same parameter.
Use the section's Add Parameter command to create an entry for mapping a Workspace/PLM parameter that applies to the currently selected Altium Component Type (as selected under Sync Parameters). The PLM and Altium Parameter Name options are those available in the respective systems. A Revision
setting in the Item/Revision column causes a new component revision to be created when the parameter has changed, whereas with the Item
setting only the component parameter will be updated during synchronization.
Use the associated icon to remove a mapping entry.
Any number of parameters can be mapped in this way, however there is likely to be a range of common Workspace/PLM parameters that need to be mapped for all components. This global mapping approach is available when All Types
is selected as the Altium Component Type.
Create mapping entries (Add Parameter) that will apply to all components by including known common parameter matches. and set the Item/Revision and Sync Direction options as required. It is also important to specify a mapped parameter entry as the Primary Key – this is a common parameter pair that serves as the reference index between the two sets of parametric data. When this is a PLM Part Number (recommended), the number created on the PLM side is propagated back to the Altium side creating a known reference link between the sets of synchronized component data.
PLM Classification Attributes
For a connected PTC Windchill PLM, which supports component grouping as Classifications, the related PLM attributes and values can be mapped to Workspace component parameters in this section.
To extract a specific Classification Attribute value from Windchill – for example the capacitance value for Capacitors in the 102-Capacitor
class – add the Classification and its Value (Capacitance
) as the PLM Parameter Name and the target Altium component parameter (Value
) as the Altium Parameter Name. Definitions can be added for all Component Types, including multiple definitions for the same component type.
► See the above PartsLink information for more on Windchill Classifications.
Part Choices
Use the Sync Direction dropdown menu to specify in which direction manufacturer Part Choices data will synchronize between the Workspace and PLM system, or disable Part Choices synchronization with the OFF
option.
Depending on the connected PLM type, the Part Choice information option will offer synchronization in a format that is compatible with the PLM's own approved manufacturing parts (Native PLM Manufacturer Parts
) or as conventional component parameter data (PLM Part Attributes
). The latter can be multiple sets of Manufacturer:PartNumber parameter attributes – MFR1:MPN1
, MFR2:MPN2
, for example.
When Part Choice data is imported into a Workspace library component it will not duplicate or replace an existing Part Choice that has been manually entered. It will be added as a new, additional Part Choice for that component – which will be updated by subsequent synchronization runs.
Native PLM Part Choice Data
Set the Part Choice Information menu to the Native PLM Manufacturer Parts option to synchronize Altium Part Choice information with the connected PLM’s 'native' (or built-in) part sourcing data. An example of this relationship is Manufacturer Parts in Windchill.
Part sourcing information in Arena is primarily held as Vendor parameters, with a secondary (indirect) relationship of Manufacturer parameters. The Enterprise Server’s PLM interface caters for this by providing the choice of synchronizing with Arena using a direct or indirect part sourcing relationship.
When specifying Part Choices options in your Arena configuration, the Part Choice Information drop-down menu options are:
-
Native PLM Manufacturer Parts: Direct Source Relationship – Choose this option to target Altium Part Choice data to Arena's Vendor sourcing relationship data. This is the previous default condition, so any existing
ToPLM
synchronization events will have targeted the Vendor relationship.
-
Native PLM Manufacturer Parts: Indirect Source Relationship – Choose this option to target Altium Part Choice data to Arena's Manufacturer sourcing relationship data. Altium Part manufacturer data will then correlate to manufacturer data entries on the PLM side.
-
PLM Part Attributes – As outlined above, choose this option to set up 'non-native' Part Choice synchronization based on conventional component parameter data formed by sets of
Manufacturer:PartNumber
attributes, which are selected using the associated Attribute Definitions.
Teamcenter PLM integration inherently supports the bidirectional synchronization of manufacturer Part Choices between the Enterprise Server and the Teamcenter PLM instance. Component Part Choice data (Manufacturer Part Number
and Manufacturer
) on the Altium side can be directly synchronized with 'native' Manufacturer Part and Vendor parameters on the Teamcenter side, which are available when Teamcenter's Vendor Management features are enabled.
Note that the above functionality is correctly enabled when the Enterprise Server is using the latest Teamcenter configuration files, which are available in the PLMClientConfigurationFiles.zip
file that can be downloaded from the server’s PLM interface (Download Teamcenter EDA client definition files). The included CustomEDACallbacks.jar
and altiumLibrary_edadef.xml
files must be added (or re-applied) in the %TCEDAECAD_ROOT%
directory in both the Enterprise Server and Altium Designer machines.
► See Configure the EDA client for part library management in the Teamcenter setup page for more information.
Project Configuration XML
This section provides a listing of the base XML configuration that defines the initial PLM configuration for the connected PLM system. The downloaded version of this base setup XML (Download Sample Configuration) includes detailed comments that highlight the function of most Entity and Attribute sections.
Ultimately the configuration setup you define in the PLM Integration interface is stored as system XML files, which can be saved locally from the Export Configuration command associated with the Server Connection details at the top of the configuration page.
An Import Configuration option is also included, which allows you to apply an existing configuration XML file to a new (or edited) PLM configuration which will then duplicate that PLM setup. Also, for the situation when specialized changes need to be made to an existing PLM configuration, its exported XML file would be manually edited and then imported back into the configuration.
Publish Template Addition
The PLM configuration requires the addition of an XML-based Publishing Template to support Workspace processes that send full project data – design files, component and manufacturing output data – to the PLM system in a single 'publish' action. These processes include Publish to PLM, where the user specifies the output data to be sent, and Project Releaser with Publish which sends the generated data to PLM as the final step in Altium Designer's Project Release process.
Add a suitable Publishing Template XML file under the Publish Template tab when creating or editing your PLM configuration. Use the Sample Project Configurations link to download an archived collection of templates for supported PLM systems.
A Publishing Template includes references for project details, component data transfer, data source locations, and file distributions of Design, Assembly and Fabrication data. The downloaded examples include templates for all supported PLMs, where each will include any additional Publishing Rules that apply to that specific PLM type and detailed comments to help guide you in what to configure, and how.
Publishing Folder Support for Windchill PLM
When configuring a Windchill® PLM Integration instance that will be used for Publish to PLM processes, you also can specify (and create) a target Windchill folder for documents published from the Workspace.
The related Windchill folder parameters are defined in the Publishing Template XML file that is applied to your Windchill PLM integration entry in the Workspace (see above). Folder definition nodes are in the tag format <pt:Folder>xxx</pt:Folder>
– where pt
is the current namespace and xxx
is the full folder path – and are placed as a publishing rule within the FileDistribution
section for each document type (such as a PCB.zip
Fabrication output for example).
An example of the Publishing XML structure hierarchy would be:
<pt:EntityRule id="FAB">
<pt:FileDistributions>
<pt:FileDistribution archiveName="PCB.zip">
<pt:Folder>PRODUCT/Projects/${project.name}/FAB data</pt:Folder>
The last entry line would specify (or create) a publishing target folder for the PCB.zip
Fabrication output with the Windchill folder structure (where the project's name is MyProject
):
PRODUCT
Projects
MyProject
FAB data
Note that the folder path defined in the Publishing XML file is absolute (rather than relative), and can include other project properties such as the project Name (${project.name}
) and Assembly Number (${project.PLM_ASSEMBLY_NUMBER}
).
Also note that capability to create a target folder is supported for Windchill REST API services 1.3 and higher. For older REST versions the specified target folder path must exist, but cannot be created.
Modify an example XLM template as required and upload the file to your PLM configuration via the Add Publish Template window, opened from the button. Note that a PLM configuration supports multiple Publish Templates.
The supplied Publishing Templates include comments that will help you configure how the Enterprise Server's project data will be published to the connected PLM system. When you have accessed and selected a suitable template, use the comment information to update the XML file to suit your PLM requirements and then upload (or re-upload) it to the PLM configuration.
Component Synchronization
The synchronization of component data between your Altium 365 Workspace and the connected PLM system is determined by the enabled parameter mapping and direction outlined above, and will occur when the sync process is triggered manually or automatically at a scheduled time. The synchronization process itself is driven by a built-in LibSync
process Workflow.
Within a PLM configuration instance, the related synchronization options are accessed under the Component Synchronization tab, where the process can be manually triggered or set to a schedule. For the latter, enable the Synchronize on a schedule option and select a time interval from the associated dropdown menu.
You can use the menu options to manually trigger a LibSync
process as either an Incremental or Full synchronization event:
-
Incremental – applies only those components that have been modified since the last synchronization was run (that is, their timestamp is later than the last synchronization date), and that pass the synchronization criteria in the configuration. Note that this is the mode used when a synchronization event is triggered from the control on the main PLM Integration page – see below.
-
Full – this mode forces a full synchronization. All components that pass the synchronization criteria in the configuration will be included.
Performing Component Synchronization
Component (library) synchronization can be performed as a manual process from a PLM instance entry on the Workspace PLM Integration page, or as an automated cycle specified in the instance setup – see above. Click the control associated with the PLM instance to manually invoke the synchronization process, which will proceed through the LibSync
workflow using the settings defined in the associated PLM configuration.
The Actions control will change to , allowing you to stop the synchronization process if necessary, and the Sync Status entry will indicate that a process is underway. The Status will change to Completed
when the synchronization process has finished.
When component synchronization is run, either manually or as a timed event, the LibSync
process moves through its predefined Workflow until it completes or encounters an error. You can refresh the browser (F5) to show the current state of the sync process.
To access details of a completed sync event, click the icon in the Last Sync column to download the related log file (view example), or select the associated date to open the event entry in the Synchronization Status tab. Note that in this view, completed sync events are listed when the Closed option is selected, and any running or suspended events appear when the Active view mode is selected.
The Status view’s sub-tabs provide the following information:
-
Diagram – a graphic representing the process workflow, with its current step position highlighted (Competed or the error/failure state).
-
Data – an information summary of the process action, including the success or failure of its steps and a link to the logged process report – view example.
-
History – a time log of the main Workspace synchronization events listed in sequence.
Any sync events that have prematurely stopped, such as when an error was encountered, will be listed when the view is in Active mode. These entries can be removed from the list with the Terminate control (), or more correctly, assessed and resolved from the associated Task tile created in the Workspace Tasks view. Note that a terminated/resolved sync event will be moved to the Synchronization Status view's Closed list with an indicative Status, such as Failed
.
Use the button to download a detailed record of all listed synchronization activities in a comma-delimited CSV file format (Synchronisation status.csv
). The file's activity contents will apply to the currently selected view mode – Active or Closed.
Accessing PLM-related Processes
Sample Process workflows that relate to a connected PLM system are available under the process theme tabs on the Workspace Processes page. In general, the samples cannot be used directly, but must be resaved under a different name to become active.
► See the Processes & Workflow documentation for more information.
A Workspace Administrator can start a new instance of any activated process definition directly from the processes listing on the Processes page by clicking the control. Non-administrator Workspace users also can initiate active Processes from the Workspace, such as:
In practice however, the PLM-related processes are usually invoked from Altium Designer during project design and development. The PLM-related processes are accessed from Altium Designer in the following ways:
-
Part Request with PLM Part Create – Accessed from Altium Designer's Explorer, Manufacturer Part Search and Components panels.
► See Process-based Part Requests for detailed information.
-
Publish to PLM (User selects) – Accessed from the Project » Project Activities sub-menu for the active Altium Designer project.
► See Publishing to a PLM – user-selects for detailed information.
-
Project Releaser with Publish – Accessed as the final Project Releaser stage from the Project » Project Releaser sub-menu for the active Altium Designer project.
► See Design Project Release – publishing to PLM for detailed information.
-
Project with initialise in PLM – Accessed when creating a new Altium Designer project from the File » New » Project in <Workspace> sub-menu, or when Cloning a project.
► See Publishing to a PLM – initialize in PLM for detailed information.
Process Workflows
The following process definitions (and underlying workflows) are available through the Workspace, in support of PLM integration:
These process definitions cannot be activated and used as is. Each of these is therefore more like a 'template' – edit to suit your company's requirements, name, and save as a new process definition, which you can then activate and use, along with all other definitions in the respective process theme.
-
Part Requests process theme:
-
Part Request with PLM Part Create
– supporting the automatic creation of a Component in your PLM instance, and then propagation of the generated part number back to the component in the Workspace. The workflow diagram is shown below.
One important thing to note is that when you modify this sample definition to create your own, you must specify the PLM instance into which parts are to be created. Select the Create Part in PLM entity in the workflow diagram and choose the PLM instance from the drop-down menu associated with the PLM Instance field. This menu lists all currently defined PLM instances (as defined on the PLM Integration page of the interface).
► See Creating and Managing Processes for more information on working with process workflows.
-
Project Activities process theme:
-
Publish to PLM (User selects)
– publish of released Workspace project outputs to the integrated PLM instance, where the user is able to select exactly which outputs get published. The workflow diagram is shown below.
-
Project Releaser with Publish
– publish to the integrated PLM instance as an additional stage of the Project Releaser. The workflow diagram is shown below.
-
Project Creations process theme: