Example of resolving relationships across two data sources - Card Synchronization 3.2

Card Synchronization Plugin Guide 3.2

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

You can resolve relationships between different entity types across multiple data sources, using the Resolve data source relationships using global keys option.

In the following example, Data source A and Data source B contain information defining relationships between cardholder groups and cardholders. Both data sources have unresolved relationships. Data source A has a higher priority than Data source B.

Global keys are configured in Data source A and Data source B to resolve the unresolved relationships in Data source A.

Global key configuration for Data source A

  • Resolve data source relationships using global keys is selected.
  • No global keys are configured for any entity type.

Cardholder data in Data source A

Unique ID Custom field
ACH1 111
ACH2 222
ACH3 333

Cardholder group membership data in Data source A

Group ID Member ID
AG1 111
AG2 ACH2
AG3 222
AG3 ACH3
AG3 BCH3
NOTE: The relationships between group AG1 and 111, group AG3 and 222, and AG3 and BCH3 are unresolved because the values 111, 222, and BCH3 are not defined in Data source A as a cardholder unique IDs.

Global key configuration for Data source B

  • Resolve data source relationships using global keys is not selected.
  • Unique ID and Custom field are selected as global key fields for cardholders.

Cardholder data in Data source B

Unique ID Custom field
BCH1 111
BCH2 222
BCH3 333

Cardholder group membership data in Data source B

Group ID Member ID
BG1 111
BG2 BCH2
BG3 222
BG3 BCH3
NOTE: The relationships between group BG1 and 111 and between group BG3 and 222 are unresolved because 111 and 222 are not defined in Data source B as cardholder unique IDs.

Result

  • In Data source A, the relationship between group AG1 and 111 is resolved.
    • Resolve data source relationships using global keys is selected for Data source A, so the plugin looks through all defined cardholder global keys to find a global key matching the value that breaks the relationship.
    • 111 is a global key representing BCH1 in Data source B. The global key resolves the relationship between group AG1 and group member 111.
    • BCH1 is now a member of group AG1.
  • In Data source A, the relationships between group AG3 and 222, and between group AG3 and BCH3 are resolved the same way that the relationship between group AG1 and 111 is resolved.
  • In Data source B, the relationships between group BG1 and 111, and between group BG3 and 222 are resolved.
    • Because Resolve data source relationships using global keys is not selected for Data source B, the plugin does not try to resolve the unresolved relationships.
    • The relationships defined in Data source B remain unresolved.
Group ID Member ID
AG1 BCH1
AG2 ACH2
AG3 BCH2, BCH3, ACH3
BG1 No cardholder
BG2 BCH2
BG3 BCH3