ShowTable of Contents
Introduction
The intent of this article is to give you an insight into the real-world scenarios occurring with IBM® Connections 3.0.1 with respect to IBM Tivoli® Directory Integrator (TDI) scripts and user population. It is assumed that the reader is familiar with basic concepts of TDI and its corresponding usage in IBM Connections Profiles population activity.
For details on setting up TDI and IBM Connections 3.0.1, refer to the IBM Connections 3.0.1 product documentation topic, “
Configuring Tivoli Directory Integrator.”
Scenarios
TDI is used along with IBM Connections to populate user data from varied sources, primarily Lightweight Directory Access Protocol (LDAP). The pre-packaged scripts with IBM Connections use the properties files in the TDISOL directory.
Populating users from a Domino group
Scenario: Organization X wants to run an Idea Jam event, using IBM Connections for business focus in the upcoming quarter. The participants are generally senior management and VP’s from different organizational departments and countries. Other users are not able to use IBM Connections.
Requirements: Only a select group of people are to be populated in IBM Connections, but these people do not belong to a particular directory tree. So instead, organization X has created an IBM Lotus® Domino® group with the participants as members of this group. All members of this group must be populated to IBM Connections manually.
Solution: IBM Connections uses a combination of two scripts to populate users manually.
- collect_dns.bat/sh: This file collects the Distinguished Names (DNs) of all users who are returned from LDAP based on the search filter set in profiles_tdi.properties and writes the output as a list in collect.dns.
- populate_from_dn_file.bat: This file takes the collect.dns file as input and populates users whose DN is in the collect.dns to the Profiles database.
NOTE: Make sure to set the LDAP and database details correctly in profiles_tdi.properties before continuing with this solution.
To populate users from a Domino group we build a simple assembly line that fetches the users of a particular group and outputs their DN’s into a file that can then be used as input to run the usual populate_from_dn_file.bat task to populate the users:
- Follow the steps in the product documentation topic, “Setting up your development environment,” to set up a TDI development environment.
- In the TDI Configuration Editor, create a new AssemblyLine and provide a suitable name, for example, DominoMembers (see figure 1).
Figure 1. DominoMembers AssemblyLine
3. In the Feed section, add an LDAPConnector and provide the details to connect to Domino LDAP as shown in figure 2.
Figure 2. Add LDAPConnector
4. If you have multiple groups and want to populate from a particular group named demogroup, the search filter above can be set as
"(&(objectClass=dominoGroup)(cn=demogroup))"
5. Under the Input Map tab, add the member attribute and map it to the member (see figure 4).
Figure 4. Add member attribute
6. Next we add a connector of type Attribute Value Loop. Set the attribute that contains multiple values as member, and set the temporary attribute that holds the value of the member during each loop iteration as loopmember (see figure 5).
Figure 5. Attribute Value Loop connector
7. Inside the For-EACH Attribute: AttributeValueLoop, add a file system connector that will write the list of members to an output file called collect.dns (see figure 6).
Figure 6. Specify output file
8. Under the Output Map tab, select the loopmember attribute and write it to a destination (see figure 7).
Figure 7. Write loopmember attribute to destination
The data flows would be as shown in figure 8.
Figure 8. Data flows
9. Save and Run the AssemblyLine. This fetches the members of the particular Domino group and writes them into the output file (see figure 9).
Figure 9. Output file
10. Finally, run the
populate_from_dn_file.bat to then populate these users into IBM Connections.