+

Search Tips   |   Advanced Search

Synchronize user data between application DBs and the LDAP


Overview

Use the following commands if...

Each Connections application owns membership tables containing user external IDs, and user data related to the application.

The commands below are not necessary for the Profiles application, as it set to synchronize LDAP user data using TDI. Profiles is not installed, or is installed but Profiles integration is not enabled, the LDAP is the corporate LDAP directory. to synchronize users in the Profiles database with a source LDAP database.

Logs are located in...

Parameters in brackets are optional.


Example: Preview, then update, Community membership information

  1. Using preview, we discover that active member Jane Smith's application, and LDAP IDs do not match...

      wsadmin>execfile("communitiesAdmin.py")
      wsadmin>CommunitiesMemberService. previewSyncAllMembersByExtId({"updateOnEmailLoginMatch": "true", "verbose" : "true"}
      UpDt ExtId: c32c2f3a2ad1XX Name: Jane Doe has a superseded external ID, and would have been updated:
      New ExtId: c32c2f3a2ad1
      [2012-08-07] Additional application possibly-stale member data: Email: jane_doe@us.acme.com Logins: [Doe, jane_doe@us.acme.com, Jane Doe]
      [2012-08-07] Directory service basic user data: Display name: Jane Smith Update External id: c32c2f3a2ad1
      [2012-08-07] Directory service email and logins: Email: sTestuser5@janet.iris.com Logins: [Smith, Jane Smith, jane_doe@us.acme.com]

  2. Synchronize Jane's Community DB identity to LDAP external id c32c2f3a2ad1.


Commands


Administrative commands from previous releases

These commands from earlier releases have been updated to enable changing the user state of a person from active to inactive. Use these commands in the following cases:

The refresh operation is not logged.

If the external ID is not found in the LDAP, then a synchronize operation is performed based on the email and login values and the user's external ID in the member table in the application database is updated with the external ID in the LDAP. Also, the user's email, display name, and any additional login names are refreshed. Each user that is synchronized by this operation is logged in the log file. If the user cannot be found in the LDAP by any means (external ID, login names, or email) then the user may be inactive. The command can do one of two things in this situation, depending on whether the allowInactivate input parameter is set to true or false (see the following explanation of the two flags).

See also AppMemberService.syncBatchMemberExtIdsByEmail(emailFile) command instead.

Parameters:

This command does not return anything.

For example:

AppMemberService.previewSyncBatchMemberExtIdsByLogin("loginFile" [, { "allowInactivate" : ["true" | "false"] [, "multiLine" : ["true" | "false"] ] [, "verbose" : ["true" | " false"] ] } ] )

See previewSyncAllMembersByExtId(). Default is true.


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

Synchronize member record in the application member table identified by the member's email address parameter.

If a match found retrieve external ID in the application member table, and look it up in the LDAP directory. If the external ID is found, the user's email address and display name and any additional login names are refreshed to match those in the LDAP directory. The refresh operation is not logged.

If the external ID is not found in the LDAP, then a synchronize operation is performed based on the email and login values and the user's external ID in the member table is updated with the external ID in the LDAP. Also, the user's email, display name, and any additional login names are refreshed. Each user that is synchronized by this operation is logged in the log file. If the user cannot be found in the LDAP by any means (external ID, login names, or email) then the user may be inactive. The command can do one of two things in this situation, depending on whether the allowInactivate input parameter is set to true or false (see the following explanation of the two flags).

See also syncMemberExtIdByLogin(java.lang.String loginName)

Parameters:

    email

    String. A user's email address.

    allowInactivate

    String. Options are true or false. Specify one of these values to allow changes to the state of the user.

    If true, the user is inactivated in the member table of the application database if there is not match. The user's email and login names are deleted from the table and the state flag is set to inactive.

    If false or null, the user is not made inactive. Instead, a log message is written to the log file.

For example:

AppMemberService.previewSyncMemberExtIdByEmail("emailAddr" [, { "allowInactivate" : ["true" | "false"] [, "multiLine" : ["true" | "false"] ] [, "verbose" : ["true" | " false"] ] } ] )

See previewSyncAllMembersByExtId(). Default is true.

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

This synchronizes the member record in the application member table identified by the user login name parameter. If a match is found, for example the email address identifies a member, the command retrieves the external ID in the application member table and looks it up in the LDAP. If the external ID is found, then the user's email address and display name and any additional login names are updated so they match those in the LDAP. The refresh operation is not logged.

If the external ID is not found n the LDAP, then a synchronize operation is performed and the user's external ID in the member table is updated with that of the external ID in the LDAP. Also, the user's email, display name, and any additional login names are refreshed. Each user that is synchronized by this operation is logged in the log file. If the user cannot be found in the LDAP by any means (external ID, login names, or email) then the user may be inactive. The command can do one of two things in this situation, depending on whether the allowInactivate input parameter is set to true or false.

See also: AppMemberService.syncMemberExtIdByEmail(java.lang.String emailAddress)

Parameters:

    name

    String. User login name.

    allowInactivate

    String. Options are true or false. Specify one of these values to allow changes to the state of the user.

    If true, the user is inactivated in the member table of the application database if there is not match. The user's email and login names are deleted from the table and the state flag is set to inactive.

    If false or null, the user is not made inactive. Instead, a log message is written to the log file.

For example:

    ActivitiesMemberService.syncMemberExtIdByLogin("jdoe", {"allowInactivate":"true"})

To understand the ‘preview’ version of the command see the explanation of preview under the previewSyncAllMembersByExtId() command at the beginning of this section. Note the default value for the verbose parameter is true.

AppMemberService.previewSyncMemberExtIdByLogin("name"[, { "allowInactivate" : ["true" | "false"] [, "multiLine" : ["true" | "false"] ] [, "verbose" : ["true" | " false"] ] } ])

See previewSyncAllMembersByExtId(). Default is true.


App


Parent topic:
Manage users when the Profiles application is not installed


Related:

Troubleshoot user data synchronization


Related:
Synchronize remote application data with the Communities database
Use administrative commands
Inactivate users to manage users with administrative commands
Set user roles for external collaboration
Change WAS environment variables
Communities administrative commands
Home page administrative commands
News repository error messages