Sametime 7.5 business voes – why doesn’t the picture update?

At the office we are using the business card feature of Sametime 7.5 and up to now it has been working fine since we got past our initial problems with the UserInfoServlet (which made me reverse engineer it). A problem is now appearing though. The problem is that once users update their business card picture in the Domino Directory (we simply populated the field with a “standard” image to begin with) the picture doesn’t update in the Sametime Connect clients. Right-clicking the user in Sametime Connect and selected “Refresh Person Info” doesn’t help either.

Poking around the Sametime folders I found where the cache is kept (“C:Documents and Settingslekkim.HQApplication DataSametime.metadata.pluginscom.ibm.collaboration.realtime.peoplePersonCache” on my computer). In this directory there is a folder per community you have configured in your client. In the folder for our internal community there is a XML-file and an image file per user – the XML file holds the information fetched from the UserInfoServlet-servlet and the image is the business card image.

I thought it was so simple that I could simply modify that last updated timestamp in the XML-file, delete the image file or delete both the XML-file and image file to make Sametime refresh the information. Not so however… 😦 Exiting the client, manually updating the image and/or modifying the XML-file makes the new information appear when starting the client again.

Looks like the client is caching the information which is all well and good but shouldn’t it update at some point?

I guess that the caching/refreshing is governed by some other setting – maybe in the buddylist. Unfortunately I can’t find any information about this subject. All information is related to initially configuring the stuff.

Sametime 7.5 error message for the math wiz among us…

I have configured 100MB as the maximum filesize for file transfers via Sametime 7.5. I was however a little surprised when I saw how Sametime Connect chose to let me know that the file I was trying to send was above quota. Is there really a need to:

  1. show the maximum configured size in bytes!
  2. show the size of the file in scientific notation (1.024E8) and in bytes!

I guess that’s a thing for service pack 1…

Show ‘n Tell Thursday: Removing the slash screen from Sametime 7.5 (5 October 2006)


Since Sametime 7.5 is built upon the Eclipse Rich Client Platform (RCP) you can hack it as such. In Eclipse RCP programs the slash screen is a configurable component which led me to believe it could be removed. And I was right. The below guidelines are for Windows but should be applicable to other platforms as well.

To not display the slash screen at startup do as follows:

  • Open your Windows Explorer and navigate to your Sametime 7.5 installation directory (C:Program FilesIBMSametime 7.5)
  • Open the “configuration” directory
  • Open the config.ini file in your favorite editor
  • Remove the second line of the file (the one starting with “osgi.splashPath”) or comment it out by inserting a #-character at the start of the line
  • Save and close the file

When restarting Sametime the slash screen should be gone.

Happy days! Please note that this approach probably isn’t supported but hey – shouldn’t it be a configurable option in the first place? 😉

Re: What’s up with Sametime 7.5 spellchecking?

I was made aware by a coworker that the UI language and the spellchecking language doesn’t go together as started previously. The only available spellchecking language in Sametime 7.5 is English. The dictionary for the spellchecking is located together with the IBM “langware”-plugin (see the “pluginscom.ibm.langware.v5.dic.en_US_5.3.1.9-20060714” directory) in the Sametime 7.5 install directory.

I wasn’t able to find any additional dictionaries but found a post in the Sametime forum on LDD requesting the same thing. I do not however think I would be well of by finding additional dictionaries since there is no way to specify the spellchecking language in the Sametime client UI.

What’s up with Sametime 7.5 spellchecking?

We have been running the new Sametime 7.5 at the office since its release and I must say that I’m impressed. The UI is slick and the new features have made it an up2date IM client. The small issues we had getting the server installed was, I guess, minor and could be expected. I have blogged about a couple of the issues previously.

I have an issue with the real-time spellchecking though. The feature is nice but apparently the spellcheck language follows the UI language which means that I cannot run the UI in English and have the spellcheck in Danish which is my native language. Separate options for UI language and spellcheck language would be nice. If IBM decides to do this I also think that they should consider letting the user set the spellcheck language from the button bar of the IM window for easy on-the-fly switching.

Reverse engineering the Sametime 7.5 business card servlet


Reading in chapter 9 of the Sametime Administration PDF I learned of the UserInfoServlet configured through the UserInfoConfig.xml document in the Domino directory (in the filesystem mind you) on the Sametime 7.5 server. In this post I will not go into the different configuration files but simply describe how the UserInfoServlet works, which parameters it takes and what it returns. You can use this, as I did, for troubleshooting.

Please note: All the information in this post was reverse engineered so use it and treat it accordingly.

Just to get it out of the way. The reason why my initial configuration didn’t work was that the Sametime client contacted a hostname that wasn’t configured in the Internet Sites view in the Domino Directory (I guess it resolved the ip address or hostname wrongly in some way). Anyways – the way to configure the phote part of the business card is perfectly descriped on Grant Binghams blog and in the Sametime 7.5 Administration PDF.

