Version 4

    Problem:

    Changing a username in Active Directory (AD) does not update the username field of the desired user profile in the Jive system in pre-4.5.6 versions.

     

    Type of Problem:

    User information synchronization.

     

    Cause:

    Jive relies on the username field to synchronize entries with Active Directory or other LDAP sources.  If the username field is changed in the AD entry, the Jive system will no longer associate this entry with the intended local user account.  If the LDAP sync has run since the renaming of the user in AD, it will create a new user in Jive using the new username (if one does not already exist).

     

    Solution:

    Note: This issue applies only to pre-4.5.6 versions.  Starting in 4.5.6 admins have the ability to change a username in the Admin Console.

     

    If the username has been changed in Active Directory already, verify that the change in username has not created a new account in the Jive system.  If it has, delete this new account before making the following changes.

     

    **Please note that the following is an example procedure assuming Postgres as the database server.  If using a database other than Postgres, you will need to modify the queries accordingly.**

     

    • Access the application database and run the following query, replacing the username values, to check for existing accounts in Jive.
    select userid, username from jiveuser where username in ('old_username', 'NEW_USERNAME');

           This should return a result only for 'old_username'.  If a result is returned for 'NEW_USERNAME', use the admin console to verify this username is not already in use, and delete the new account if appropriate.

     

    • Assuming correct results are given by the above query, run the following statements to change the username of the existing account.
    start transaction;update jiveuser set username='NEW_USERNAME' where username='old_username';update jiveusercontainer set name='NEW_USERNAME' where name='old_username';update jiveblog set displayname='NEW_USERNAME' where displayname='old_username';update jivewfcurrentstep set owner='NEW_USERNAME' where owner='old_username';update jivewfhistorystep set owner='NEW_USERNAME' where owner='old_username';
    • Verify the output of the queries looks correct (the first two queries should show only 1 update each, the last 3 can be 0 or more) and, if so, run:
    commit;

     

    This will change the user information directly in the database, but will not push the update into the Jive application's cache.  In order to see the results of the update perform the following:

    • Clear the user cache
      • In the Admin Console go to System => Settings => Caches and check the box next to 'User'
      • Scroll to the bottom and click the button labeled "Clear selected"
    • Rebuild the user index
      • In the Admin Console go to System => Settings => Search => Index Tasks (tab)
      • Under the User Index heading, click the button labeled "Rebuild User Index" (Take care not to hit the "Rebuild Index" button under the Main Index heading as this will reindex the entire site and put an extra load on system resources)

     

    The user's information should be correctly synchronized with the LDAP server on the user's next login.