Synchronize user identification data between Files and the LDAP directory 

Use FilesMemberService commands to synchronize member information between the Files database directory and the IBM Connections user directory.


Before starting

Each IBM Connections application has a local database that stores users to avoid costly lookups on the server user directory. The Files application automatically synchronizes the local database directory with the server directory using directory ID values. If all users have directory IDs that never change, then Files synchronizes the local and server directories automatically. Perform the steps in this topic to synchronize the Files directory and user directory using a value other than the directory ID.

If you have configured all IBM Connections applications, including Files, to synchronize users automatically, you should disable the Files user synch task. For information on disabling the synch tasks, see the descriptions of scheduledTasks.DirectoryUserSynch.enabled in the topic Files configuration properties.

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

To use administrative commands, use the wsadmin client. See Starting the wsadmin client for details.


About this task

The commands used to synchronize member information between the Files and user directory do not return any output. After running the commands, be sure to check the SystemOut.log file because the login names of users that were not successfully updated are logged in this file.


Procedure

  1. Start the wsadmin client.

  2. Start the Files Jython script interpreter using the following command:

      execfile("filesAdmin.py")

  3. Use the commands below to change the internal IDs of users.

      FilesMemberService.getById(string userId)

        Returns information about a user specified by a user ID. The command only searches the Files database, so it only returns users who have logged in at least once.

        Parameters:

        id

          The user ID in the following standard Universally Unique Identifier (UUID) format: 00000000-0000-0000-0000-000000000000. The following information is returned:

          • id: The user ID in the following standard Universally Unique Identifier (UUID) format: 00000000-0000-0000-0000-000000000000.

          • name: The user's name in the database as of the date in directoryLastUpdate.

          • email: The user's email address.

          • isOrphan: Returns true if the user is in the database, but not the directory.

          • createDate: The date the user was added to the database.

          • lastVisit: The date of the user's last log in.

          • directoryLastUpdate: The last time the user's data was synchronized from the directory.

          • directoryGroupLastUpdate: The last time this user's group membership was synchronized from the directory.

          • communityLastUpdate: The last time this user's Community membership was synchronized.

        For example:

        FilesMemberService.getById("2d93497d-065a-4022ae25-a4b52598d11a")

      FilesMemberService.getByExtId(string externalId)

        Returns information about a user specified by an external directory ID. The command only searches the Files database, so it only returns users who have logged in at least once.

        Parameters:

        externalId

          A string value matching the user's external directory ID. This can be any parameter in the user directory that you have configured as the directory ID. The following user information is returned:

          • id: The user ID in the following standard Universally Unique Identifier (UUID) format: 00000000-0000-0000-0000-000000000000.

          • name: The user's name in the database as of the date in directoryLastUpdate.

          • email: The user's email address.

          • isOrphan: Returns true if the user is in the database, but not the directory.

          • createDate: The date the user was added to the database.

          • lastVisit: The date of the user's last log in.

          • directoryLastUpdate: The last time the user's data was synchronized from the directory.

          • directoryGroupLastUpdate: The last time this user's group membership was synchronized from the directory.

          • communityLastUpdate: The last time this user's Community membership was synchronized.

        For example:

        FilesMemberService.getByExtId("2d93497d-065a-4022ae25-a4b52598d11a")

      FilesMemberService.getByEmail(string email)

        Returns information about a user specified by an email address. The command only searches the Files database, so it only returns users who have logged in at least once.

        Parameters:

        email

          The email address for the user. The following user information is returned:

          • id: The user ID in the following standard Universally Unique Identifier (UUID) format: 00000000-0000-0000-0000-000000000000.

          • name: The user's name in the database as of the date in directoryLastUpdate.

          • email: The user's email address.

          • isOrphan: Returns true if the user is in the database, but not the directory.

          • createDate: The date the user was added to the database.

          • lastVisit: The date of the user's last log in.

          • directoryLastUpdate: The last time the user's data was synchronized from the directory.

          • directoryGroupLastUpdate: The last time this user's group membership was synchronized from the directory.

          • communityLastUpdate: The last time this user's Community membership was synchronized.

        For example:

        FilesMemberService.getByEmail("john_doe@company.com")

      FilesMemberService.syncAllMembersByExtId( {"updateOnEmailLoginMatch": ["true" | "false"] } )

        See Synchronize user data using administrative commands for details.

      FilesMemberService.syncMemberByExtId("currentExternalId"[, {"newExtId" : "id-string" [, "allowExtIdSwap" : ["true" | "false"] ] } ] )

        See Synchronize user data using administrative commands for details.

      FilesMemberService.inactivateMemberByEmail("email")

        See Synchronize user data using administrative commands for details.

      FilesMemberService.inactivateMemberByExtId("externalID")

        See Synchronize user data using administrative commands for details.

      FilesMemberService.getMemberExtIdByEmail("email")

        See Synchronize user data using administrative commands for details.

      FilesMemberService.getMemberExtIdByLogin("login")

        See Synchronize user data using administrative commands for details.

      FilesMemberService.syncBatchMemberExtIdsByEmail("emailFile" [, {"allowInactivate" : ["true" | "false"] } ] )

        See Synchronize user data using administrative commands for details.

      FilesMemberService.syncBatchMemberExtIdsByLogin("loginFile" [, {"allowInactivate" : ["true" | "false"] } ] )

        See Synchronize user data using administrative commands for details.

      FilesMemberService.syncMemberExtIdByEmail("email" [, { "allowInactivate" : ["true" | "false"] } ])

        See Synchronize user data using administrative commands for details.

      FilesMemberService.syncMemberExtIdByLogin("name" [, {"allowInactivate": ["true" | "false"] } ])

        See Synchronize user data using administrative commands for details.

Related tasks
Starting the wsadmin client
Synchronize user data between Profiles and the LDAP directory

Related reference
Files configuration properties


   

 

});

+

Search Tips   |   Advanced Search