Securing your Bookmarks in Lotus Connections

IBM Lotus Connections, by its very nature was designed with minimal access control. As a result, anyone who chooses to share information across the five services is well aware of the fact that what they chose to blog about, comment on, and bookmark is immediately visible to their entire social network. It would almost seem a bit impractical to impose limitations on a tool whose sole purpose is to facilitate open communication and in IBMs’ words not mine “collaboration without boundaries”. For better or worse this is how the product was designed. Don’t shoot the messenger.

That being said it can oftentimes be hard to teach an old dog a new trick. Or to put it more simply, tell one of those guys you run across in a meeting who has to tell you all about the time he fed punch cards through a mainframe (or whatever it is you do with punch cards) how to use the “world wide web”. Old-school mainframe guy aside, there will undoubtedly also be the wet blanket who insists on ruining all the fun by enforcing some structure or policing of all content. Either way, one will oftentimes face an uphill battle when selling Lotus Connections.

Now I am not condoning any of the aforementioned behavior but I am a technical sales specialist and so as a result do realize that sometimes, just sometimes, you gotta do what gotta do to make the customer happy, including grumpy guy in the back row, and just sell some darn software.

So in this post I will allude to a possible solution for one common use case that is not immediately addressed with an “out of box” Connections installation but can be with just a slight bit of creativity. I am just finishing a whitepaper with a colleague of mine that will be out shortly that will go into great detail and be a “how to” of sorts but in the interim you will just have to give it a go on your own. The following describes a common request by many an IBM customer:

Company XYZ, is a large retail establishment that runs a “Vendor Portal” supporting multiple vendors. In an effort to attract additional vendors by being all hip and trendy, Company XYZ has decided to add a social networking capability to their Portal – specifically a bookmarking and tagging service. Queue Lotus Connections Dogear Service. The challenge, however, is that no vendor is allowed to see the bookmarks created by another vendor. Yikes, now how are they gonna do that?

…By first familiarizing themselves with the concept of a portlet, with all its bells and whistles (i.e. the ability to create a single portlet application that can be customized to display different content to different people), and to an IDE called WebSphere Portlet Factory.

You see, the service within Lotus Connections that does have a bit of an access-control model is the Communities Service. And oh! Communities have bookmarks! So, what one could do is to create a community for each Vendor and then moderate this Community so that only Vendor A is allowed into Vendor A’s community and so on and so forth. Now as an employee of Vendor A, when I dogear something, it will only be added to the community to which I am a member. Therefore I am not “sharing” bookmarks with another vendor. Genius! And since a Community is represented by a uuid and a portlet can be access controlled, customized and personalized I can do some fancy pants coding on my portlet to guarantee there is never any cross-contamination of bookmarks. Problem solved!

The only piece missing is understanding how to custom develop all this. And for that you will have to wait. In the meantime you can check out the samples on the WebSphere Portlet Factory Wiki and just imagine all the cool stuff you can develop with Lotus Connections by just becoming acquainted with the REST Call Builder.

Once we finish the article I will include a link to it here. Stay tuned and happy coding!


NullPointerException – an excellent team-builder.

I was recently asked to describe my favorite class in the JDK and why. Yes, this is what my friends and I discuss when we have finished pondering why Jessica Alba named her baby Honor Marie or if Paris Hilton is really preggars or just trying to pull a fast one on us. Yes, we go straight from “People” magazine to computer programming.

To be honest I had never been asked this before. I could quickly rattle off my favorite food (cranberry orange mango bagel), favorite color (pink) or favorite animal (dog) but as for the JDK – the answer was just not that straightforward. I mean there are so many great classes to choose from – where did I possibly begin? (Hmm. Perhaps I’ll just spend a crazy Friday night watching 20/20 and pondering just this)

I first thought about carrying on about how something as simple as java.lang.Object had changed my life – transitioning me from a mere employee at a large IT company to a mere employee at a slightly larger IT company. But I thought that would be too easy, so I decided to dig deeper.  I started to remember what really gave me trouble as a beginning programmer – the class that I just couldn’t get my head around. My “vicarious”, as it were. (The word I couldn’t remember the definition for when studying for the SAT and now use all the time!)  But it had been too long and I couldn’t remember one. But then it hit me. I knew exactly where to go with this, the NullPointerException!

I know it is a shocker but the NullPointerException (as well as all RuntimeExceptions) are near and dear to my heart – mostly because I am very familiar with them. I believe I come across a NullPointer just about everyday working with IBM Software (generally displayed to the end user as simply, “null”), But anyway, what better way to make friends with your coworkers, or bond with customers then by staying up for several nights in a row troubleshooting a product deficiency, known as engaging in a “crit-sit”. Some of my “top five” favorite IBMers I have met doing just this, talking about life while waiting for the server to restart. And hey, it’s also the only time that IBM brings in free food – the good stuff too, like pizza and oranges (I have never understood why we seem to always get oranges!).

Anyway, I have a fondness for a lot of classes in java but for most you “code alone”. With a “NullPointerException” you are part of something much bigger than yourself; you are part of a team.