Component Synchronization with Enterprise Systems in Altium Concord Pro

This documentation page references Altium Concord Pro, which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

 

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 does not offer full PLM integration - this level of integration is only available through Altium NEXUS.
Note that synchronization of Part Choice data is unidirectional - from the enterprise system to Altium Concord Pro only.

An Altium Concord Pro installation includes a CSV Component database importer tool that can be used to bring component data into Concord Pro from a file exported from another system (PLM, ERP, or otherwise). In addition, direct support is provided for the following enterprise systems:

  • PTC Windchill® PLM (11.0 M030)
  • Arena® PLM
  • Oracle® Agile™ 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.

CSV Uploader

An Altium Concord Pro installation includes a CSV Component database importer tool that can be used to bring component data into Concord Pro from a file exported from an enterprise system. 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.

Notes:

  • The tool and its supporting Java runtime folder (JRE8) may be copied to and run in any location, including on a different networked machine to the one hosting Concord Pro.
  • The tool may need to be run with elevated (Administrator) privileges, depending on where it is located.
  • The tool syntax is case sensitive, as are references in Server Templates and any configuration files used.

Source file format:

The CSV data importer tool requires the source comma-delimited CSV file to use UTF-8 character encoding. If the file uses other encoding formats such as ANSI or UTF-8-BOM, the importer will not parse extended characters (such as µ) correctly, or may not accept the *.csv source file.

If creating a basic CSV file for testing purposes, note that some versions of Windows' Notepad do not save in a compatible UTF-8 format. If in doubt, an alternative text editor such as Notepad++ can be used to create and save UTF-8 encoded files, and is also useful for checking the encoding format of *.csv files exported from a source enterprise system.

Auto mode

When used without applying a configuration file (option –c) the CSV Uploader tool process will attempt to match the target CSV filename (say, Resistor.csv) with a server Component Template that supports that Component Type (Resistor). 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_PART_NUMBER and 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.

Multiple Manufacturer Part Choices

The manufacturer part data for CSV component entries is sourced from their MFR_NAME and 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 the source component CSV-RES-1003 has three related part numbers from the company BigSemiBS-3A, BS-3A, and BS-3A – then the CSV source file would include, at a minimum, the following entries:

PART_NUMBER	MFR_NAME	MFR_PART_NUMBER
CSV-RES-1003	BigSemi		BS-3A
CSV-RES-1003	BigSemi		BS-3B
CSV-RES-1003	BigSemi		BS-3C

When this component data is imported to the server, a single component item is created for part CSV-RES-1003, but with multiple Part Choices entries derived from the above CSV data.

Configured mode

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 Package.

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, Lifecycle and target folder setting from the matched Template. For example:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -g MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv

Edit the Attribute Values in the ToAltium section of the MyConfig.xml configuration file (for the Resistor entity) to map as required.

The configuration file is then used with the tool (option –c) to perform the required mapping:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -c MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv

If the component entries already exist in the Server (as imported in the above Auto mode example process), new Revisions will be created and the remapped parameters added to the existing data – existing parameters are not removed.

Additional features:

  • 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 Resistor, and then paste/edit this to create another for Capacitor.
  • 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 Capacitor and Resistor 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 (Resistor, Capacitor, etc), this can be allowed for by mapping the PLM class in the configuration file. For example if the source file is PLM-Export_Resistors.csv, the PLM class entry plmType=”Resistor” can be changed to plmType=”PLM-Export_Resistors”.

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
Due to API limitations, library synchronization with Manufacturer Part/Part Choices is not yet supported when working with an integrated Windchill instance.

Connecting to Your Enterprise System

Connection to your enterprise system is performed from the Admin - PLM Integration 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.

To create a new interface instance, click the  button. As many instances can be defined as required, to interface your Concord Pro server to various different enterprise systems. For example, your components might reside in a particular instance and another division may be using a different instance (of the same or differing enterprise system). Each instance must be uniquely named and have a configuration file.

Sample configuration files are provided as part of the installation – click on the section below for more information:

Upload a suitable configuration file for the new enterprise system instance from the button, then use the  button to check for warning and errors that relate to the new configuration. The test process will first request sign in credentials for the new 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 reported in the Configuration Validation Report dialog.

Add and configure the interface to your company's enterprise system then check and correct any errors in the uploaded Configuration file.Add and configure the interface to your company's enterprise system then check and correct any errors in the uploaded Configuration file.

While it's most likely you will need to set up only one enterprise system instance, any number of instances may be added to the Concord Pro server.

When a configuration file has been edited and then re-uploaded to the enterprise system instance, make sure that you use the  option to detect any problems that may have been introduced.

Component Synchronization

Synchronization of components between Concord Pro and the connected enterprise system instance – or to be more specific, their parametric data – involves the following:

  1. Configuring the synchronization for each component type. This involves:
    1. Determining the direction of synchronization.
    2. Determining which components are involved, and where components are to be created.
    3. Configuring parameter mapping.
  2. 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 PLM Integration 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.

Configuring Synchronization

Within 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 (and is the name you see in Altium Designer's Component Type dialog). On the enterprise system side, a part is created of type plmType. This is declared as an Entity in the file, an example of which might be, for capacitors:

<Entity altiumType="Capacitor" plmType="Capacitor">
.

.
</Entity>

The plmType value may vary, depending on the particular enterprise system instance you are using.

Within the 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.

Performing Component Synchronization

Synchronization itself is performed from the PLM Integration 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.

Synchronization will involve 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 which pass the synchronization criteria in the configuration file. This is referred to as Incremental Synchronization.

Component synchronization in progress between Concord Pro and the indicated enterprise system instance.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 the system log file (PLM [date-number].log) for the event.

Scheduled Component Synchronization

You also have the ability to schedule automated synchronization. To do so, edit the enterprise system instance (from the main PLM Integration 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 15/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 PLM Integration page, in the Sync scheduled column.

Setting up a synchronization schedule.Setting up a synchronization schedule.

To set up scheduled synchronization requires you to provide valid credentials (for your enterprise system). Click the  button and enter your User name and Password into the subsequent PLM Credentials window. Without valid credentials, scheduled synchronization will remain in the OFF state. On-demand synchronization will also not be possible.

You can also run the synchronization process on-demand in the Edit instance page. Click the  button and choose which mode of sync you need:

  • 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 PLM Integration page.
  • 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.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Content