Map File Definitions LDAP-LDAP
Created: 2012-04-20 08:09:59Modified: 2017-06-05 15:31:33
Tags: Custom Mapping Features UnitySync
A map file is processed from top to bottom in order. Each line represents an assignment much like a math equation. For example if you wanted to assign the Destination attribute ‘RFC822’ with the information from the source attribute ‘mail’:
rfc822=^mail^
Constants can also be added into the attribute assignment. The following will set the ‘department’ attribute to be the value ‘support’ for every object in the scope of the sync:
department=support
There are other delimiters you can use to process the Source attribute in different ways.
Attribute mapping
Carets ^^
map the first value of the Source attribute. This is typically used for most mappings. Example:
givenName=^givenName^
Square brackets []
map all values of the Source attribute to the Destination attribute. Note the Destination attribute must be defined as a multi-valued attribute on the Destination system’s schema. Example:
proxyaddresses=[proxyaddresses]
Brackets {}
map the first value of the Source attribute and remove it. The next assignment using either ^^
or {}
will use the NEXT value of that source variable.
Tildes ~~
use variables generated at Sync time by UnitySync, as defined in this knowledge base article.
Special Source attributes require a DN format. A good example of this is the manager
or seeAlso
attributes. This attribute typically is a pointer to another LDAP record’s DN. This DN needs to be translated to the Destination system in order to work properly. The following delimiters will automatically translate DN’s.
Pound signs ##
map and translate the first value of the attribute. If the DN cannot be mapped the field will be left blank.
Percentage symbols %%
map and translate all values of this attribute.
Trimming attributes
A # sign will only assign x amount of characters from the left. For example, the Source attribute title
has a value of CEO and CFO of Broadbase Operations
but the Destination directory only allows 11 characters to be assigned to it’s attribute info
. To trim the Source data in this case, use:
info#11=^title^
Multi-value Separator
A pipe symbol | is a multi-value separator that gives you the ability to quickly assign multiple values to a Destination object. A good example of this is objectClass:
objectclass=top|person|inetorgperson
This can be combined with the above delimiters as well. In this example the Destination attribute ‘mail’ is multi valued. This can be assigned two different ways:
mail=^mail^|[othermail]
OR
mail=^mail^
mail=[othermail]
Both examples above will perform the same function. The Destination mail attribute will be assigned the first value of the source mail attribute along with all the values of othermail.
Mixing variable and constant data
In this example - Sales
will be appended to the ~cn~
variable and assigned to displayName attribute:
displayname=~cn~ - Sales
In this example a more dynamic assignment can be made:
displayname=~cn~ - ^department^
Constants and multi-valued attributes
In this example every value of othermail will be pre-pended with SMTP:
and assigned to mail:
mail=SMTP:[othermail]