Wednesday, December 19, 2007

See ya next year!

View Comments
Today is my last day of work for the year!! YIPEETo celebrate I've decided to wear jeans to work today (something I seldom do only on Fridays).  I'm also wearing sneakers!!  True, I'm not going to see a customer today and all I have are IBM internal meetings, but still, I feel like I'm celebrating.

2007 was an interesting year.  I started the year working my way up the Lotus Expeditor SME chain.  I spent about 5 months creating Expeditor POCs for a very large customer in the financial industry.

Next, I picked up Lotus Connections, which was not too hard given my eLearning/Lotus Workplace background.  Anyone who has played with those two products will be able to pick up Lotus Connections rather easily.  It also helps that the Lotus eLearning product has been shipping with TDI for about 3-4 years.

The Red Sox won the World Series again.  I'm a little bit offended that they decided to start winning World Series the year I moved away from Boston.  And to make things worse, the Celtics and the Patriots are ruling the world this season!!!  Maybe it's time to move back to cold Boston from sunny PR ? Hmm...

I got a chance to publish two articles on developerWorks and an asset that I created for ISSL finally shipped as part of a product.

Something that I miss as the year ends is not being able to have an office party with all my co-workers like my wife does with her co-workers. 

Looking forward to 2008, I'm starting a new job and I get to go to LotusSphere for the first time!!!  Happy holidays and have a safe, enjoyable Happy New Year...

Tuesday, December 18, 2007

Integrating Lotus Connections with Microsoft technologies

View Comments
Fresh off the press!  developerWorks has just published an article that I wrote.  The article summarizes the work that I did at a  very large automative-industry customer in Detroit ( smile ).  You can find the article here.

The article it describes two main things:
  • How to add the profiles Person tag to other web applications such as Microsoft Sharepoint
  • How to add presence awareness to Lotus Connections Profiles using Microsoft Live Communication Server instead of IBM Lotus Sametime

Enjoy!!  Share this with your customers and show them the integration capabilities of Lotus Connections!.. and how easy it is!

Saturday, December 15, 2007

Why I love Dogear...

View Comments
Remember my story a couple of weeks ago on setting up my iMac to connect to the IBM network ? Sacha Chua turned that blog posting into a PowerPoint presentation. I guess that's another selling point for Lotus Connections and Blogs: there are people who don't have the bandwidth to create a nice/fancy presentation of their stories... but they can blog about their experiences and others can take those and create customer deliverables out of it!!

Very cool!! Oh, and Sacha, nice to meet you. I don't think we'd met before...

Friday, December 14, 2007

Customizing the Profiles Person Card Part II

View Comments
I forgot to post the before and after on Wednesday's post.  Here's how the person card looks before the modifications:


And here's how it looks after (notice that the email and phone number changed)


If you would like to see other examples of what can be changed on the Person tag, let me know!

Thursday, December 13, 2007

Customizing the Profiles Person Card Part I

View Comments
As promised!  I've created instructions on how to change the Profiles person card.  You all know how the out-of-the-box Profiles person card looks:

The instructions show you how to do two things:
  • Add the user's cell phone number
  • Change email address from internet address to Notes address

There are three basic steps that you need to do:
  1. Ensure/Configure Profiles retrieves the attribute you want to display from the database
  2. Prepare the client side object that JavaScript will use to hold profile values
  3. Use JavaScript to dynamically render the person card

Sounds complicated?  It's really not that bad.  At most, you'll need to change 3 files. 

Let me know if you have any questions!

NOTE:  The document is very technical.  It'll most likely only be understood by those of you with experience in HTML / JSP and SQL development.

Tuesday, December 11, 2007

Out-of-the-box attributes for Profiles

View Comments
I often get the question from customer's as to what attributes Lotus Connections Profiles supports out of the box.  I usually just mention a couple based on what I remember from my profile page.  However, I always wished I had an easy list of what's available out-of-the-box.  Today, a customer asked me to send them the entire list by email, so I had no choice but to sit down and do it.  I'm sharing it here for all to enjoy!

Note:   The following is for 1.0.2

Attributes that are currently displayed (from the top of the page to bottom):
  • Organization 
  • Employee Type
  • Job Responsibilities
  • Secretary
  • Work Location (only City and State)
  • Country 
  • Display Name
  • Building ID
  • Floor
  • Office Name
  • Telephone Number
  • Property1 (the first of the 3 custom attributes you can add to Profiles)
  • VoIP telephone number 
  • Pager Number            
  • Fax Number
  • Notes email
  • Internet email
  • About Me
  • Background
Additional attributes that could be displayed:
  • Is Manager ? (Y or N)
  • Employee Number
  • Department Number
  • Work Location address1,address2,postalCode
  • Preferred First/Last Name
  • Alternate Last Name
  • Native First/Last Name
  • Pager Type
  • Pager ID
  • Pager Service Provider
  • Calendar URL
  • Free/Busy URL
