How to append ‘Origin tag’ to DisplayName of objects pulled from Master to Spoke

Created: 2012-04-20 08:09:59
Modified: 2017-06-04 11:30:19
Tags: Master/Spoke UnitySync

When using the Hub/Spoke solution to sync multiple LDAP directories, it is often desirable to append an tag to the displayName. This tag identifies the origin of each contact.

If each Spoke represents an partner in a different City, you might want the tag to identify the City. So users in other domains know which city the selected contact originates from:

John Smith (Philadelphia)

Solution Summary:

You can accomplish this by setting each Spoke -> Master connection to write to a unique OU via your Structure Name configuration. Give the OU the exact name that you want to use as the tag. Then, each Master -> Spoke connection will point to a Placement DN equal to the level above these unique Spoke OUs, and specify a custom mapping which appends component1~ to the displayname attribute. Component1~ contains the name of the ou/container where the objects to sync are located.

====Solution Details:

For example, assume each Server and Directory represents a City, and you configure Structure Name to reflect the City name:

  • DirectoryA is Chicago
  • DirectoryB is Los Angeles
  • DirectoryC is Philadelphia

And you have the following connections in a Hub/Spoke configuration:

  • DirectoryA-Chicago to Master
  • DirectoryB-Los Angeles to Master
  • DirectoryC-Philadelphia to Master
  • Master to DirectoryA-Chicago
  • Master to DirectoryB-Los Angeles
  • Master to DirectoryC-Philadelphia

If you want the displayName of each synced contact to include a tag that identifies the origin, do the following:

  1. In the Master Directory, create a container to act as root for all synced contacts i.e., ou=SyncedContacts.
  2. Each connection that syncs Spoke->Hub should specify ou=SyncedContacts as Placement DN and a unique Structure Name, as noted above. For example:
    1. The DirectoryA-Chicago to Master connection would specify a Structure Name of Chicago. This connection would create a Destination container ou=Chicago and into this container would be synced all the Chicago contacts.
    2. The DirectoryB-Los Angeles to Master connection would specify a Structure Name of Los Angeles. This connection would create a destination container ou=Los Angeles and into this container would be synced all the Los Angeles contacts.
    3. The DirectoryC-Philadelphia to Master connection would specify a Structure Name of Philadelphia. This connection would create a destination container ou=Philadelphia and into this container would be synced all the Philadelphia contacts.
  3. Each connection that syncs Master->Spoke will:
    1. specify a Selection DN (Source tab) pointing to the root of the master list, i.e. ou=MasterList, or the root of the Master directory.
    2. specify a Custom Map file that includes a custom DisplayName mapping designed to append the desired label by using the ~component1~ variable. This custom mapping for an Active Directory Destination would read something like the following:
      displayName#256=~cn~ (~component1~)
    3. The above displayName mappings would generate a displayname on the spoke that reads something like the following:
      • John Smith (Philadelphia)
      • Paul Jones (Los Angeles)
      • Phil Wright (Chicago)

Note: Each connection that syncs back to a Spoke will require a Custom Map file as described above. If your Destination directories are all the same directory type, and no other mapping customization’s are required, you can create a single Custom Map file and point each Master->Spoke connection to use that one Custom Map File.

Share this article:

  1. Directify - Self Service

  2. Mimic - Replication

  3. UnitySync - Sync
  1. emPass - Sync
  1. Profiler
  2. SimpleSync