Files for profile and custom attribute updates

There are several files that you use to update profiles or custom attributes.

CustomAttributes.xml
All custom attributes and their properties that are supported by the Lotus Notes® Adapter exist in the CustomAttributes.xml file. Create a CustomAttributes.xml file at the location Agent Install Directory\data; for example, C:\Program Files\IBM\ISIM\Agents\MptesAgemt\data\CustomAttributes.xml.
A custom attribute definition contains a CustomAttribute tag. The CustomAttribute tag contains following parameters:
Name
The name of the attribute specified in the schema.dsml file
RemoteName
The name of the attribute on the Lotus® Domino® server
Type
The type of attribute
CustomAttributeFlag
The flags set for a custom attribute
Setting flags for a custom attribute is optional. To set flags, CustomAttributeFlags attribute must be defined in the custom attribute tag. If a custom attribute requires more than one flag to be set, then specify multiple flags for the attribute separated by "|" symbol. You can set the following flags for a custom attribute:
  • SCSL: Use this flag when multiple values of an attribute are to be stored as a single value. Separate multiple values using semicolons.
  • CONVERTEMPTYTODELETE: Use this flag to delete an attribute from the Lotus Domino server, if the value of that attribute is empty during modify operation.
  • BOOLEAN10: Use this flag when the values TRUE and FALSE, specified for an attribute are to be stored in the Lotus Domino server as 1 and 0 respectively.
Following is an example of a CustomAttributes.xml file with the specifications of custom attributes:

<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE CustomAttributeDefinitions SYSTEM "CustomAttributes.dtd"><CustomAttributeDefinitions><CustomAttribute Name="erNotesLevel0" RemoteName="Level0" Type="Date" CustomAttributeFlags="SCSL|CONVERTEMPTYTODELETE" /><CustomAttribute Name = "erNotesEmpolyeeType" RemoteName="employeeType" Type="String" CustomAttributeFlags="SCSL" /><CustomAttribute Name = "erNotesTmpNow" RemoteName="tmpNow" Type="Integer" /></CustomAttributeDefinitions>

In this example:
<?xml version="1.0" encoding="iso-8859-1"?>
Specifies encoding
<!DOCTYPE CustomAttributeDefinitions SYSTEM "CustomAttributes.dtd">
Specifies the name of the DTD file. This provides the structure of the CustomAttributes.xml file
<CustomAttributeDefinitions>
Opens the root of the CustomAttributes.xml file
<CustomAttribute Name="erNotesLevel0" RemoteName="Level0" Type="Date" CustomAttributeFlags="SCSL|CONVERTEMPTYTODELETE"/>
Defines the erNotesLevel0 attribute. The name of the custom attribute in the schema.dsml file is erNotesLevel0. The name of the attribute on the Lotus Domino server is Level0. The attribute is of type date. SCSL and CONVERTEMPTYTODELETE flags are set for the attribute.
<CustomAttribute Name = "erNotesEmpolyeeType" RemoteName="employeeType" Type="String" CustomAttributeFlags="SCSL"/>
Defines the erNotesEmpolyeeType attribute. The name of the attribute in the schema.dsml file is erNotesEmpolyeeType. The name of the attribute on the Lotus Domino server is employeeType. The attribute is of type string. SCSL flag is set for the attribute.
<CustomAttribute Name = "erNotesTmpNow" RemoteName="tmpNow" Type="Integer"/>
Defines the erNotesTmpNow attribute. The name of the attribute in the schema.dsml file is erNotesTmpNow. The name of the attribute on the Lotus Domino server is tmpNow. The attribute is of type integer. No flags are set for the attribute.
</CustomAttributeDefinitions>
Closes the root of the CustomAttributes.xml file
The Lotus Notes Adapter installer places the CustomAttributes.dtd file at the same location as the CustomAttributes.xml file. During run time, the adapter validates the CustomAttributes.dtd file with the CustomAttributes.xml file for the following three types of attributes:
  • Integer
  • String
  • Date
    Note: To specify values of type Date, use the format YYYYMMDDhhmmssSS, where:
    • YYYY = year
    • MM = month
    • DD = day
    • hh = hour (24 hour format)
    • mm = minute
    • ss = second
    • SS = millisecond
schema.dsml
Defines a custom attribute. Following is an example of a schema.dsml file that defines erNotesLevel0 custom attribute:
<attribute-type single-value = "true" >
 <name> 
erNotesLevel0
</name>
<description>
Custom Attribute 1
</description>
<object-identifier>
1.3.6.1.4.1.6054.3.25.2.123
</object-identifier>
<syntax>
1.3.6.1.4.1.1466.115.121.1.15
</syntax>
</attribute-type>
In this example:
<attribute-type single-value = "true" >
Specifies the value of attribute type as single
<name>erNotesLevel0</name>
Defines the name of the custom attribute
<description>Custom Attribute 1</description>
Provides the description of the custom attribute
<object-identifier>1.3.6.1.4.1.6054.3.25.2.123</object-identifier>
Specifies the unique identifier for the custom attribute
<syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax>
Refers to the syntax of the attribute type
Note: Each custom attribute must have a unique identifier. In addition, the identifier must be unique in the directory server where the attribute is stored.

After defining an attribute, declare that attribute as a member of the object-class erNotesAccount. Use the attribute tag to declare the custom attribute erNotesLevel0, as a member of the object class erNotesAccount:<attribute ref = "erNotesLevel0" required = "false" />