Attributes that are editable:
  • Job Responsibilities
  • Secretary
  • Display Name
  • Building ID
  • Floor
  • Office Name
  • Telephone Number
  • Property1
  • VoIP telephone number
  • Cell phone number
  • Pager number
  • Fax Number
  • Notes email
  • Blog URL
  • About Me
  • Background
I also felt very productive today as I was also able to customize the pop-up person card for Lotus Connections.  Stay tuned for instructions in tomorrow's Blog posting!

Thursday, November 29, 2007

On that high note, moving on to a new challenge

View Comments
On this high note, I'm happy to announce that I'm moving on to another role within IBM.  As of January 1st, 2008, I'll be part of the TechWorks team.  I will still be heavily involved in the Lotus Social Software community and will be concentrating on Lotus Connections and Lotus Expeditor.  It's been a great 3.5 years at ISSL.  Made tons of friends, grew my skills, got great customer exposure, and had invaluable experiences. 

As I join TechWorks, I hope to put my deep technical skills to help sell our Lotus products.  I'm looking forward to the opportunity to meet my new teammates, although I already know some of them, such as the super awesome Gene Leo.  I hope that I can do my part now in bringing in more sales revenue as the new year comes.

For now, I'm counting how many days until my vacation starts in mid-December.  I'm worn out and would like to recharge my batteries before I start my new role.  I'll miss ISSL, and now I'm going to eat more Argentinean beef while I'm here wink .

Wednesday, November 28, 2007

It's nice when an effort goes somewhere

