The information in this article applies to:
SUMMARYThe article includes earlier material from LinkAge Software Inc. Help files that are not shipped with the product. MORE INFORMATION
The Exchange Connector for Lotus Notes, new with Exchange 5.5, provides a
component that synchronizes one or more Notes Name & Address books with the
Exchange directory. Synchronization is bi-directional and can include
custom recipients as well as mailboxes. The names and addresses of
distribution lists (Notes "groups") can be synchronized; however, the
membership of the DL or group is not carried in the shadow entry, and all
mail routing must be done on the system where the DL or group is
maintained.
\\<servername>\connect$\exchconnImportant Note: If you edit these files using NotePad or another text editor, ensure that you save backup copies of the shipped files. In addition, do not use the [tab] key when making changes. All whitespace characters should be entered using the space key. Also, before you edit these files, ensure that directory synchronization is not active (for example, by shutting down the Notes Connector). If you add attributes to the synchronized schema or change any mapping rules for existing attributes, you will most likely need to do a full directory reload in one or both directions. Schema definition files determine the subset of the native directory schemas that are synchronized. Each line in the file that is not blank or a comment defines a single attribute. The first column is a short name or tag for a directory attribute used in the mapping rules (see below). The second column has the maximum field length for the purpose of directory synchronization. The total of all field lengths must not exceed approximately 9500. The third column contains the internal name for the attribute in the directory. See Appendix A for how to determine these names for Exchange and Notes. For the Notes Address Book, the schema definition includes a fourth column, which should be present but is not used by the Connector. The following definition of the Exchange directory schema is shipped in Dxamex\amap.tbl:
The following definition of the Notes address book schema is shipped in Dxanotes\amap.tbl:
Mapping rule files define how attributes from one schema are mapped to attributes in the other schema. Each non-blank, non-comment line is a rule that assigns a value to a single attribute in an entry in the target directory. The right-hand side of the rule is a string expression made up of string constants, numeric constants, references to attributes in the source directory, and built-in string manipulation functions. The following rules for mapping Notes attributes to Exchange attributes are shipped in Dxamex\mapnotes.tbl:
Note that the DN and TA attributes were not defined explicitly in the Exchange schema. These attributes are required for directory synchronization and are always synchronized. The TA (Target-Address) attribute is the Notes user's e-mail address and must be unique within the Exchange directory. Although Notes does not enforce the uniqueness of this name, for all practical purposes the name must be unique to allow the Notes router to reliably deliver mail to the right mailbox. The DN (Distinguished Name) mapping rule actually provides only a portion of the eventual full DN created for the Notes entry in Exchange. The full DN is constructed by concatenating the DN of the Import Container where Notes custom recipient entries are stored, with the DN fragment created by the mapping rule. The TA rule provides a good example of how the string expressions work. For example, if the Notes user's full name and mail domain are "Denise Graham/Sales/Acme Corp; Denise Graham; Graham" and "Acme-HQ", then this rule will result in an Exchange TA field containing "NOTES:Denise Graham/Sales/Acme Corp@Acme-HQ". See below for a full description of the built-in mapping functions that are available. The following rules for mapping Notes attributes to Exchange attributes are shipped in Dxanotes\mapmex:
Mapping Rules use a simple macro language that allows you to define how to create entries in different directory systems. An important part of this macro language is the mapping functions that manipulate a series of arguments you supply and return a result in the form of a string. Your mapping rules can combine this result with other constant strings and function calls to build up the overall result of the rule. Mapping functions operate on strings and numeric constants. Strings can be either attribute tags (the short names defined in the schema definition file) from the source directory, or string literals. A string literal is an actual sequence of characters enclosed in quotation marks, such as "Star Mart", ".", or even " " (three spaces). Note that you cannot use the real internal attribute names in mapping rules. You must use the attribute tags defined in the schema definition files. FUNCTION_NAME( arguments )For example:
If this function is coded in a mapping rule, it will return the left-most four characters of the contents of the Fullname field in the source directory. Functions can be combined with each other or with string literals, allowing you to create arbitrarily complex result strings. A rule and the resulting string it returns can be as long as 2,048 characters. The list below represents all the built-in mapping functions; more complete explanations and examples are provided later in this document. AND()Mapping Functions: Detailed Descriptions Notational conventions:In the examples, each sample call is followed by the result it produces. Although the examples use only string literals as arguments, remember that each argument can itself be an arbitrarily complex string expression, including nested function calls. Syntax: AND(exp1,exp2)Description: Returns the concatenation of two non-null strings, or the null string if either of the strings involved is null. Examples:
Syntax: CFGPARM( exp1[,exp2] )Description: CFGPARM returns the value of a parameter in the Exchconn.ini file. Exp1 specifies the parameter whose value is to be returned; exp2 specifies the section within the INI file. If the section is omitted, then the DXA's home section is used. If neither the section nor the parameter is found, the result is an empty string. Examples:
Syntax: ISEQUAL( exp1, exp2, val1, val2 )Description: ISEQUAL returns the value of val1 if exp1 equals exp2, otherwise it returns the value of val2. ISEQUAL is not case-sensitive. Examples:
Syntax:
LEFT ( field, length, [, pad] )Description: LEFT returns the left-most length characters of field. If field has fewer than length characters, the result is padded on the right with the pad character. The default pad character is a blank. Examples:
Syntax: LOWER ( field )Description: LOWER returns the value of field with any upper-case letters converted to lower-case. Examples:
Syntax: NAMEF ( field, [, style] )Description: If field contains a person's name in a specified format, NAMEF returns the person's first name or initial. Two styles are supported:
Initials or strings of initials are treated as first or middle names. If a name has only one part, it is considered both first and last name, regardless of the style. Examples:
Syntax: NAMEL ( field, [, style] )Description: If field contains a person's name in a specified format, NAMEF returns the person's last name. Two styles are supported:
Initials or strings of initials are treated as first or middle names. If a name has only one part, it is considered both first and last name, regardless of the style. Examples:
Syntax: NAMEM( field, [, style] )Description: If field contains a person's name in a specified format, NAMEF returns the person's middle name or initial. Two styles are supported:
Initials or strings of initials are treated as first or middle names. If a name has only one part, it is considered both first and last name, regardless of the style. Anything that is not identified as a first or last name is considered a middle name. Examples:
Syntax: POS ( field, target )Description: POS returns the position of the string target within field. If the target is not in the field, POS returns zero. Examples:
Syntax: PROPER ( field )Description: PROPER returns the value of field with lower-case and upper-case letters converted to mixed-case, as if field were a proper name. Examples:
Syntax: REPLACE ( field, what [,with] )Description: This mapping function enables you to remove specific characters from an ID or replace selected characters with substitute characters. It scans field for any characters in the what string and replaces them with the corresponding character from the with string. If the with string is shorter or is not provided (meaning that one or more characters in what have no corresponding characters in with), those characters are elided (removed) from field. Examples:
Syntax: RIGHT ( field, length [,pad] )Description: RIGHT returns the right-most length characters of field. If field has fewer than length characters, the result is padded on the left with the pad character. The default pad character is a blank. Examples:
Syntax: STRIP ( string1, string2, [scan-from-direction] , [strip-toward- direction]),Description: STRIP locates the left-most or right-most occurrence of string2 in string1 and removes characters from the right or left, including string2. The value for scan-from-direction determines whether STRIP looks for the left-most or right-most occurrence of string 2 in string 1; the value for strip-toward- direction determines whether characters are removed from the left or right of where string2 starts. If the either the scan-from-direction or the strip-toward-direction parameter is omitted, the value for the missing parameter is assumed to be the same as the one that is specified. If both these parameters are omitted, the default for both is assumed to be "R" (right). Examples:
Syntax: SUBSTR ( field, start [,length [, pad] ] )Description: SUBSTR returns the portion of field starting at position start, with length characters, padded with the pad character if necessary. The default for length is (length of string - start + 1). The default pad character is a blank. Examples:
Syntax: TRIM ( field [,option] )Description: TRIM returns field with leading or trailing blanks removed. Option specifies whether to remove leading blanks (L) trailing blanks (R), or both (B). Examples:
Syntax: UPPER ( field )Description: UPPER returns the value of field with any lower-case letters converted to upper-case. Examples:
Syntax: WORD ( field, n [, m] )Description: WORD returns m blank-delimited words starting with the nth word in field. WORD returns an empty string if field contains fewer than n words. The default value for m is 1. Examples:
Syntax: X500 ( address, field name [,index] )Description: X500 returns the contents of the named field for the specified address. If the address has two or more components with the same field name, the index value is used to specify the correct one. The following X.500-type addresses are supported:
The function would provide the following result:
Appendix: How to determine the internal name of directory attributesBoth Exchange and Notes allow you to inspect internal names of directory attributes and inspect detailed schema and content information for specific attributes of a directory entry.For the Exchange directory, run the Exchange Administrator with the /raw option. Use shift-enter to view the attributes of a recipient object. You will be able to view the detailed schema for recipients, including the internal directory names for recipient attributes. For the Notes address book, right-click the mouse on an address book entry that contains the attributes of interest, and select Document Properties. Select the Fields tab, and you will see a list box that shows you the internal directory names for the attributes of the selected entry. You can also display the contents of each attribute using this tab.
Keywords : kbusage XFOR |
Last Reviewed: March 27, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |