Parent page: Altium Concord Pro
Altium Concord Pro facilitates the uni- or bi-directional synchronization of component data with your enterprise systems. A configuration file allows you to specify the direction of synchronization and therefore which parameters are mastered in which system. Component data synchronization between Concord Pro and the target enterprise system uses a built-in synchronization process, which may be manually triggered or set as a timed repeating event.
Altium Concord Pro provides direct support for the following enterprise systems:
- PTC Windchill® PLM (11.0 M030)
- Arena® PLM
- Oracle® Agile™ PLM
Altium Concord Pro provides indirect support for other enterprise systems (PLM, PDM, ERP, etc) through the use of a CSV Component database importer tool (see CSV Uploader below), which is used with CSV files generated by an enterprise system.
For the supported systems listed above, the PLM interface configuration is performed through Concord Pro's browser interface, with the connection setup and parameter mapping defined within an XML-based configuration file (uploaded to the server).
When the synchronization process first adds a component's data in the target system, the generated item number is passed back to the component in Concord Pro as a
PlmPartNumber parameter. This acts as the key parameter when synchronizing data between Concord Pro and the enterprise system instance. In addition, the configuration can be arranged so that item parameters/attributes on the enterprise system side will update properties in the Concord Pro server (configurable per field), without having to formally release a new revision of that Component Item. See Direct System Support below for detailed information.
In situations where an enterprise system is not supported by Altium Concord Pro, a CSV file exported or generated by that system can be used as an intermediate component data source for Concord Pro's CSV Component database importer tool, included as part of the Concord Pro installation. Implemented as a configurable batch (
*.bat) file, the desktop tool imports component data from a target spreadsheet file (
*.csv) into the server as determined by existing server templates or a dedicated configuration file.
The command line tool can be found in the
\Program Files (x86)\Altium\Altium Concord Pro\Tools\CSVImport folder of the Concord Pro installation. See the
csv-import.bat for information on the command line syntax used with the tool, or simply execute the batch file without attributes for more detailed information.
When used without applying a configuration file (option
–c) the CSV Uploader tool process will attempt to match the target CSV filename (say,
Resistors.csv) with a server Component Template that supports that Component Type (
Resistors). The found Template will determine the Revision, Lifecycle and Default Folder (server target) for the imported data. Note that the minimum data required for the source CSV file is the
PART_NUMBER parameter column and its matching Values.
The csv-import utility tool provides general progress information in the console window as it runs, and can also produce a log file as specified by the command syntax (
-l). If component manufacturer part parameters are present in the CSV file (by default;
MFR_NAME), matching Part Choice entries are created in the server.
The optional log file provides details of a successful import process.
If the process fails a log file is not generated, however more information on the cause of a failed execution might be found in the Concord Pro log files, such as those in the
C:\ProgramData\Altium\ConcordProData\logs\EIS\ops server folder – example.
Multiple Manufacturer Part Choices
The manufacturer part data for CSV component entries are sourced from their
MFR_PART_NUMBER column values, which are ultimately processed as Part Choices for the imported server components.
The CSV Importer also accommodates multiple sets of manufacture part data for a given component through a repeated structure in the source CSV file, where additional component entries are included for each manufacturer part data variation. For example, if a source component
CSV-RES-1001 has three related part numbers, then three CSV entries for that component are included where each specifies different
MFR_PART_NUMBER column data (one from
Vishay Dale and two from
When this component data is imported to the server, a single component item is created for part
CSV-RES-1001, but with multiple Part Choices entries derived from the additional CSV data references.
The tool’s more advanced mode uses an XML configuration file to specify file-to-server parameter mapping for the import process. For the example shown here this might be, say, mapping the source
Value parameter to
Resistance in the server, and the
Format parameter to
To obtain a base configuration file that can be modified to suit, run the tool with the generate configuration file setting (
-g). This will create the specified XML file with parameter key/value pairs extracted from the source CSV file, and the Revision Naming, Lifecycle and target folder settings from the matched Template. For example:
csv-import.bat -s http://TOP:9780 -u admin -p admin -g MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\CSVImport\Resistors.csv.
► Example of generated configuration file
Edit the Attribute Values in the
ToAltium section of the
MyConfig.xml configuration file (for the
Resistors entity) to map as required.
For the example shown here, the related Attributes would be changed from:
The configuration file is then used with the tool (option
–c) to perform the required mapping:
csv-import.bat -s http://TOP:9780 -u admin -p admin -c MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\CSVImport\Resistors.csv
- An applied configuration file determines all settings for the import process, including parameter mappings, independently of related server Templates.
- All parameters may be mapped to accommodate the input CSV file parameters, including what name is used in the file for PLM Number and the part manufacturer data.
- Multiple Entity definitions, including their constituent parameter Attributes, can be included in a configuration file. Copy an existing Entity group entry, say for
Resistors, and then paste/edit this to create another for
- When a source path is specified without a CSV file, the tool will search the source folder for CSV filenames that match Entity definitions in the configuration file. So if configuration Entity references exist for
Resistors and matching CSV files are found, the data for those components will be imported into the server. This is effectively the tool's batch operation mode.
- If the source CSV file uses a particular filename structure that does not match the standard server Component Types (
Capacitors, etc), this can be allowed for by mapping the PLM class in the configuration file. For example if the source file is
PLM-Export_Resistor.csv, the PLM class entry
plmType=”Resistors” can be changed to
► To view and manage the Component Types registered with the server, and their associated Folders and Templates, go to the Data Management – Component Types page of the Preferences dialog.
Direct System Support
Altium Concord Pro provides direct support for the following enterprise systems:
- PTC Windchill® PLM (11.0 M030)
- Arena® PLM
- Oracle® Agile™ PLM
- Concord Pro also offers a Configuration Generator that creates a PLM parameter mapping configuration by analyzing the data model of the current server installation. This may be set for any of the above PLM systems, or for a proprietary Custom PLM interface.
Connecting to Your Enterprise System
Connection to your enterprise system is performed from the Admin – Component Sync page of Concord Pro's browser interface. This involves uploading the applicable XML-based configuration file and enabling/configuring synchronization of the components in your enterprise system, with those in the Concord Pro server.
Add and configure the interface to your company's enterprise system. With a valid connection, you can schedule synchronization of components between that system and your Concord Pro instance.
Each added enterprise system instance must have an associated configuration file, defined and uploaded for it. It is the configuration file that provides the cornerstone for the synchronization of components between your Altium Concord Pro server and your enterprise system instance. The configuration file allows you to specify, for each component type, the direction of synchronization, which components are involved, where components are to be created, and parameter mapping.
Sample Configuration Files
For the Agile, Arena and Windchill systems, sample configuration files are provided. These can be obtained when adding a new instance by clicking the Download sample configuration link, below the Configuration file field. A Zip file – ConfigurationSamples.zip – will be downloaded to your browser's default download folder. This archive contains the following basic configuration files:
Sample configuration files are provided for use as part of the Concord Pro installation.
Modify these to suit your company's enterprise system and its requirements. A customized XML configuration file is then uploaded to a new PLM Integration instance.
Generate a Configuration
Rather than using the supplied configuration files to create a new enterprise system instance, Concord Pro's internal configuration generator may be used to create a configuration file that derives its structure from the server's data model. The generator requests connection information (PLM type and URL) and then interrogates Concord Pro's data for registered component types (Capacitors, Diodes, etc) and their matching Component Templates to construct a base configuration file.
The derived configuration feature is available from the Generate configuration link on the Add new instance page, opened from the button. In the following Generate Configuration dialog select the type of enterprise system that will be connected to – either one of the available PLM types (Windchill etc) or a Custom type – then its remote URL. Select the button to create and download a new
dm-configuration.xml file, which may then added to the new PLM instance from the button.
The generator creates the configuration to match the data model of the current Altium Concord Pro installation, so for example, Component Types that are registered in the server are added as entity types in the configuration file (
dm-configuration.xml). Each entity section has matching
ToAltium sections, and mapped parameters sourced from the matching component template (if available).
All sections in the generated configuration include
TODO comments that highlight areas to add or change for compatibility with your server/PLM configuration. For more information on editing the configuration file to work with your server/PLM setup, see the explanatory comments included in the supplied sample configuration files.
Uploading a Configuration
Upload a suitable configuration file for the enterprise system instance currently being defined by clicking the button – a standard Windows Open dialog will appear with which to browse to and open the required XML-format configuration file. Once uploaded, use the button to check for warnings and errors that relate to the configuration. The test process will first request sign-in credentials for the enterprise system instance if these have not been already established via the button.
When the connection validation report is run, the server analyses the current configuration settings for compatibility with both Concord Pro data and the target enterprise system data. Configuration issues such as path errors, unmatched component type definitions and parameters, invalid Lifecycle or Revision settings are detected and then reported in the Configuration Validation Report window.
Add and configure the interface to your company's enterprise system then check and correct any errors in the uploaded Configuration file.
Be sure to click the button once your instance is defined successfully as required. That instance will appear in the current listing of connected instances, back on the main Component Sync page of the interface.
Synchronization of components between Altium Concord Pro and the connected enterprise system instance – or to be more specific, their parametric data – involves the following:
- Configuring the synchronization for each component type. This involves:
- Determining the direction of synchronization (to Concord Pro, or to the PLM).
- Determining which components are involved, and where components are to be created.
- Configuring parameter mapping.
- Performing the synchronization.
The first of the above items is handled in the configuration file used for the connected enterprise system instance. The synchronization itself can be performed on-demand from the Component Sync page of the Concord Pro server's browser interface, and/or can be scheduled. The latter is automated synchronization at periodic intervals, which is defined when configuring or editing the connection to the enterprise system instance.
Within the configuration file, the connectivity with the enterprise system instance is defined between the Instance tags as a specified Driver type and a target URL. When the Configuration Generator has been used to create the configuration file, the included Driver and URL references are those entered in the Generate Configuration dialog during the generation process.
<Url>[PLM API URL]</Url>
In the following
Schema section of the configuration file, you define a section for synchronization mapping for each dedicated part type. On the Concord Pro side, this is the component of type altiumType – its value is one of the type parameters options that can be seen in Altium Designer's Component Type dialog. On the enterprise system side, a part is created of type plmType, as determined by its value in that space.
The section is declared as an Entity in the file, an example of which might be, for capacitors:
<Entity altiumType="Capacitors" plmType="Capacitor">
Entity tags, two sections are used to control and configure synchronization from the Concord Pro server to the enterprise system instance, and the enterprise system instance to the Concord Pro server – allowing for uni- or bi-directional synchronization. Use the following sections, in conjunction with the comments available in the sample configuration files, to learn more. Ultimately, what gets defined in the configuration file will vary depending on your specific needs.
This section is used to control and configure synchronization from the Concord Pro server to the enterprise system instance in the form:
Within the ToPlm section, the following sections are defined:
- How new components are created in the enterprise system instance – between the tagset <CreateInfo> and </CreateInfo>. For example, choosing an item naming scheme defined in the target enterprise system and defining an item numbering prefix, or specifying the target data folder in the enterprise system.
- Filtering to limit which components in Concord Pro are synchronized with the enterprise system – between the tagset <SourceCriteria> and </SourceCriteria>.
- A listing of attributes (parameters) that should be passed for the components from Concord Pro to the enterprise system – between the tagset <Attributes> and </Attributes>. An example of this is:
<common:Attribute attributeType="item" primaryKeyOrdinal="1">
This section is used to control and configure synchronization from the enterprise system instance to the Concord Pro server in the form:
<ToAltium sync="true" mode="createAndUpdate">
mode statement determines how component data is synchronized from the enterprise system to Concord Pro. The default mode (
createAndUpdate) allows new components to be created in the server and also existing server components to be updated, whereas the alternative
updateExisting mode allows only existing server components to be updated.
Within the ToAltium section, the following sections are defined:
- How and where new components are created in Concord Pro – between the tagset <CreateInfo> and </CreateInfo>. For example:
<RevisionNamingScheme>1-Level Revision Scheme</RevisionNamingScheme>
When a component entry is created in the server, the Component Template associated with the target Concord Pro server folder (
Components/Inbox/Capacitors in the above example) will be used, if one has been specified. This will also define the Item Naming Scheme used for a created component, overruling one that has been specified in the target server folder – conversely, if the folder does not define either a template or a naming scheme, the synchronization will fail.
Also note that in the sample configurations, a default revision naming scheme (
1-Level Revision Scheme) and lifecycle definition (
Component Lifecycle) are defined to be used – these are overruled if a component template is associated with the target server folder.
If a specific component template reference is added in the configuration (for example;
CMPT-00001), this template will be used instead of a template associated with the target server folder. Its settings will overrule any parameter settings in the configuration file (such as the lifecycle definition, etc), with the exception of a defined target Folder.
<!-- A specified Template overrules other CreateInfo settings, except the target Folder -->
<RevisionNamingScheme>1-Level Revision Scheme</RevisionNamingScheme>
<!-- A specified target Folder overrules that defined in an applied Template -->
Note that the specified template will apply to newly created server components only. This approach is particularly useful for managing the importation/synchronization of proprietary component parameters from an external system into Concord Pro. In this case a tailored Component Template can be applied to interpret incoming parameter data, set suitable default values, specify unit data types, and also to specify the Lifecycle Definition and Revision Naming scheme for the newly created server components.
- Filtering of data retrieved from the enterprise system instance – between the tagset <SourceCriteria> and </SourceCriteria>. A filter statement might restrict the component data received from the enterprise system to those that satisfy a particular attribute value, such as a desired component parameter or other attribute/value pair criteria.
- A listing of attributes (parameters) that should be passed for the components from the enterprise system to the Concord Pro server – between the tagset <Attributes> and </Attributes>. An example of this is:
<common:Attribute attributeType="revision" primaryKeyOrdinal="1">
- Component Part Choices can be propagated from the enterprise system to Concord Pro by including component manufacturer name and part number parameters in the
PartChoices section at the end of the configuration file. As a global definition for all defined component entities, the Part Choice data will be synchronized to a server component whenever it is encountered in the PLM component dataset. Note that multiple
MfrPartNumber parameter sets can be included to accommodate the availability of multiple part choices on the enterprise system side – see the example configurations for more information.
In the below example, the
MPN entries are the part choice parameters as defined in the source enterprise system:
Enterprise systems that have native/built-in manufacturer part choice functionality, such as Arena PLM, do not require mapped parameters in the configuration file. In this case, the acceptance of Part Choice data is simply enabled in the related configuration section.
The PTC Windchill PLM system provides an optional PartsLink module that allows parts to be classified in groups. Part Classifications specified in Windchill also can include associated Attribute/Value pairs to provide further definition within that Classification. The PartsLink system allows specific component types to be targeted easily and quickly and is supported by Concord Pro for bidirectional synchronization and read/write access.
In a Concord Pro configuration instance for Windchill, a PartsLink Classification is created in Windchill by specifying a binding attribute in the ToPLM section in the format as shown in the below example:
In the above case, the Key/Value pair defines a Classification named
102-Capacitor. This may have an associated classification Attribute created in Windchill by specifying a name and value parameter (here,
Capacitance) – note that multiple Attributes can be applied to a single Classification:
In the configuration's ToAltium synchronization section, the data sourced from Windchill can be filtered for a desired part Classification within the
<SourceCritera> tagset by specifying its
To source all parts that comply with a matching Classification Attribute value (say, all 10uF Capacitors), the
<SourceCriteria> section should include configuration attribute settings that define a
ClassificationName and its associated classification Attribute key and Value.
To extract a specific Classification Attribute value from Windchill, source the
Value parameter from the specific Attribute name associated with a
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 are in turn are available to the Concord Pro component sync process.
When a component entry is synchronized from Windchill to Concord Pro and PartsLink interaction has been specified in the server's Component Synchronization configuration, Windchill's Configuration Attributes for that part will propagate to Concord Pro.
Performing Component Synchronization
Synchronization itself is performed from the Component Sync page of Concord Pro's browser interface. Click the control associated with the enterprise system instance that you wish to synchronize. The synchronization process will proceed in accordance with the settings defined in the associated configuration file.
Component synchronization in progress between Concord Pro and the indicated enterprise system instance.
The control changes to . If you want to stop the synchronization process, click this control. A confirmation window will appear, click to stop the synchronization – all components already synchronized will remain so, but no further synchronization beyond that point will occur.
Refresh the browser (F5) to check when the synchronization process is complete. To see further details on the completed process, or to confirm its success or otherwise, select the Synchronisation status tab and choose the Closed listing option – if a process is still running it will show in the Active listing. Details of the selected synchronization event are shown in the lower pane, which also includes a link to a system-generated notification log file (PLM <Date Time>.log) for the event. Click this link to download the log file to the browser's default download folder.
Example result of a successful component synchronization.
Scheduled Component Synchronization
You also have the ability to schedule automated synchronization. To do so, edit the enterprise system instance (from the main Component Sync page, click on its name, or the associated control), select the Component Synchronisation tab and enable the Synchronize PLM Components with server on schedule option. Use the Synchronize every controls to set up the automated sync schedule as required. The system is very flexible and allows you to:
- Set up scheduled synchronization every 30/45/60/75/90 minutes.
- Set up scheduled synchronization every x hours.
- Set up scheduled daily synchronization, to be performed at a nominated time.
The schedule you define will be reflected back on the main Component Sync page, in the Sync scheduled column, after clicking .
Setting up a synchronization schedule.
You can also run the synchronization process on-demand, from the Edit instance page. Click the button and choose which mode of sync you need:
- Full – this mode forces a full synchronization. All components that pass the synchronization criteria in the configuration file will be included in the sync, with changes propagated accordingly.
- Incremental – in this mode, only those components that have been modified since the last synchronization was run (i.e. their timestamp is later than the last synchronization date), and that pass the synchronization criteria in the configuration file, will be included in the sync, with changes propagated accordingly. This is the default mode, and is the same mode that is run by clicking the control for an enterprise system instance on the main Component Sync page.