View Comments
About 3 years ago I switched from the Lotus Development team to the Lotus Services (ISSL) team.  Shortly after that switch, I developed an asset for a product then known as the Learning Management System (today it's IBM Workplace Collaborative Learning).  The asset went on to be called LMS Data Loader.  It provided a way for customers to bulk import learning data into their systems (e.g. enrollments, courses, users, progress data, etc).  Customers loved it!  Entering data manually was a huge pain in the *** and very time consuming!

The asset was given for free to customers as long as they engaged ISSL for at least a week.  Based on customer reaction, the development decided to include this asset as part of the supported software in the next release of the software.

That new release has come!  In 27 hours, Workplace Collaborative Learning v2.7 will be released.  Take a peek at the What's New in the announcement letter:

  • Capability to add critical learning information such as course, users, results, masters, and offering in bulk

  Sure the development team made it look nice and improved its performance significantly, but still.. I feel proud it's there.  :) Here's a preview of how it looked in a beta version:

wcl27beta131enabledataloader (credit to Dan Spielman for the screenshot)

It feels great to know that something I developed on my own will now be in the hands of customers to use and leverage!!!

Thursday, November 15, 2007

Going the extra mile?

View Comments
As you know, I'm currently working for a large financial company integrating Connections/Quickr/Portal using the WebAppIntegrator.  In my local development environment I'm running 3 VMWare's:  1 for Portal, 1 for Connections and 1 for my DB2 database.  As you can imagine, this takes a toll on my T60p.  It takes about 3 minutes for a simple document to open in Notepad.  My hard drive light bulb doesn't turn off (it's been spinning like crazy for the past several hours -- will that break it?) 

I currently have 2GB of memory, but need at least 3GB in order to run these three VMWares together at the same time with no performance degradation.  I put in an order through our internal procurement system to get additional memory but it got rejected. The request at least did get escalated so hopefully it'll go through in the next day or so.

Anyway, because my computer was so low in memory, it was hard to run Notes 8 and Sametime 7.5.1.  I switched to Notes 8 Basic, but it was still running very slowly!!  I thought, "it would be great if I had another computer where I could run Notes and Sametime".  As I sat there in my Home Office, frustrated by all the slowness, I looked to my right and saw my nice and pretty iMac lying there -- powered off.  A light bulb went off in my head: "perhaps there's a way to connect my Mac to the IBM network?".  On one hand, I thought that I shouldn't be using my personal computer to do work stuff.  On the other hand, I could multitask; answer emails that are pending, make myself available on ST, evaluate my health insurance options for next year, etc.

After thinking about it for about 5 minutes, I decided to go the extra mile and configure my iMac to connect to the IBM network and install the necessary software.  I did a Dogear search on "mac remote access" using the Dogear Firefox plugin.  Several links came up which led me to the Mac Fans community.  That led me exactly to the two pages that I needed:  FAQ for Mac users and IBM Downloads for Mac Users.  I LOVE DOGEAR!!  I did some quick reading, installed and configured VPN access to IBM on my iMac, got Sametime v7.5.1 installed and configured, and then accessed my Lotus Notes Mail using iNotes (otherwise I would've had to install Notes 7 --  yuck)!  I did all of this while my VMWares were processing a request!!! 

If it wasn't for my iMac, I would've been very unproductive today.  Now I want to know... for those of you who work from home, do you tend to use only your work laptop, or do you also have your home computer hooked up to the IBM network to multi-task and make you more productive ?

Monday, November 12, 2007


View Comments
As you remember from a couple of weeks ago, I talked about a new approach to integrate external applications (e.g. Connections, Quickr, etc.) with WebSphere Portal.  This new approach uses a new asset developed by the Lotus CTO team.  On Friday, this asset was presented to the Portal, Quickr and Connections communities.

For the past week, I've been using this asset to "integrate" Quickr, Connections and Portal together.  I have documented what I've done so far in our internal Wiki.  I truly like this asset because:
  1. It allows me to do the branding for all three Lotus applications "at once" (there's some extra work you need to do on each app)
  2. I don't have to deal with IFRAMEs and double scroll-bars
  3. I can deliver a single look-n-feel for all IBM/Lotus products
  4. There are no timeout issues when linking/integrating external applications with Portal

For the most part, I've had to do some CSS development and some minor changes to JSPs.  Jennifer Pinkus, one of the developers of the WebAppIntegrator, introduced me to FireBug.  This is probably the most amazing HTML/CSS debugging tool that I've seen in my life!  It's a FireFox plug-in and it allows you to select any part of a page and it immediately gives you all the information you could ever want about that element, for example:
  • all the style attributes
  • the CSS file(s) where the style attributes are defined
  • you can actually see the results of JavaScript injections (i.e. document.write())
And that's not all, you can even dynamically change CSS attributes!  This blog posting is not doing justice to FireBug.  Just trust me -- it's freaking awesome!!  Here's a screenshot of how it looks while I was working with the WebAppIntegrator:


For those of you who already knew about Firebug, excuse me for being late to the party ;).  For those of you who do web development and haven't discovered FireBug, install it today!

Wednesday, November 7, 2007

Social Software in the 'Education' industry

View Comments
I had an interesting 2 hour meeting today with a Manhattan customer in the Education industry.  So many new feature requirements came out of that meeting that I'm scared that if I log them all on the internal Feature Request site I will crash it!

Anywho, in the meeting there were 4 customer representatives from the "Knowledge Management" (KM) group -- they were considered KM Subject Matter Experts: SME's!  So I start talking about Profiles and tagging and immediately get the first requests:
  • Can tags be pre-populated?
  • Can a drop-down be used for user to select tags instead of them entering it?
  • Can an administrator control tags (i.e. Create, update, delete) ?
  • Can taxonomy from WCM/Quickr be imported into Connections / Profiles?
  • Can the profiles DB be populated from multiple data sources ?
After I heard these, I thought we might be talking to the wrong people.  Fixing the tags?  Pre-populating them?  Isn't this against the 'principles of web 2.0' ? Anyway, I said you could theoretically do that with services (i.e. pre-populate the tags table in the Profiles Database and then modify the UI accordingly).

They also asked about usage reporting.  This has been asked for before so I just told them it's coming in V2.0.  Alternatively, we could do something with WebTrends, for example.

Then we spent about 1 hour talking about Wikis and the lack of them in Connections.  This is a popular feature request and therefore Wikis will be there in V2.0 as well!  Anyway, they knew Wikis were part of Quickr.  They, however, wanted Wikis as part of Communities ("and by February 2008"!!!!).    I talked about the tighter integration between Quickr and Connections in Release 2.0 but that didn't do it for them.  They wanted Wiki's to be part of Connections so that it would be part of the user's Connections Dashboard.

In the end, it looks like services will have to write a whole new User Interface for Connections utilizing the Connections APIs

What's your experience with selling Connections to the traditional KM people?  Seems like at this customer they still wanted to follow a very strict pattern and not leverage the 'freeness' that Web 2.0 provides.

Wednesday, October 31, 2007

Activities and Quickr Linker

View Comments
I happened to be casually browsing developerWorks today. I immediately noticed a Lotus Connections article about integrating Lotus Quickr and Lotus Connections Activities together!!  Unfortunately, I can't Dogear it, but I hope that you find this entry good for now. 

As you know, Activities should not be used as a content repository.  Instead, it's a way to get a deliverable done.   You ask certain people to join in, provide their ideas or revise a document.  They in turn can ask other people to join in and collaborate.  Once a document has been completed, it has to be posted along with the rest of the intellectual capital.  This can be a Quickr place, a Domino database, or some other sort of content repository. 

But how do you easily get content created in Activities into a repository such as a Quickr place ?  Linker is, well, the missing link.  Linker is an Eclipse plug-in which lets you access a "tree view".  You can then right-click on any Activity item and publish it into a Quickr place as shown in these screenshots:

which results in the following:

Now this isn't production code.  Even though it's an Eclipse plug-in and it should run on Notes 8 (a.k.a Expeditor on drugs), the article merely serves as an example on what can be done with the Connections and Quickr API's.  The sample code provided in this article is pretty good and will help our business partners and customers get started on using the APIs. 

Monday, October 29, 2007

Oh and by the way, GO RED SOX

View Comments

I was so excited about the last post, that I forgot to mention something very important:


I wish I was back in Boston to celebrate along with the rest of Red Sox Nation!!

An easier way to integrate Lotus Connections into Portal

View Comments
Amy Widmer, Quickr community leader and all-around awesome architect, sent me earlier today a presentation on a new WebAppIntegrator Portlet.  This portlet has been developed by the Lotus CTO's office and uses a rather unique approch to "integrate" Lotus Connections into a WebSphere Portal environment.  First, you should know that it doesn't use the Lotus Connection APIs.  Second, it doesn't use IFRAME.  So how does it work ?

The idea is that instead of adding Lotus Connections into Portal, we actually add Portal into Lotus Connections.  Let me explain.  This new portlet (available in about 3 weeks in the WebSphere Portlet Catalog) generates one line of JavaScript code that you insert into Lotus Connections.  Once you insert this one line of JavaScript into Lotus Connections, it dynamically changes the branding/look-n-feel of Lotus Connections.  This new look-n-feel is the same as the one for Portal.  Therefore, it's as if Lotus Connections was running inside Portal, but it's actually running separately!  Very cool!!

This approach is actually viable with customers and I know because that's what I did recently at a Large Automotive Customer.  The customer wanted to see how Lotus Connections would work with their existing Portal.  Thus, I rebranded Lotus Connections by changing a couple of CSS and JSP files.  Once I showed it to the customer, they thought I was running Lotus Connections inside of their portal, even though it was running completely independent.  Here's a slide from the presentation which shows how this portlet works.  I can't wait to see a demo of this portlet working!!


Thursday, October 25, 2007

Microsoft buys a stake in Facebook -- now what?

View Comments
As you probably all know, Microsoft bought a 1.6% stake in Facebook last night. This valued the Facebook startup by another Hardvard-dropout at $15 billion dollars.  Maybe all these Harvard students have a big conspiracy, or maybe Microsoft is simply scared at IBM's Lotus Connections and this is the only way they can get in the game.  I'm sure it's a combination of the two ;) 

I'm a big Facebook user (but only after hours, never on company time). Now that this purchase has gone through, I'm sure many end-users, like myself, are wondering how secure is our data? Does Microsoft now have the right to crawl our data ?  Will they be able to develop some usage patterns based on what I've posted in my Facebook profile?  Or is the purchase simply a way to acquire the software and compete against IBM.  Sure Facebook can't compete entirely with Lotus Connections since it doesn't have all of the same features.  (At most I think it only competes against Profiles).

I'm sure we all know at this point that Microsoft is really bad at innovating.. but they are very good at copying software that already exists and making it prettier.  Should we be concerned, or rather, should the Lotus Connections development team be concerned about this acquisition.  Will Microsoft take the pretty UI from Facebook and make their own version of Lotus Connections?  I'm sure they'll take the angle "our UI is so much prettier -- and end-users know it already"!! And, of course, they won't talk about how our features are much better and richer.

One of the biggest advantages that I see in Facebook, compared to our product, is the easy plug-ability.  Microsoft has never been too keen on letting customers customize their products or integrate them with other stuff?  But maybe this is the beginning of a new era ?  Facebook has also proven that it's scalable, and we all know that Microsoft products aren't.  So is this another way for Microsoft to gain intellectual capital on how to build enterprise-ready, scalable solutions ?

1.6% is a small stake, so perhaps this is just an investment and nothing else... but still, there are so many unanswered questions...

P.S.  I recently saw a Microsoft document where it said that enterprise-ready software was software that could handle around 1,000 total users -- WHAT??  I think the smallest customer I've ever worked with had a total population of 7,000 employees!  And the biggest had 300,000 - now that's big; but I digress.

Friday, October 19, 2007

Social Software does ROCK!!

View Comments
Others have said it.  I have said it before.  It's true.  It's undeniable.  You really can't get away from it.  The power that it simply has is .....  undescribable.  "It freaks me out sometimes", as a co-worker says. How powerful is Lotus Connections?  Well here's another story that just happened minutes ago.

9:00am -  My work day starts and I have 23 new emails.  Not bad. (this should not be considerd as an excuse for you to start emailing me overnight :) )
9:10am -  One of the emails is from Ted Stanton, Product Manager for Lotus Connections.  In it he expresses the need to capture recommendations for possible IBM Redbooks on Lotus Connections.
9:11am -  I start composing an email to the community
9:24am -  I send an email to the community relaying Ted's message
10:30am - Barely 66 minutes after my email went out, I had already received 4 different responses!!  3 of them from people in Europe.  AND all responses were from people that I hadn't had an interaction before.

So I'm assuming our Asian counterparts are already in their comfy bed and won't see my email until tomorrow morning.  And for the ones in the Americas? They are probably still parsing through their new email from last night and will soon get back to me.

As I was writing this blog posting, my RSS reader (Google Desktop) notified me that Curtis Ryan, WW Sales Manager for Lotus Connections and co-leader for the Lotus Social Software community, had just written about Communities in the Enterprise.  Communities is making a splash today!

Social Software ROCKS!

Thursday, September 20, 2007

Deploying Lotus Connections in a High-Scalability/High-Availability environment

View Comments
 Earlier today I got an email from a customer's IT Architect. He asked the following:
 We are proposing to deploy Connections (all apps) across 3 data centers (3 Active Resilient Architecture) for the Portal/Connections RFP.
 Could you please provide your input on the best way to architect the deployment of Connections across 3 sites?
 For example, what are the ramifications of using a single database for say, Profiles or 3 separate Databases. If using 3 Databases, then how do we replicate?

I figured that this will be a question that will be in a lot of people's minds.  I wanted to capture my response in this blog for prosperity (and so that when someone else asks me this same question I can just direct them to this blog entry) :).  Anyway, here's my response:

This is actually pretty straightforward with WebSphere Network Deployment. And there are several approaches you can take as well. Since Connections is a J2EE application, all we need to do is set up WebSphere in a high-availability/high-scalability fashion. I've done this several times (not for Connections, but for other Lotus products that run on WebSphere).

You should probably take a look at this article first and this diagram:

The structure that I recommend is highlighted in this diagram:



  • Each part of the cluster will be on its own data center. For example, the Edge (standby) would be on a separate data center than where the normal Edge server is.
  • We need to add a Caching Proxy in front of the Edge server (see figures above). The caching proxy would need to be set up in HA mode
  • The slides only represent a cluster of two nodes just to show the idea.. imagine figure above with 3 boxes in each cluster
  • I would rather have all application servers use the same database and have the database on hot standby and replicated via HACMP (see figures below). When one database fails, the other one picks up.
    • Alternatively, you can set the database requests to be sprayed using a DB sprayer such as Edge and have the databases replicated, again, via HACMP
  • The slides don't show the LDAP. It's assumed that the customer already has a HA/HS solution for LDAP. If not, then you could set up a cluster of LDAP servers and use an IP Sprayer (Edge) to load balance the requests. Depending on the LDAP vendor, you'll need to figure out how to do the data replication.

More on WebSphere High Availability / High Scalability.

HACMP example:


Tuesday, September 11, 2007

Adding 'dogear this' button to your webpages

View Comments

Product development has made integration of Dogear with existing web applications even easier!!! Currently, you can add a 'dogear this' button to existing web pages by simply copying the bookmarlet code. The bookmarklet code is presented here:

var h='';
var d=document;
var b=d.body;
var e=encodeURIComponent;
var t=setTimeout;
var dw;
(function() {
if(b){ a
var p=d.createElement('script');
t("var u=d.getElementById('dogear_postUrl');
} )()

Long, huh? Well, it's not that bad considering they give you the code and it's just a matter of copy-paste into all your webpages. If you are interested, this developerWorks article explains more on how to use the above code.

As of today, however, we have an even EASIER way to do this. And all it takes is two lines of code!! -- I promise, let's check it out.. First, add this line to your HTML's HEAD element:

<script type="text/javascript" src=""></script>

Then, add this line to the <BODY> element of your web page (right now it's a DIV but you could make it a button if you wanted to...):

<a href="#" style="text-decoration:none;" onclick="DogLink.post_to_dogear(location.href, document.title, '', '');return false;"><IMG height=16 src="" width=16 border=0>Bookmark this!</A>

Note: Updated 27/Apr/2009 to fix code as per comments

That's it!! Nifty, eh? This will be available to customers in the 1.0.2 release.

Wednesday, August 22, 2007

More on SSO between Sharepoint and Connections

View Comments
Here are the tree options that we came up with, thanks to the help of a co-worker Martin Lansche.

3 options:
1)  SPNEGO (2-4 weeks; most of the effort is having computers join the Active Directory domain)
        Full SSO between the desktop and the web applications.  Only one sign-on to the user's PC and they are logged on to all the web applications!!
        No extra coding (out-of-the-box functionality - in WAS v6.1)

        Need all user computers to join the Active Directory domain (will the customer let us?)

2)  HTTP Headers (1-2 week)
        No need for computers to join a domain

        Needs to go to Sharepoint first
        Needs customization to Sharepoint
        Only works one way:  Sharepoint to WebSphere (users need to sign on to Sharepoint, then go to Connections)
        It's a hack - not secure... not how it would be done in production
3)  URL attributes  (1-2 week)
        No need for computers to join a domain

        Needs to go to Sharepoint first
        Needs customization to Sharepoint
        Needs to develop code on the WAS side (custom TAI adapter)
        Only works one way:  Sharepoint to WebSphere (users need to sign on to Sharepoint, then go to Connections)
        It's a hack - not secure... not how it would be done in production
We are currently leaning on option #1.  Stay tuned...

Tuesday, August 21, 2007

SSO between Connections and Sharepoint

View Comments
Continuing on this subject of single sign on, the customer has now requested SSO between Microsoft Sharepoint and Lotus Connections.  There are several ways to do this:
  1. Use a product such as TAM/WebSEAL, which can be tricky to implement but the cool thing is that it not only allows SSO between web applications, it can also be used for SSO between the desktop and Lotus Connections.
  2. Develop a custom Trust Association Interceptor (TAI) for WebSphere.  This minimizes the cost, but requires a Java Developer to know WebSphere's TAI API in order to do this.  If you haven't heard of,or don't know what TAI is, it's awesome!!! It's really "easy" to use.  The disadvantage is that it only works if one web application links to another and can pass the username of the current user as part of the URL or in the HTTP headers.
  3. Use TAM eSSO, a client-based utility which stores passwords.  The problem with this is that it's not really SSO.  Users will still be prompted for a username/password, but it will be automatically entered by this utility that must be installed into each user's PC.

We are currently going to pursue #2 and see how far we can get.  We are a little bit strapped for hours, so we may not be able to finish this, and as I said before, I need to figure out whether Sharepoint can create URLs to Connections and embed the username in the links.

Friday, August 3, 2007

Beautiful story on social software!

View Comments

So, on Tuesday I blogged internally about integrating Microsoft Sharepoint feeds into Notes 8. Basically, I had a hard time getting it to work until I figured out a hack. Several minutes later, a co-worker, who I've never met before, enters a comment on my blog explaining he knows how to configure Microsoft Sharepoint RSS feeds so that they can be accessed anonymously. I comment back on my blog asking to get instructions on how to do this.

The next day, while I'm working at the customer site, I get an instant message from him! Thanks to Sametime's 'Location Awareness', he says that he sees that I'm in Detroit working for the same customer that he is!! He tells me that he is in building 200, floor 25 and asks me where I'm located. I replied back that I was in tower 200, floor 27! He came up to where I was sitting and we were able to exchange war stories. It was great bonding between two IBMers who had just met.

Thanks to a blog that I wrote using Lotus Connections, I was able to make a real-life connection and solve my problem!

Thursday, August 2, 2007

Yeah Baby!! I added presence awareness to Connections with LCS

View Comments
Oh yeah!!! So I finally did it.  I was able to get presence awareness into Profiles using Microsoft Live Communication Server, instead of Sametime.  Now, as you know from a previous post, I was planning on using the AJAX API that Microsoft provides.  However, due to my somewhat limited knowledge of AJAX and limited bandwidth on this project, I wasn't able to do that.

Instead, I'm using what Microsoft calls as the 'Persona Controls'.  This makes integration VERY EASY... but with that 'easiness' comes some caveats:
  • Integration only works on IE
  • Integration only works on those computers where the Microsoft Office Communicator 2005 client has been installed and configured

Since this is for a demo/POC environment, we are getting away with it.  It's not the prettiest, but it's there.  Check out what it looks like in these screenshots:

Tuesday, July 24, 2007

LCS integration and Notes

View Comments
I'm diverting this week my attention from Connections to Notes as we are also trying to sell Lotus Notes 8 at the customer.  Our first attempt to integrate LCS with Lotus Connections has not gone well as my team lacks the AJAX skills to get the Microsoft AJAX toolkit going.  So for now, we'll integrate Lotus Connections and LCS using the Microsoft Office Presence Controls.  These controls can also be used in Notes 8!

As you know, the customer has already set as a standard the use of Microsoft Live Communication Server.  And it looks like a business partner has already figured out how to do this integration.  From what I can see in the video, it's very simple.  As long as users have the LCS client installed on their computer (or Microsoft Office 2005 or later), all it takes to do this is 2 changes to the mail template (the NTF file).  Very cool, huh??  This is how it looks on the Notes 8 basic client:

We are going through the details at the customer site this week and will post back results on how the intragion works out.

Friday, July 13, 2007

Are you ready for this? Lotus Connections person card in Sharepoint

View Comments
Alright, so I finally got the BusinessCard from Lotus Connections Profiles integrated into Microsoft Sharepoint!  How??  Well, that's for me to know and for you to find out!!!  I'm actually bribing management right now to see if I can get at least a $30,000 pay raise.

Ok, I guess I should stop daydreaming, huh?  Let's talk about how this works.  First, as I mentioned in my previous post, most of the HTML for Sharepoint sites is generated by a Windows DLL.  I, of course, got really frustrated that I would have to code my own DLL in order to get this going.  I immediately started to use my network to see if there were any Sharepoint resources within IBM who could help me do this.  I eventually ended up with Jeff Calow, who is an STSM for Composite Application development.  He suggested that instead of doing .NET development, I instead use JavaScript and the DOM (document object model) to parse out the resulting HTML and inject the necessary JavaScript.  I wasn't too happy with the idea, but I figured "this is a POC and we just need something quick-n-dirty" so this should work.

Suneil Berajawala had provided me with a test page that quickly explained how to expose the Business Card in a typical web page.   All that's required is the user's email address and 2-3 lines of JavaScript.  One of those lines of code, has to go in an HTML's HEAD element.  The problem is that Sharepoint doesn't provide a way for me to insert a HEAD element (every time I did, the server would crash because it wasn't able to compile the ASPX page).  Anyway, after pinging Suneil for a while, I found the following tag in the page:

<asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">

and I asked myself:  "Could this be the place where I would insert stuff that would typically go in an <HEAD> element?".  I gave it a try and it worked!!!!

Thursday, July 12, 2007

Wow, Sharepoint is horrible

View Comments
So I'm still at the customer site and one of the things that they want to see is the people card exposed within Sharepoint.  In other words, when somebody sees my name as:

Luis Benitez

they can hover over my name and click to see my person card.  Very cool, huh?  See, it works easily on Blogs!!!!

Well, all it takes is 2-3 lines of HTML/Javascript to get going.  For any web application which follows the standard MVC (Model-View-Controller) paradigm, this should take no more than 5 minutes to implement!  That's because I can simply go into 'View' and customize it to add the required HTML/JavaScript around it. 

With Sharepoint, however, all the HTML creation is done on the server, usually as part of a DLL.  This means that it's necessary to have an ASP.NET developer create/customize a DLL in order to have that generate the proper HTML/JavaScript.  Why does Microsoft make this so hard ?  Or, how can customers like Microsoft so much when it's so hard to integrate with other things!!??!!

I'll continue investigating this and will report back on progress. 

Monday, June 25, 2007

Loading profiles data

View Comments
Today, I started to configure IBM Tivoli Directory Integrator (TDI) to load the employee data into the Profiles feature.  One challenge is that the customer is only giving us access to their development LDAP which only contains 1% of the company.  This will make it hard for us to show the value of Profiles and tagging with such a limited set of data.  We are pushing the customer to get us more information.

Another challenge is that we are using Sun ONE LDAP as the LDAP provider and this is not yet supported.  In order to get this to work, we had to make two changes:

  1. Modify the WIM properties
    1. Find the wimconfig.xml file under D:\WebSphere\AppServer\profiles\AppSrv01\config\cells\<cellName>\wim\config
    2. Create a copy of the file
    3. Open the file with your favorite editor
    4. Add this line to the <config:attributeConfigurations> element of <config:repositories>
      1. <config:externalIdAttributes name="nsuniqueid"/>
  2. Modify the TDI properties (
    1. Ensure that PROF_GUID maps to nsuniqueid
In other news, I started an internal team blog for the community's core team.  We intend to use this blog to keep track of meeting notes and disseminate news to the community without having to spam your inbox.

Wednesday, June 20, 2007

Presence awareness with Microsoft Live Communication Server and Lotus Connections

View Comments

I’ve been investigating ways to add presence awareness to Lotus Connections using Microsoft’s Live Communication Server instead of Lotus Sametime. I’ve been using Dogear and Google to find resources on this topic. Below is a result so far of my research. There are two high-level ways to approach this:

  1. Use the Microsoft Office Communicator 2005 SDK

  2. Use the Microsoft Communicator Web Access AJAX SDK

Option 1

- Relies on DLLs installed on a user’s workstation to enable presence awareness in applications such web.


* Very little code to write


* Only works on Windows workstations

* Requires a DLL to be installed (or Microsoft Office 2003 installed and configured to talk to the Live Communication Server)

* Can’t customize the user interface (provided by the DLL / ActiveX object)

Option 2

- Relies on AJAX and JSON calls to access Microsoft Communicator Web Access (CWA). This SDK allows developers to write their own IM client.


* OS-independent

* Browser-independent

* Customizable UI

* Already used in other parts of GM


* Requires more code than option 1 — I believe it can be generalized though…

Based on this, it’s looking as option 2 is the preferred route. I’m going to develop some sample code and test it out today and see if it works. I’ll keep you posted!

Monday, June 18, 2007

Moving on to Lotus Connections

View Comments
For now, I'm moving on to Lotus Connections.  As part of my duties, I'm currently building enablement materials that explain how to customize and brand a particular implementation of Lotus Connections.  Additionally, I'm working on some materials around the APIs and how they can be used to integrate Lotus Connections with 3rd party products.  Development sent me a link to their internal Wiki where developers are posting some API samples, which I thought is great.

I'm also the WW Community Leader for the Lotus Social Software community.  Jeff Shick, VP of Lotus Social Software, will join us on our weekly Switchboard call to officially kick off the community.  This, of course, is awesome.  The fact that we have senior executive support for the community is phenomenal!  To enhance the community, we are leveraging all of IBM's new technologies for collaboration.  For example,
  • the Lotus Connections Forum can be used to post questions and gather opinions on certain issues from community members and any other IBMer worldwide!
  • the Lotus Social Software Quickr place contains collateral, customer deliverables, discussions, and other intellectual capital which community members have developed
  • Sametime 7.5.1 and the BroadcastSuite plugin which allows community members to instantly chat, get their questions answered and collaborate.  If you haven't installed the BroadcastSuite plugin yet on your Sametime client, do it today!!!! 

Today, I'm at a customer site to start a Lotus Connections install of Beta 2.  The interesting problem that we'll address here is integrating Lotus Connections with the customer's home grown applications.  I hope to post my findings as I go along.

Friday, June 1, 2007


View Comments

So here's how you can contact me. And, no, I'm not going to give you my email address because that's very anti-social!


For an IBM Lotus Connections Question:

This is me

View Comments
Here's a brief summary of who I am:

Born in San Juan, Puerto Rico, in the late 70's I became a computer enthusiast at the age of 8 when I got my first IBM 386 PC with one 3.5" floppy drive, no hard drive, DOS v3, and, I believe, 32MB of RAM.

When I was in eighth grade, I decided to start a bulletin board system (BBS) which are widely considered the precursor of the World Wide Web. At this point, I was 13 years old and called it Hurricane BBS. The intent was to meet people, exchange emails, applications, and games. The BBS was recognized, even outside of Puerto Rico, and rated in the Top 100 in the United States by Computer Shopper in 1995.

I closed down the system when I graduated high school and started college at MIT. At MIT, my thesis was on "Pervasive, Human-Centered Computing Platforms" and part of Project Oxygen. I specifically worked in developing a speech recognition module that wouldn't require end-user training (unlike some systems today which require you to train them to recognize your voice). Some of this technology has been used by HP, Acer, Philips, and Delta.

After graduation, I briefly worked for FireSpout where I developed a machine learning system that converted unstructured enterprise content into tagged structured relevant content. Then, I briefly worked for Photolightning where I developed photo uploaders to sites such as Shutterfly, Snapfish, Wal-Mart, Fotolog and others. I'm proud to say that much of the features developed first in Photolightning were later copied and incorporated into the now Google-owned Picasa.

I joined IBM in 2002 as a Software Engineer for the Learning Management System (LMS) platform. In 2004, I joined the IBM Software Services for Lotus organization and travelled all over the world assisting customers with the deployment, configuration, customization of the IBM Lotus LMS. I also helped organizations follow recommended practices for a successful eLearning implementation.

In January 2007, I picked up IBM Lotus Connections, the first enterprise-grade social software system. In June 2007, I created, and now lead, the internal Lotus Social Software community open to IBMers worldwide. I served as an evangelist sharing my knowledge on Lotus Connections and promoting the use of social software to other IBMers. As a customer facing resource, I also evangelized the software to organizations all over the Americas and provide consulting to help them integrate Lotus Connections with their existing applications.

I was the first person worldwide to integrate Lotus Connections and Microsoft Sharepoint (see below in Publications). In January 2008, I'm now in pre-sales and continue to perform my duties evangelizing social software both inside and outside of IBM. In June 2008, I was the first blogger to report on the IBM and Microsoft Social Software Bake-Off, especially how IBM was deemed the clear winner at the Enterprise 2.0 conference.

As of September 2010, I'm now one of the Social Software Product Managers for IBM.
My Family
I'm a private pilot and enjoy flying whenever I can. I also like bowling, baseball (I'm a huge Red Sox fan, by the way), and I do volunteer work for the Civil Air Patrol. I am also a volunteer for MIT where I am a member of the Educational Council. As such, I get the awesome opportunity to interview prospective MIT students!

Monday, January 15, 2007

My profile in the local paper

View Comments
I was recently interviewed by the San Juan STAR which was published today in it's 'Business Monday' section. I'll let the picture speak for itself.