The UserInfoServlet

It appears that the servlet takes 4 arguments:

  • operation (valid values are: 1, 2, 3)
  • userid (the username of the user as listed in the ($Users) view)
  • setid (valid values are the configured blackbox sets; usually 0 and 1)
  • field?? (with ?? being a an incremental number starting a 1)

The operation parameter is the main parameter that controls what the servlet tries to do and what other parameters are required. See below for a description of each operation.

operation=1

This operation is used to get value for specific fields based on the name of the field the Sametime client uses. You can request information from more than one field at a time. The valid names of the fields are the ones from UserInfoConfig.xml and hence the field names shown when you use the operation=2 parameter.

URL syntax: http://hostname/servlet/UserInfoServlet?operation=1&field1=<field name>&userid=<username>

Example URL: http://hostname/servlet/UserInfoServlet?operation=1&field1=Name&field2=Title&userid=jdoe

<?xml version="1.0" encoding="UTF-8"?>
<userinfo>
   <user id ="lekkim">
      <field name="Name" type="text/plain">John Doe</field>
      <field name="Title" type="text/plain">Marketing Manager</field>
   </user>
</userinfo>

operation=2

This operation gives you a list of the fields configured for the required field set. If you leave out the optional setid-parameter a value of 0 will be implied.

URL syntax: http://hostname/servlet/UserInfoServlet?operation=2&setid=<set id>

Example URL: http://hostname/servlet/UserInfoServlet?operation=2&setid=0

<?xml version="1.0" encoding="UTF-8"?>
<userinfo>
   <field name="MailAddress" type="text/plain" />
   <field name="Telephone" type="text/plain" />
   <field name="Company" type="text/plain" />
   <field name="Title" type="text/plain" />
   <field name="Name" type="text/plain" />
   <field name="Photo" type="image/jpeg" />
   <field name="Location" type="text/plain" />
</userinfo>

Example URL: http://hostname/servlet/UserInfoServlet?operation=2&setid=1

<?xml version="1.0" encoding="UTF-8"?>
<userinfo>
   <field name="Photo" type="image/jpeg" />
   <field name="Name" type="text/plain" />
   <field name="Title" type="text/plain" />
   <field name="MailAddress" type="text/plain" />
   <field name="Telephone" type="text/plain" />
</userinfo>

operation=3

This operation is the workhorse of the servlet and the one that the Sametime client calls. This operation returns, as the others do, a XML document containing the business card of the requested user. The photo data is base64 encoded and the type attribute indicates whether it is a jpeg or a gif image.

URL syntax: http://hostname/servlet/UserInfoServlet?operation=3&userid=<username&gt;

Example URL: http://hostname/servlet/UserInfoServlet?operation=3&userid=jdoe

<?xml version="1.0" encoding="UTF-8"?>
   <userinfo>
      <user id="John Doe/Acme">
         <field name="MailAddress" type="text/plain">jdoe@example.com</field>
         <field name="Telephone" type="text/plain">555-9921</field>
         <field name="Company" type="text/plain">Acme Corp.</field>
         <field name="Title" type="" error="UNAVAILABLE"/>
         <field name="Name" type="text/plain">John Doe</field>
         <field name="Photo" type="image/gif">R0lGODlhoQCjAOf==</field>
         <field name="Location" type="" error="UNAVAILABLE"/>
      </user>
   </userinfo>

Multiple communities in Sametime 7.5

How nice is this! Now that we are running Sametime 7.5 internally I have configured an additional Sametime community by following the guidelines from Chris Pipin. This means that I now have my uncle from IBM in Denmark in my Sametime client as well. Nice! Only caveat is that you cannot lookup the address of the contact using the “Lookup…” button as you would expect. You have to simply enter the address, check “External address” and click the “Add” button.

There was a caveat for him to add me as well. My IBM id is “lekkim” but he has to append “@dk.ibm.ext” to the IBM id in order for him to find me.

Does anyone know it this means that bloggers can IM each other using the IBM Sametime community? I’m up for the test so feel free to try and add me (lekkim@dk.ibm.ext) to your Sametime client.

Happy IM’ing!!

Sametime server upgraded to 7.5

Well I took the plunge and upgraded our internal Sametime 3.1 server to Sametime 7.5 and it was almost a dissapointing experience. Not a single issue. Not one… It was super easy – click, click, click and the server was upgraded without any problems – all users retain their buddylists and some hasn’t even noticed the upgrade. Only a few users have had the new client installed but we will be rolling the client out soon as well.

Although it was a very pleasant experience I did notice two things:

  • When running the UI in Danish the “Paste” command in the Edit-menu is incorrectly translated to “Klistre”. The Danish translation in other programs is “Sæt ind”.
  • If attempting a file transfer of a file that exceeds the maximum filesize set in the policy, the filesizes are shown in bytes and not in megebytes as one would expect (see image below).

Apart from that – Happy Sametime Friday!! 🙂