Component Database to Workspace Data Synchronization

Database component libraries, which derive their component parameters from a master database, can now be synchronized with that database when the library has been migrated to an Altium 365 Workspace or Enterprise Server Workspace.

Using the Altium Designer Components Synchronization feature, as outlined below, the data from a selected table within the master database is used to create a fully configured and mapped synchronization profile that may be run on-demand or as a timed process. The result is that data updates in the master database will propagate to the matching component parameters in a connected Workspace.

The feature allows companies that centrally manage component data in an enterprise system database to harness the benefits of a Workspace while maintaining synchronization with their enterprise system (PLM, PDM, ERP, etc) – or simply a shared database or CSV file. In auto-synchronization mode, a Windows Task schedule will perform the database to Workspace data update independently of the Altium Designer design client.

See Importing Existing Libraries to Your Connected Workspace for information on importing database libraries to your Workspace.

To enable the Components Synchronization feature in Altium Designer, select the Custom Data Synchronization option on the Configure Platform page (under Importers\Exporters).

To learn more about changing installed core functionality, refer to the Installing Altium Designer page.

Creating a Component Synchronization Configuration

Database to Workspace synchronization is established through the creation and setup of a Components Synchronization Configuration document (*.CmpSync) in Altium Designer. When connected to your Workspace, create the new document from the File » New » Components Synchronization Configuration menu command.

Add the desired master data source to the synchronization configuration from the button, or by dragging and dropping suitable files onto the Data Sources area of the interface. The configuration accommodates the following component parameter data sources:

  • Database Library files (*.dBLib) – which link to a master database source.

  • Access database files (*.mdb, *.accdb)

  • Excel spreadsheets (*.xlsx)

  • CSV files (*.csv)

  • Other data sources, such as server-based OLE DB compatible interfaces, via a proprietary connection string.

For database connectivity, the Parts Provider Synchronizer requires access to the 64-bit version of the Microsoft OLE DB Provider.

In the below example, a database library for Zener diode components has been added to the configuration – note that this dBLib has previously been migrated to the Workspace. The library's source database (Semi_8.mdb) contains DiodeGP and Zeners tables, where the latter table is enabled for synchronization.

Select the data table (or tables) to be synchronized in the Properties panel, which is then accessed as a parametric data source that populates the Components Preview listing. The system will attempt to establish the type of component (resistor, capacitor, etc) from the parameter data, and then apply that Component Type and its matching Component Template to the configuration – if required, these settings can be manually selected. Select a table entry under Data Sources to see the current configuration in the Properties panel.

In this example the component type (Zeners) has been identified and its managed Component Template applied. The template then determines the target Workspace folder, component Naming Scheme and applied Lifecycle definition. Component entries are matched to source Database entries using a unique identifier, as specified by the Key Parameter entry in the Properties panel – in this case Part Number is used, although Name or even Description would be equally effective.

When a Database Library (*.dBLib) is used as a data source rather than a direct database type source (*.mdb, *.xlsx, etc), the following information is extracted from the dBLib file and applied to the configuration:

  • The source database connection and path.
  • The database Table selection.
  • The Key lookup field (parameter).

These configuration settings will therefore match those used when the dBLib was generated, ensuring correct synchronization between migrated dBLib components and the source database.

Synchronization

Once satisfied with the synchronization setup, save the configuration document and perform the database to Workspace library components synchronization from the button, or set up a scheduled synchronization ().

In the example case shown below, the description parameter for two component entries has been updated in the source/master database. These changes can be observed by clicking the refresh button () in the configuration interface – this is optional, and does not affect the synchronization of updated data.

A subsequent synchronization will update the Workspace component parameters from the current database field data. This change can be observed in the Components and Explorer panels. Refresh their views using the F5 key or button, respectively.

Detailed synchronization log files are available in the system's C:\Users\Public\Documents\Altium\Logs\ComponentSync folder.

As can be seen in the Explorer panel, new revisions have been created for the two updated components. Which parameters will create new component revisions when updated from the master database is determined by the Parameter Mapping settings in the synchronization configuration.

Component Item revisions created during the component synchronization process will have the Created by component synchronization or Modified by component synchronization note (depending on whether a new item or a new revision of an existing item has been created). Display the Note column for the component type being browsed in the Components panel or the Workspace folder being browsed in the Explorer panel to easily identify components created/modified by component synchronization.

Display the Note column when browsing components. Shown here is an example in the Components panel. Hover the cursor over the image to see the Explorer panel.
Display the Note column when browsing components. Shown here is an example in the Components panel. Hover the cursor over the image to see the Explorer panel.

Parameter Mapping

Control of the synchronized parameters is available in the Parameter Mapping section of the Properties panel, which offers a grid listing of the relationship between target Workspace parameters and source database parameters (fields). Also available are settings for the transferred parameter Type (text or unit-aware) and control of new Revision creation for updated parameters.

In terms of parameter mapping, the table columns represent the Workspace target (Parameter) and the source/master database fields (Column) – as in the column data shown in the Components Review grid of the main configuration interface. Parameters can be removed from the synchronization (skipped) or remapped to another available parameter. Parameter names can be edited, and parameter sets can be added, edited and removed. The base component parameters (IDName, Description) may be remapped but are otherwise read-only.

The image above shows three states of parameter mapping in the Properties panel. On the left is when no Component Template is applied, the center image is the result when a template has been specified, and the image on the right demonstrates modified parameter mapping and Revision control.

  • Left image: By default, with no template applied, parameters are essentially mapped on a one-to-one basis between the master database and Workspace components. The ID parameter set to <Auto> here represents the automatic creation (if required) of the Workspace Revision ID parameter, which relates to the current Item Revision Naming Scheme setting – under Advanced in the panel. Also note that the database Comment field is automatically mapped to the Workspace Name parameter.
  • Center image: When a Component Template is applied (Zeners here), database parameter fields are mapped to their equivalent template parameters. The system will automatically interpret common parameter mappings, such as Pin Count to Pins (a template parameter) in this case. Parameters that are not defined in the template are mapped on a one-to-one basis – the nine parameters at the bottom of the list in this example.
  • Right image: A range of database parameters have been removed from the synchronization configuration by setting their column modes to <skip>. The PackageReference parameter has been mapped to the master database Footprint field. The Revision option has been unchecked for parameters VZ(Max), VZ(Min) and ZZ(Max), which means that a change in their value in the master database will not cause a new Workspace revision to be created when synchronization occurs – the changed value, however, is propagated to the Workspace component as normal.

Properties Panel

When the active document is a Components Synchronization Configuration document (*.CmpSync), the Properties panel presents the configuration options. The following collapsible sections contain information about the options and controls available.

Scheduled Synchronization

Saved Synchronization Configurations are setup for automated database to Workspace component processing through the Auto Synchronization Schedule dialog, opened from the button in the main interface.

Scheduled synchronization, in compliance with the current configuration profile, can be set to a specific time of each day, at a particular time on various days of the week, or when you log on to Windows. You can also disable synchronization for when you are not logged on. When your settings are confirmed with the button, the configuration will be added as a repeating task in the Windows Task Scheduler. Set to No automatic synchronization to remove an existing sync schedule.

Database to components synchronization also can be run from the command line using the ComponentSync.Executor.exe application, found in the software installation's \System folder. The command syntax is ComponentSync.Executor.exe [configuration file name]. A typical example might be:
C:\Program Files\Altium\AD20\System\ComponentSync.Executor.exe C:\Users\Public\Documents\Altium\MySyncConfig.CmpSync

Depending on the operating system, surrounding quote characters may be required for paths that include spaces.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.