Home

 

Synchronize user identification data between Blogs and LDAP

You can run commands that will synchronize the unique identifier (user ID) and user email addresses used in Blogs with the user information stored in LDAP.

To edit configuration files, use wsadmin. See Start the wsadmin client for details.


The synchronization commands synchronizes the unique identifiers (user IDs) or email addresses used in Blogs with the corresponding user IDs or email addresses used in the LDAP Run these commands if LDAP information for any Blogs users changed. For example, if a user in an LDAP was deleted and then added back, the user would get a new user ID in the LDAP - even if the user was recreated with the same Login Name or Email address. You would then need to run one of the synchronization commands so that the Blogs database tables can be updated with the new user ID from LDAP. If you are moving from a pilot installation to a full production environment, you would be moving to a different LDAP and would need to run this command.

If the Lotus Connections server has Profiles service extension enabled in LotusConnections-config.xml, also ensure that the Profiles component has also done a sync command with the LDAP server, so that the information stored in the Profiles database reflects the new email addresses or new user IDs. With Profiles service extension enabled, the other components, like Blogs, will look to the Profiles database (instead of LDAP) when making some of the membership calls.

  1. Open a command window and start the wsadmin command line tool. See Starting wsadmin for more details.

    In a clustered environment, make sure you run wsadmin from the WAS Network Deployment server.

  2. Start the Blogs Jython script interpreter by entering the following command:

    • Single server:

        execfile("blogsAdmin.py")
        

  3. Cluster:

      execfile("<WAS_PROFILE_ROOT>/<DmgrName>/config/bin_lc_admin/blogsAdmin.py")
      

    For example, WebSphere\AppServer\profiles\Dmgr01\config\bin_lc_admin\blogsAdmin.py 

  4. Enter one of the following commands to synchronize user data:

    Option Description
    BlogsMigrationService.syncAllUserEmails()

    This command updates all email addresses in the Blogs ROLLERUSER database table. This service queries the LDAP server for each user by user ID to retrieve the updated email address, and then updates all member email addresses by user ID. Update time will vary, depending on the number of people the Blogs ROLLERUSER database table. On average, 8 minutes per 500 users is the norm. For large databases, run this process overnight.

    BlogsMemberService.syncAllMemberExtIds()

    This command will update the user's external user ID in the Blogs ROLLERUSER database table. This service queries the LDAP server for each user by login name to retrieve the updated user ID.

    Update time will vary, depending on the number of people in the Blogs database table, ROLLERUSER. On average, 8 minutes per 500 users is the norm. For large databases, run this process overnight.

    BlogsMemberService.syncMemberExtIdByEmail(emailAddr)

    This command updates the user's external user ID in the Blogs ROLLERUSER database table by the specified email address. For example,

    BlogsMemberService.syncMemberExtIdByEmail("mary_brown@renovations.com")

    BlogsMemberService.syncMemberExtIdByLogin(loginName)

    This command updates the user's external user ID in the Blogs ROLLERUSER database table by the specified login name. For example,

    BlogsMemberService.syncMemberExtIdByLogin("mary_brown")

    BlogsMemberService.syncBatchMemberExtIdsByEmail(emailFile)

    This command updates the user's external user ID in the Blogs ROLLERUSER database table by the email addresses in the specified email file. Specify the path and name of a text file that contains one or more email addresses of users to sync. Specify one email address per line in the text file. For example,

    BlogsMemberService.syncBatchMemberExtIdsByEmail("d:/temp/userEmails.txt")

    In a stand-alone deployment, create this text file and save it in a local to the server where you are running the wsadmin processor. In a network deployment, the file needs to be local to the server that you connect to.

    Sample of the userEmails.txt file:

    • ajones@ibm.com

    • joseph_smith@ibm.com

    • eric.warner@ibm.com

    BlogsMemberService.syncBatchMemberExtIdsByLogin(loginFile)

    This command updates the user's external user ID in the Blogs ROLLERUSER database table by the login names in the specified login file. Specify the path and name of a text file that contains one or more login names of users to sync. Specify one login name per line in the text file. For example,

    BlogsMemberService.syncBatchMemberExtIdsByLogin("d:/temp/userLoginNames.txt")

    In a stand-alone deployment, create this text file and save it in a local to the server where you are running the wsadmin processor. In a network deployment, the file needs to be local to the server that you connect to.

    Sample of the userLoginNames.txt file:

    • ajones

    • joseph smith

    • ericwarner

    BlogsMigrationService.syncAllUserIds()

    This command is being deprecated in Connections 2.5. For release 2.5, this command is being maintained for backward compatibility. We recommend you use BlogsMemberService.syncAllMemberExtIds() instead, which is the replacement for this deprecated command.

    This command updates all user IDs in the Blogs database. This service queries the LDAP server for each user by login name to retrieve the updated user ID.

    Update time will vary, depending on the number of people in your Blogs database table, ROLLERUSER. On average, 8 minutes per 500 users is the norm. For large databases, run this process overnight.

    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 will display on the wsadmin console, and any return value from the method invoked will be lost. The command continues to be processed to completion, but the connection between the feature and wsadmin 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.

 

Results

When the command completes, the result displays in the wsadmin console, including error messages and summary message. You also can see the messages that are logged by "BlogsAdmin" in the SystemOut.log file. The commands update the Blogs ROLLERUSER database table.


Administer Blogs using the wsadmin Client

 

Related tasks

Start wsadmin

Synchronize IDs between LDAP and the feature databases


+

Search Tips   |   Advanced Search