Pages

Wednesday, November 12, 2008

Lotus Connections and Sametime Awareness on UID

View Comments

I know I've been a bit quiet lately. Yes, I know I haven't published anything since Friday. Here's the thing, tomorrow I'm presenting on "Social Software for Higher Learning" at a Learning 2.0 event that's happening here. CIO's and CTO's from all the different colleges and universities on the island are going to be at the event. But I'll blog more about that later.

Today, I just want to share a quick tip with you. Recently, we were working on a customer to enable Instant Messaging within Lotus Connections with Sametime. By now, you already know that the integration works seamlessly if you have Notes 8.5 or Sametime 8.0.2. You can also get it to work with Sametime v7.5+ and Notes v8+ by installing a special plugin.

By default, the awareness lookup happens via the user's email address. However, at this particular customer, Sametime was configured to only allow lookups via uid and not email. The usual solution to this is to configure Sametime to do lookups via email. This, however, was not an option for this customer.

Therefore, we had to customize Lotus Connections to do lookups via uid. With the help of super awesome Firebug, we were able to figure this out. Here are the steps we followed:

  1. Go to <WAS_PROFILE_ROOT>/installedApps/<cellName>/Profiles.ear/peoplepages.war/js_build/dojo
  2. Save a copy of profiles.js and profiles.js.uncompress.js
  3. Open profiles.js with your favorite text editor
  4. Search for the following text:

    getstatus/";url+=profilesData.displayedUser.email+"?jsonp=lconn.profiles
    


    and replace it with this text:

    getstatus/";url+=profilesData.displayedUser.uid+"?jsonp=lconn.profiles
    


  5. Save profiles.js
  6. Open profiles.js.uncompress.js with your favorite text editor
  7. Search for the following text:

    url += profilesData.displayedUser.email + "?jsonp=lconn.profiles.PersonTag.loadIMStatusCallBack&time=" + new Date().getTime();


    and replace it with this text:

    url += profilesData.displayedUser.uid + "?jsonp=lconn.profiles.PersonTag.loadIMStatusCallBack&time=" + new Date().getTime();


  8. Save profiles.js.uncompress.js
  9. Restart the HTTP server and the Lotus Connections server
Enjoy!
blog comments powered by Disqus