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).
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.
-
NOTE: When connected to an Altium 365 Workspace, the Component Synchronizer requires that you are signed in to your Altium account using email/password credentials, rather than with SSO authentication. If you are signed in to your Altium account using the SSO, the text 'Not selected' will be shown in the Destination region of the Components Synchronization Configuration document instead of the connected Workspace name (show image), and you will not be able to execute the synchronization.
-
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.](/documentation/sites/default/files/wiki_attachments/322799/CmpSync_Notes_Pnl_Components_AD23.png)
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 (Name
, 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 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.
Component Type Table
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.
-
General
-
Component Type – lists the identified component type.
-
Component Template – lists the identified component template, which determines the target Workspace folder, component Naming Scheme and applied Lifecycle definition.
-
Key Parameter – lists the key parameter matched to the source database entry using a unique identifier.
-
Advanced
-
Folder – the target Workspace folder in which the component resides.
-
Revision Naming Scheme – the naming arrangement used for the object's Workspace revisions, as set by the applied template or selected from the entry's drop-down menu options. Only those schemes enabled by the system will be available as an option.
-
Lifecycle Definition – the Lifecycle system that is used for the object, as set by the applied template or selected from the entry's drop-down menu options. Only those definitions enabled by the system will be available as an option.
-
Parameter Mapping – 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).
-
Add – use to add an additional parameter.
-
– use to delete the specified parameter.
-
Reset to Default – used to revert all changes made.
Table Inclusion
-
Table Inclusion – lists inclusion of database tables that you may check to be synchronized in the Properties panel, which is then accessed as a parametric data source that populates the Components Preview listing in the Component Synchronization Configuration menu.
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.