How does OpenSocial relate to XPages?

By Niklas Heidloff, posted on Feb 2, 2012

There has been quite a lot of talk about open social recently. Below is a list of resources and I'll try to explain OpenSocial and it's relation to XPages in my own words.

OpenSocial is an open set of specifications, initially done by Google and now also by IBM, Jive and other companies. The specifications describe 1. a component model and 2. social APIs to access common services like users' networks.

The component model is heavily based on standard web technologies allowing various different technologies to be used to implement these components or applications called OpenSocial gadgets. Additionally there are some standard APIs that define how to pass in context and exchange information between gadgets and between gadgets and the containers they are running in.

XPages is one technology that can be used to write OpenSocial gadgets. This is very similar to wrapping up XPages in iWidgets to run them in Websphere Portal and Mashup Maker. You could imagine a Domino Designer extension which allows creating these social gadget definitions (XML files) as done for iWidgets with the "Components" design element. Technically the social gadgets can wrap XPages in an iFrame so that different gadgets can use different JavaScript library versions, can run securely, etc. I've implemented a sample on OpenNTF that shows how to create this XML manually for now. OpenSocial gadgets are just a wrapper of XPages so that XPages can run in other containers.

OpenSocial gadget functionality in XPages is aimed (disclaimer: no commitment) to be added in future XWork Server and Domino versions, e.g. the Component design element for OpenSocial gadgets and the OpenSocial social APIs. The social APIs would allow XPages gadgets for example to access other persons' profiles, activity streams, app data, etc.

Ryan mentioned in the podcast that it is targeted to support OpenSocial gadgets in the Notes and Domino Social Edition (activity stream, mail preview, own tab, sidebar) as well as on the Connections Next home page.

One intent of using OpenSocial gadgets is to write gadgets once and use them in different IBM products. Additionally it is aimed to run the same gadgets even in other non IBM containers. Jive and Google provide already market places of such gadgets.

To get started I suggest to watch the app dev throwdown session from Lotusphere where six IBM partners demonstrated their solutions based on OpenSocial. There is also a higher quality video from one of the partners Trilog.

I also like the deck from Ryan Baxter and Stanton Sievers with step by step instructions:

In order to try OpenSocial gadgets you can use the OpenSocial Sandbox. The IBM Social Business Toolkit on Greenhouse is based on an older version of the OpenSocial specification and an older version of Activity Streams. Gadgets in there might not run in future products.

comments powered byDisqus

Hi, my name is Niklas Heidloff. I work for IBM as an IBM Bluemix Developer Advocate. The blog contains information about IBM Bluemix and articles about my previous work in IBM Collaboration Solutions, esp. IBM Connections and XPages.



The postings on this site are my own and don't necessarily represent my employer IBM's positions, strategies or opinions.