Synchronize user identification data between the Home page and the LDAP directory 

Use administrative commands to synchronize member records in the Home page database with the LDAP directory.


Before starting

To use administrative commands, use the wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool.

If you are using the Profiles directory service, first synchronize the ExtId values in the Profiles database with the LDAP directory before you can run the commands that synchronize member IDs described in this topic. See Synchronize user data between Profiles and the LDAP directory for more details.


About this task

When users are migrated to a new LDAP directory or a user is removed and reentered in the LDAP directory and their unique identifier changes, these users are not able to log in to the Home page until the user record is updated with the HomepageMemberService command.


Procedure

To synchronize member IDs between the Home page and LDAP databases...

  1. Start the wsadmin client so that you can access the Home page configuration file:

    1. Access the Home page configuration files.

        execfile("homepageAdmin.py")

        If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, pick the node where the file is stored.

  2. Use one of the following commands to update member IDs in the Home page database:

      Table 1. HomepageMemberService commands
      Command Description
      HomepageMemberService.syncAllMemberExtIds() Synchronizes all member directory IDs in the Home page member database table with the LDAP directory ID. For each member, this service queries the LDAP server by login name (or names) stored as part of the Home page member profile to retrieve the updated directory ID (unique interapplication identifier). In addition, the member's login names, display name, and email address are updated if necessary.

      Use this command when a change occurs in the deployment LDAP system. For example, if people have been deleted from the LDAP directory or personal information has changed.

      Update time varies depending on the number of people in the Home page database. On average, it takes approximately eight minutes to update 500 users. For large databases, run this process overnight. If an update was not completed successfully, check your server logs for any additional information.

      This command does not take any parameters.

      For example:

        HomepageMemberService.syncAllMemberExtIds()

      HomepageMemberService.syncMemberExtIdByLogin(String loginName) Synchronizes a single member's directory ID in the Home page member database table. This command is essentially the same as syncAllMemberExtIds() but applied to a single member. The member's login names, display name, and email address are updated.

      This command takes loginFile as a parameter. This is a text file name with a single, valid login name per line. You must create this text file and save it in a directory that is local to the server that you connect to.

      For example:

        HomepageMemberService.syncMemberExtIdByLogin("/opt/Homepage/update.txt")

      HomepageMemberService.syncBatchMemberExtIdsByLogin(String loginFile) Synchronizes a list of member's directory IDs in the Communities member database table. The list is specified in a text file specified by the parameter. This command is essentially the same as syncAllMemberExtIds() but applied to a list of members, and the LDAP server is queried by the specified login names. Thus, the members' login names, display names, and email address are updated.

      You must create this text file and save it in a directory that is local to the server that you connect to.

      For example:

        HomepageMemberService.syncBatchMemberExtIdsByLogin("/opt/Homepage/update.txt")

      HomepageMemberService.syncMemberExtIdByEmail(String emailAddr) Synchronizes a single member's directory ID in the Home page member database table. The command is essentially the same as syncAllMemberExtIds(), but applied to a single member, who is identified by the specified email address. In addition, the member's login names and display name are updated if necessary.

      This command is used when a change occurs in the deployment LDAP system or when a person identifier in the LDAP directory changes in some respect. This change might occur when an LDAP record is updated.

      This command takes a string as a parameter, emailAddr. This string is a valid email address.

      Note: Email addresses are case sensitive.
      For example:

        HomepageMemberService.syncMemberExtIdByEmail("john_smith@example.com")

      HomepageMemberService.syncBatchMemberExtIdsByEmail(String emailFile) Synchronizes a list of member's directory IDs in the Home page member database table. The list is specified in a text file specified by the parameter. This command is essentially the same as syncAllMemberExtIds() but applied to a list of members, and the LDAP server is queried by the specified email addresses. Thus, the members' login names and display names are updated.

      This command takes emailFile as a parameter. This parameter is a text file name with a single, valid email address per line. You must create this text file and save it in a directory that is local to the server that you connect to.

      Note: Email addresses are case sensitive.
      For example:

        HomepageMemberService.syncBatchMemberExtIdsByEmail("/opt/Homepage/update.txt")


      Note: Depending on the size of data being synchronized, if the execution of one of these commands takes longer to complete than the value of the com.ibm.SOAP.requestTimeout property in the soap.client.props file in <WAS_HOME>\profiles\PROFILE_NAME\properties\soap.client.props, an error displays on the wsadmin console, and any return value from the method invoked is lost. The command continues to be processed to completion, but the connection between the application and the wsadmin client that invoked it is gone. To change this behavior so that the client does not terminate the connection, increase the value of the com.ibm.SOAP.requestTimeout property or set the property to 0 for no timeout. If you reset the property, restart the application server for the change to take effect.

Related tasks
Synchronize user data between Profiles and the LDAP directory

+

Search Tips   |   Advanced Search