Sametime and the mystery surrounding Managed Settings

I have been working with a customer introducing Connections 4.0, Sametime Proxy and moving their current two Community servers away from native Domino to AD LDAP.

We are now at the point where as we are looking at migrating the users from their current Community server to their new one. Normally DNS could be used to do this but since the authentication method is changing too then some further steps are required. To do this two approaches are required 1) the Sametime client needs to always pull the buddy list from the server and 2) the client needs to be redirected to the new server.

This could be done with desktop policies in the address book but these are flaky and do not work as they should often enough. Personally I like the way that an xml file can be used and a Sametime policy created to reference it for a group or list of people. It keeps the actions in Sametime and separates it from the customers desktop policies which all to often don’t work.

The first step is well documented and is performed using managed-settings.xml. There are dozens of blogs from people detailing how to do this. Here is the contents of the customer’s managed-settings.xml:

<ManagedSettings>
<settingGroup name=”com.ibm.collaboration.realtime.imhub” lastModDate=”20130821T115100Z”>
<setting name=”buddyListConflictPref” value=”replaceLocal” isLocked=”true”/>
<setting name=”showBuddyListConflictDialog” value=”false” isLocked=”true”/>
<setting name=”showExternalModificationDialog” value=”false” isLocked=”false”/>
</settingGroup>
</ManagedSettings>

This changes the following setting in the client. This is important so that their local buddy list is always replaced with the server version which will have users listed in a different format.

2013-08-30_114418

The customer at present is not converting the user’s buddy list. My experience of using the name conversion tool is bad and is inconsistent although there have been a number of new fixes in the recent past so may be the conversion is better? They could also use a 3rd party such as Instant Technologies to convert the buddy list for them though there is a cost associated but there is a guarantee to the conversion accuracy.

The redirection of the client is where the documentation is confusing.

Below is the output that worked for me. I had to raise a PMR because my various attempts would redirect my client but would not blank out the user name. This would confuse users as they would attempt to log in using their Domino credentials rather than their AD ones.

The first managed-community-configs.xml below is what I created based on the documentation available and the end result was that the client would redirect but the user name was still populated which should not happen when using “createNewConfig.”

In my case there are two addresses that could be used by users to log in “oldserveralias1.domain.com” and “oldserveralias2.domain.com.” Listing both of them ensures that whatever DNS alias is used will be redirected.

<?xml version=”1.0″ encoding=”UTF-8″?>
<managed-communities>
<managed-community id=”oldserveralias1.domain.com” host=”oldserveralias1.domain.com” newHost=”newserver.domain.com”/>
<managed-community id=”oldserveralias2.domain.com” host=”oldserveralias2.domain.com” newHost=”newserver.domain.com”/>
<managed-community-action type=”update” createNewConfig=”true” managed-community-id=”oldserveralias1.domain.com”/>
<managed-community-action type=”update” createNewConfig=”true” managed-community-id=”oldserveralias2.domain.com”/>
</managed-communities>

With a little help from Cormac O’Leary and L3 the proper syntax was provided which is below.

<?xml version=”1.0″ encoding=”UTF-8″?>
<managed-communities>
<managed-community id=”oldserveralias1.domain.com” host=”newserver.domain.com”/>
<managed-community id=”oldserveralias2.domain.com” host=”newserver.domain.com”/>
<managed-community-action type=”reset” createNewConfig=”true” managed-community-id=”oldserveralias1.domain.com”/>
<managed-community-action type=”reset” createNewConfig=”true” managed-community-id=”oldserveralias2.domain.com”/>
</managed-communities>

Advertisements