The distinguished name for Lotus Notes connected data sources must be in a specified format. If the distinguished name is in another format, the management agent still returns the distinguished name in the correct format. However, there is a loss in performance when you rely on the management agent to create the distinguished name because the management agent must create the new distinguished name before it synchronizes it with the metaverse.

To improve the performance of provisioning for Lotus Notes connected data sources, create the distinguished name in the following format: CN=firstnamemiddleinitiallastname/o=certifier,NAB=Notes Address Book

Note:
The first name, middle initial, and last names of the user are separated by a space.

Name Description

firstname

The first name of the user.

middleinitial

The middle initial of the user.

lastname

The last name of the user.

certifier

The organizational unit (OU) name of the certifier.

Notes Address Book

The file name of the Notes Address Book. If you are referencing a file that is located in a folder for the value, use a forward slash (/) to separate the folder from the file name. For example, folder/file name.DN

The following example is the distinguished name of Jeff Smith in the main organizational unit with a Notes Address Book file, Names.nsf.

CN=Jeff Smith/o=main,NAB=names.nsf

The following examples show how to create a distinguished name for a user by using the identification file that is stored in the MADATA folder.

Visual Basic  Copy Code
Public Sub Provision(ByVal mventry As MVEntry) _
	Implements IMVSynchronization.Provision

	Dim ManagementAgent As ConnectedMA
	Dim Connectors As Integer
	Dim csentry As CSEntry
	Dim DNName As String
	Dim DNCertifier As String = "O=Main"

	If mventry("EmployeeStatus").IsPresent _
		AndAlso mventry("EmployeeStatus").Value.Equals("active") Then

		ManagementAgent = mventry.ConnectedMAs("Lotus Notes MA")
		Connectors = ManagementAgent.Connectors.Count

		If 0 = Connectors Then

			csentry = ManagementAgent.Connectors.StartNewConnector("person")
			DNName = mventry("sn").Value

			If mventry("middleName").IsPresent Then
				DNName = mventry("middleName").Value + " " + DNName
			End If

			If mventry("givenName").IsPresent Then
				DNName = mventry("givenName").Value + " " + DNName
			End If

			DNName = DNName + "/" + DNCertifier

			' Set the property values to provision the object.
			csentry.DN = ManagementAgent.EscapeDNComponent("CN=" _
							+ DNName).Concat("NAB=names.nsf")

			csentry("LastName").Value = mventry("sn").Value
			csentry("_MMS_Certifier").Value = DNCertifier
			csentry("_MMS_IDRegType").IntegerValue = 1  ' US User
			csentry("_MMS_IDStoreType").IntegerValue = 2  ' ID File as a file

			' The next two properties must have a value for a user with an
			' identification file.
			csentry("_MMS_IDPath").Value = mventry("cn").Value
			csentry("_MMS_Password").Value = "FilePassword"

			' The next two properties must have a value for a user to access
			' e-mail through the Lotus Notes client or Web browser.
			csentry("MailServer").Value = "CN=DominoServer/O=DominoDomain"
			csentry("MailFile").Value = "mail\" & mventry("uid").Value

			' Finish creating the new connector.
			csentry.CommitNewConnector()

		End If

	End If

End Sub
C#  Copy Code
void IMVSynchronization.Provision (MVEntry mventry)
{
	ConnectedMA ManagementAgent;
	int Connectors;
	CSEntry csentry;
	string DNName;
	string DNCertifier = "O=Main";

	if(mventry["EmployeeStatus"].IsPresent)
	{
		if(mventry["EmployeeStatus"].Value.Equals("active"))
		{
			ManagementAgent = mventry.ConnectedMAs["Lotus Notes MA"]; 	
			Connectors = ManagementAgent.Connectors.Count;
		
		
			// Create the new connector.
			if(0 == Connectors)
			{ 	
				csentry = ManagementAgent.Connectors.StartNewConnector("person");
				DNName = mventry["sn"].Value; 

				if(mventry["middleName"].IsPresent)
				{
					DNName = mventry["middleName"].Value + " " + DNName;
			}			

				if(mventry["givenName"].IsPresent)
				{
					DNName = mventry["givenName"].Value + " " + DNName;
			}			

				DNName = DNName + "/" + DNCertifier;
			 
				// Set the property values to provision the object.
				csentry.DN = ManagementAgent.EscapeDNComponent("CN="
								+ DNName).Concat("NAB=names.nsf");

				csentry["LastName"].Value = mventry["sn"].Value;
				csentry["_MMS_Certifier"].Value = DNCertifier; 
				csentry["_MMS_IDRegType"].IntegerValue = 1;  // US User	
				csentry["_MMS_IDStoreType"].IntegerValue = 2;  // ID File as a File

				// The next two properties must have a value for a user with 
				// an identification file.
				csentry["_MMS_IDPath"].Value = mventry["cn"].Value; 		
				csentry["_MMS_Password"].Value = "FilePassword";  

				// The next two properties must have a value for a user to access
				// mail through the Lotus Notes client or Web browser.
				csentry["MailServer"].Value = "CN=DominoServer/O=DominoDomain"; 
				csentry["MailFile"].Value = @"mail\" + mventry["uid"].Value;
	
				// Finish creating the new connector.
				csentry.CommitNewConnector();
		}
	}
}
}

See Also