LDAP directory with native Domino Directory

For retrieving business card information, you can set up a dual repository of an LDAP directory and a native Domino® Directory.

Before you begin

This section describes how to configure the business card using two storage repositories: LDAP directory as the primary storage and a native (non-LDAP) Domino Directory as the secondary storage.

About this task

These directions assume the following:
  • Domino and IBM® Sametime® Community Server have already been installed and configured to run properly.
  • Sametime authentication is configured to use an LDAP directory.
  • The LDAP server is running and accessible by the Sametime Community Server.
  • All LDAP attributes needed by business card accessible for query via anonymous connection or using a specific bind account/password.
  • The Sametime Community server is running.
  • Business card information can be retrieved from your Sametime directory.
  • A Notes® database based on the Domino Directory template (pubnames.ntf) has been created and contains person documents for each corresponding user account defined in the Sametime directory. For example, you could create a database named bcardstorage.nsf and add user accounts that correspond to the accounts in the Sametime directory based on the user email address.
  • Photos must be less than 45 KB (recommended: 10 KB) and must be in the .jpg or .gif file type.

Procedure

  1. Using Notes, open your Directory Assistance database (typically da.nsf). If such a database does not exist, you must create one based upon the Directory Assistance template.
  2. Click Add Directory Assistance to add an additional directory assistance document, and then specify the secondary storage database, for example bcardstorage.nsf. Note the information on the following tabs of the Directory Assistance document:
    • Basics tab -- Make sure to select Notes Clients & Internet Authentication/Authorization
    • Naming Contexts (Rules) tab -- Note that for Business Card purposes, the secondary storage does NOT have to be trusted for credentials, so you can select No in the Trusted for Credentials column.
    • Replicas tab -- List the Sametime Server and the name of the database (such as bcardstorage.nsf), and make sure it is enabled.
  3. Save and close the document.
  4. Make sure the directory assistance database is listed on the Basics tab of the Sametime server document in the Directory assistance database name field. If it is not listed, fill in the field, and restart the Sametime Server to effect that change.
  5. Log in to the WebSphere® Integrated Solutions Console as the WebSphere administrator.
  6. Click Sametime System Console > Sametime Servers > Sametime Community Servers.
  7. In the Sametime Community Servers list, click the deployment name of the server with the business card information that you want to add or change.
  8. Click the Business Card tab.
  9. In the Business Card Contents section, select the attribute you want displayed in users' business cards, and then click Add to include the selected attribute. If you do not want to display any pre-selected information, select each attribute, and then click Remove.
  10. In the Attribute Definition section, choose Attribute Values that are appropriate for your deployment. Each LDAP directory has its own naming schema, so be sure to confirm that each attribute value selected for display is mapped to the correct LDAP attribute as defined by your LDAP schema. If you prefer to map another attribute value to the attribute name instead of the default value, then choose User Defined.
    Table 1. Default attribute valuesDefault attribute value that is mapped to each attribute name
    Attribute Name Attribute Value
    E-mail address mail
    Telephone telephoneNumber
    Title title
    Photo jpegPhoto

    (requires the inetOrgPerson objectClass)

    Address postalAddress
    Company ou
    Name cn
  11. If you select User Defined for an Attribute Value, then enter an attribute to map to the Attribute Name.
  12. In the Attribute Definition table, change the Attribute Value for the attributes that will be retrieved from the secondary storage to User Defined and leave the User Defined field blank. For example, if you are retrieving users' Telephone and Title information from the Domino Directory; therefore, change the values for the Telephone & Title attributes to User Defined, and leave the User Defined field blank, and then click OK to save the changes
    Note: These values are blank to ensure they are retrieved from the secondary repository (the Domino Directory) and not from the primary repository, which is the LDAP directory.
  13. Modify the UserInfoConfig.xml file located in the Domino program directory (usually \IBM\domino\UserInfoConfig.xml) using a text editor. The UserInfo application fetches and delivers user information for each incoming client request (an user's request to view a particular user's business card). When you are using an LDAP directory as primary storage and a Domino Directory as secondary storage, make the following modifications.
    Add an additional Storage tag of Notes type within the Resources tag:
    <Storage type="NOTES">
     <CommonField CommonFieldName="MailAddress"/>
     <Details>
          <Detail Id="Title" FieldName="JobTitle" Type="text/plain"/>
          <Detail Id="Telephone" FieldName="OfficePhoneNumber" Type="text/plain"/>
     </Details>
     </Storage>
    </Resources>
    </Storage>
    Note: The <Details> section defines the attributes that will be retrieved by Sametime from the corresponding storage repository. In this example, we are retrieving Title and Telephone information from Domino.
  14. To ensure Telephone and Title fields come fromDomino, remove the following from the <Details> tag of the LDAP storage type:
    <Detail Id="Title" FieldName="title" Type="text/plain"/>
           <Detail Id="Telephone" FieldName="telephoneNumber" Type="text/plain"/>
  15. Add the following to the <BlackBoxConfiguration> section. Make sure it is listed after the LDAP blackbox as the order defines the search order:
    <BlackBox type="NOTES" name="com.ibm.sametime.userinfo.userinfobb.UserInfoNotesBB"
        MaxInstances="4"/></BlackBoxConfiguration>
    Note: Since Sametime is the storage to be searched first by the UserInfo application, and the LDAP directory is the Sametime directory, theNotes black box must be listed after the LDAP black box.
  16. Once these changes are made, the UserInfoConfig.xml looks like this:
    <UserInformation>
    <Resources>
    <Storage type="LDAP">
    <StorageDetails HostName="ldap.austin.ibm.com" Port="389" UserName="username" 
    Password="password" SslEnabled="false" SslPort="636" 
    BaseDN="o=ibm" Scope="2" 
    SearchFilter="(&(objectclass=organizationalPerson)(|(cn=%s)(givenname=%s)
    				(sn=%s)(mail=%s)))"/>
    <!-- Add another StorageDetails tag to support another ldap server. 
    The listing order implies the searching order -->
    <!-- Scope: 0=OBJECT_SCOPE 1=ONELEVEL_SCOPE 2=SUBTREE_SCOPE--> 
    			<SslProperties KeyStorePath="" KeyStorePassword=""/>
    <Details>
           <Detail Id="MailAddress" FieldName="e-mail" Type="text/plain"/>
           <Detail Id="Name" FieldName="cn" Type="text/plain"/>
           <Detail Id="Location" FieldName="postalAddress" Type="text/plain"/>
            <Detail Id="Company" FieldName="ou" Type="text/plain"/>
           <Detail Id="Photo" FieldName="jpegPhoto" Type="image/jpeg"/>
    </Details>       
    </Storage>
    <Storage type="NOTES">
    <CommonField CommonFieldName="MailAddress"/>
    <Details>
          <Detail Id="Title" FieldName="JobTitle" Type="text/plain"/>
          <Detail Id="Telephone" FieldName="OfficePhoneNumber" Type="text/plain"/>
     </Details>
     </Storage>
     </Resources>
     <ParamsSets>
     			<Set SetId="0" params="MailAddress,Name,Title,Location,Telephone,Photo,Company"/>
     			<Set SetId="1" params="MailAddress,Name,Title,Location,Telephone,Photo,Company"/>
     </ParamsSets>
     <BlackBoxConfiguration>
     <BlackBox type="LDAP" name="com.ibm.sametime.userinfo.userinfobb.UserInfoLdapBB" 
    MaxInstances="5"/>
     <BlackBox type="NOTES" name="com.ibm.sametime.userinfo.userinfobb.UserInfoNotesBB" 
    MaxInstances="4"/>
     </BlackBoxConfiguration>
     </UserInformation>
  17. Restart your Sametime Community and Domino servers to effect the changes. You have successfully configured the business card to display information for a single user from dual storage repositories: an LDAP directory and the Domino Directory.

