How merging entities works - Card Synchronization 3.2

Card Synchronization Plugin Guide 3.2

Applies to
Card Synchronization 3.2
Last updated
2023-04-17
Content type
Guides > Plugin and extension guides
Language
English
Product
Card Synchronization
Version
3.2

Before creating entities from an external system in Security Center, you can configure the plugin to look for matching global keys, which prevents duplicate entities from being created upon synchronization.

Merge criteria

The plugin looks for merge candidates in the data sources that have global keys configured. Merge candidates are entities that will be merged upon synchronization because they meet the following criteria:
  • Entities must be of the same type to be merged. For example, a cardholder can be merged with another cardholder.
  • At least one global key field must be selected in the global key configuration of a data source.
  • At least one global key must be identical for one or more other entities.

    The other entities can be from within the same data source or from different data sources.

NOTE: If you import a credential that has the same type and same value in Security Center, you receive a warning, and the import fails. To avoid this, use the Security Center data source to merge the entities.

Cardholder information

During a merge, cardholder information can be treated as the following types of information:
Values
The priority level of an entity's data source affects which values are kept during a merge. The values from the highest data source on the list of data sources take priority, unless the value is NULL. You can change the order of the data sources on the list to change the priority levels.
Relationships
Relationships represent the associations between cardholders and credentials, cardholders and cardholder groups, and so on.

The relationships of merged entities are combined, according to the priority level of their data sources.

The relationships of a preexisting and an entity created by the plugin are combined, unless the relationship with the entity created by the plugin was defined in Security Center after the entity was imported. In that case, only the relationships of the existing entity are kept.

The following table demonstrates how cardholder information is handled when an entity created by the plugin is merged with an existing entity in Security Center.
In this example, the imported entity was created from a CSV file, and the existing entity was created directly in Security Center. Both data sources have Cardholder full name selected to be used as a global key field. The values in bold in the table are the values that are kept after the merge.
NOTE: When Cardholder full name is selected, the plugin looks for the combined first name and last name. The plugin combines the two fields in the following way: Cardholder full name = TRIM(FirstName) + [space] + TRIM(LastName).

If one source has the FirstName field with the value Andrew Smith, and the LastName field left empty, and another source has the FirstName field left empty, and the LastName field with the value Andrew Smith, the value from both data sources are considered the same Cardholder full name.

Cardholder information Imported cardholder Existing cardholder Cardholder after merge
Values
First name Andrew Andrew Andrew
Last name Smith Smith Smith
Email address NULL asmith@genetec.com asmith@genetec.com
Picture Picture NULL Picture
State Active Inactive Active
Activation date 2017-10-25 2018-10-25 2017-10-25
Expiration date NULL 2020-10-25 NULL1
Antipassback exemption Enabled Enabled Enabled
Use extended grant time Disabled Enabled Disabled
Security Center GUID 789 123 123
Relationships
Associated credentials Card 1 Card 2 Card 1, Card 2
Cardholder group memberships Group 1 Group 2 Group 1, Group 2
1If the activation date is NULL, the cardholder has always been active. If the expiration date is NULL, the cardholder will never expire. If both dates are NULL, the values are ignored.