Populating a large user set 

Populate the Profiles database from an LDAP directory with a large user population.

In very large organizations, the number of users in the LDAP directory exceeds the capacity of the Tivoli Directory Integrator assembly lines for Profiles. To overcome this restriction, you can populate the database by using manual assembly lines. You cannot use the Profiles population wizard.

Limits with large user sets

The capacity of the standard assembly lines provided with IBM Connections is 100,000 users. In some cases, you can modify the maximum number of entries returned from the LDAP or adjust the source_ldap_page_size parameter in the profiles_tdi.properties file.

If neither of these alternatives is successful, use a special set of assembly lines to populate your Profiles database from your LDAP directory.

Alternative population process

If you have a very large set of data, set the source_ldap_iterate_with_filter property in the profiles_tdi.properties file to true. This uses the collect_ldap_dns_generator.js file to retrieve search criteria for a batch of records. The batch is always smaller than the limit of the LDAP retrieval.

The collect_ldap_dns_generator.js file constructs a search filter with a portion of UIDs but does not modify the search base. It is data-specific so you need to modify it for your own deployment. Modify suppliesSearchBase() or suppliesSearchBase(), depending on which filter is used in the LDAP retrieval.

If one of the filters is changed to return true (in the suppled file, suppliesSearchBase returns true), the corresponding function, either getNextSearchBase() or getNextSearchFilter(), is called in iterations. Each time the function is called it returns a string with the next search base or filter to use. When it reaches the end of the batch, it returns null.

In the sample file, the UID is examined over a range of its first characters. The process first uses some special characters and then examines the first two characters of the uid string. For example: aa*, ab*, and so on. After it reaches zz* it returns null and the collect_dns assembly line stops processing. You can then run populate_from_dn_file as usual.

Parent topic

Manually populating the Profiles database

Related reference
Tivoli Directory Integrator properties
Batch files for processing Profiles data