What to do next

An optional setting in UserInfoConfig.xml file lets you map a detail to more than one attribute. As a result, the returned value for a detail is composed of a list of attributes retrieved from the storage. You can do this by mapping an item to a comma-separated list of attributes.

<Detail Id="Telephone"  FieldName="telephoneNumber,mobile" Type="text/plain" />

The response can contain a list of values separated by any character chosen by the administrator. To apply the new separator, edit the UserInfoConfig.xml file.

  1. Open UserInfoConfig.xml in an editor.
  2. Choose the Detail tag that you want to use to retrieve a list of attributes.
  3. Complete the FieldName property with the list of attributes to retrieve, separated by commas.
  4. Add an additional property: DisplaySeparator. Set its value to the required character that should appear in the response XML between any 2 retrieved attributes values. For example, <Detail Id="Telephone" FieldName="telephoneNumber,mobile" Type="text/plain" DisplaySeparator="/"/>.
    Note: To ensure a correct display on iOS, use the / symbol as the displaySeparator.
  5. Log in to the Integrated Solutions Console.
  6. Click Sametime System Console > Sametime Servers > Sametime Community Servers.
  7. In the Sametime Community Servers list, click the deployment name of the server with the connectivity information that you want to change.
  8. Click the Business Card tab.
  9. Verify that the mapping of this detail (the Telephone detail in the example) is empty.
  10. Click OK.
  11. Restart the server.