DEMO : Jive Widget for Alfresco

March 18, 2011

With this new Widget provided by Alfstore (, Jive users can now work and collaborate around Alfresco documents using Jive social features.

Screencam of the Jive Widget for Alfresco:

Jive Widget Wizard : add the Alfresco Widget to the Jive Dashboard

Jive Widget for Alfresco : document management features

Jive Widget for Alfresco : Search feature

Jive Widget for Alfresco : collaboration around Alfresco documents

More info:

Integrating Alfresco with Social Software / Principles and real life use-cases

January 28, 2011


Our company ( just delivered a new Widget component to integrate Jive (Enterprise Social Networking solution) with Alfresco ECM platform.
I think this project is a good example of how Alfresco social foundation can be integrated with another social software, dedicated to Enterprise social networking.

This Widget is in production now since a few days, used by one of the biggest French industrial company. basically, it gives Jive users the ability to browse and access Alfresco library from their Jive dashboard:

Jive Widget for Alfresco

Jive Widget for Alfresco

It’s a little bit too early to speak about this new Widget component features and its roadmap, but of course we plan to build an Enterprise supported version, for other customers.

So this post is not about the Widget itself (yes more technical communication will come later on), but about all the thinking that lead to the current v1.0 design, and why we have selected this approach to start with.
I think this might be of interest because this could apply to other similar projects of integration between Social Software, and ECM (not only Jive / Alfresco).

For people who have a very limited time to read, here is the synthesis of the approach:

ESN = Enterprise Social Networking Tool = Front-End = Place to collaborate around document
ECM = Foundation for Content Management = Back-End = Document Repository
Integration = ESN view component = Window to expose and browse ECM data

JIVE = Enterprise Social Networking Tool = Front-End = Place to collaborate around document
ALFRESCO = Foundation for Content Management = Back-End = Document Repository
Integration = JIVE Widget = Window to expose and browse ALFRESCO data

General questions about use-cases:
During the specification phase of the Jive-Alfresco widget, we had to address the following questions about the global design and the responsibility of each IT system:

Let’s assume my company uses both an ESN tool (like Jive), and an ECM tool (like Alfresco):
– For a new document (available on my desktop) : should I publish it in Jive first or in Alfresco first ?
– What about existing documents ? If the document is already in Jive, when and how (and why ?) should I push it to Alfresco ?
– If the document is already in Alfresco, how can I push it to Jive ?
– If I add a tag, a rating or a comment on an existing document, should I synchronize also this meta-data to the other system along with the doc binary ?
– When a document is moved from one system to another, should I keep a copy or a reference in the source system ?
– etc, etc, etc.

So we had to address some infra/IT questions, as well as functional questions…But the main question to answer first was: where should I finally store my document and/or data ?

Infrastructure perspective: ESN/ECM system responsibility
Actually, the answer to the previous question is quite obvious (at least for me).

Yes ESN systems are used to manage a lot of data (documents, images, video, etc)…but they are usually not designed as highly scalable data repository. They are primarily designed to improve collaboration, and to ease social networking.
Think about your youtube video : you will upload them first in youtube (youtube is the highly scalable storage), and then exposed them in your web site. So you can consider Alfresco as the youtube for documents, and Jive as the front-end application that needs to expose documents to allow collaboration.

So it was clear for us that the final document and data repository should be the Alfresco ECM system…But now, more and more, conversation will start in the ESN system first….how could we manage that ?

Document life cycle / Social and collaboration creation process
Actually, the good question about storage location and responsibility might be where should I store my documents in the short, middle or long term.

With new ESN systems, document creation will be more and more a collaborative process and documents will likely have to be moved from one storage to another during their life cycle. For instance:

Short term: for a new “draft” document, the first storage location could now be ESN. The “document” could be already a draft document (word, excel, etc), but it could also just be a web piece of content (blog post, wiki page), or just an idea (forum discussion, comments).
Middle term: once the document is “finalized”, it should be moved to the Document Management system (ECM). Document can still be modified, but less frequently. Security/Control are important here, because we need to have fined grain control on the reader audience.
Long term: for long term storage, you might need to move the document in an archiving system.

So yes, you finally will have to deal with long term storage strategy/archiving, retention policies, security policies, etc…I know it’s not as fun as doing social networking, but you need to take care about your documents. You need some form of control to keep and manage this company knowledge in the long term so that someone else (another employee) could securely but easily find it, and could re-use it.
Important documents should not stay forever in your ESN system…otherwhise, you might loose informations…

Selected use-cases:
Based on the previous architecture rules for document storage location, we have then defined the main principles and the selected approach in our case (for this Jive-Alfresco Widget). To summarize them quickly:

For an existing and finalized document (think word, excel, etc):
– User should store it in ECM (Alfresco) first.
– To collaborate around this existing document, go to your ESN tool (Jive),
– From Jive, browse your ECM document library (using our Widget of course !), get the ECM document reference (link) and use it to start a discussion, or include it in any ESN item (blog post, wiki page, etc).

For a “draft” document:
– It could be uploaded in ESN tool first (could be a draft, but it could also just be a web piece of content, or just an idea).
– ESN (Jive) is then the tool used to collaborate around document,
– Once the document is “finalized”, it should preferably be moved to the ECM system (Alfresco).

Operations on document:
Once the responsibility of each system is clearly defined, as well as use-cases, it is time to detail the operations available on documents/folders:

Basically, there are 4 main kinds of operations identified in our scenario:
– Browse ECM folders/documents (from the ESN interface),
– CRUD operation on document (from the ESN interface),
– Move document (from ESN to ECM system),
– Collaborate around document (using the ESN tool).

Browse ECM folders/documents from the ESN interface:
Basically, you need to build an ESN view component (Jive Widget in our case), and then use appropriate framework to build the dynamic view (Struts, YUI, etc).
For those who are familiar with Portal, a Widget is functionally “similar” to a Portlet.

Jive Alfresco Widget view

Jive Alfresco Widget view

CRUD operation on document/folder:
You need at least to implement the basic document management feature (create, update, delete, rename, etc), and to expose them in the ESN interface (Widget). This can easily be done using one of the Alfresco Web Services (REST, SOAP, CMIS, etc).
For instance, you need an upload “wizard”, to put document in Alfresco, directly from the Jive web interface.

Document Menu

Document Menu

Folder Menu

Folder Menu

Upload file wizard

Upload file wizard

Move document (from ESN to ECM system):
The purpose of this feature is to move the document binary from the ESN system to the ECM system, once it has been finalized.

This “Move To” feature has not been implemented for the moment, in the v1.0 of the Widget. Actually, it was quite complex to manage (as Jive is not open-source), and you need to have full control on the ESN code and data model to implement it. Also, there are several options to do it (duplicate file binary, keep meta-data in ESN after the move operation, remove meta-data from ESN, etc). We had limited time to deliver v1.0, and wanted to keep the system as much simple as possible, mostly to avoid any painful upgrade due to big system customization…Anyway, this feature will likely be scheduled for v2.0.

Note: if you want an example of such “Move To” feature, you can have a look at the existing IBM Quickr and Alfresco integration (more info). The scenarios described above have already been implemented by IBM/Alfresco (duplicate, detached, etc).

And the last scenario is “collaborate around document” (see section below).

Jive social content management features:
In our scenario, collaboration around the document is managed in the ESN system (tagging, rating, comments, discussions, etc).

When the document is uploaded directly in the ESN tool, then it is quite easy to do: your ESN system usually provides mechanism to collaborate around its own objects (whether it is a document, a blog post, a wiki page, a news, etc).

But when document is stored in the ECM, you need to find a way get its reference (nodeID, URL, etc) to refer to it from the ESN system.

We had 2 main technical constraints:
– First we wanted the 2 systems (ESN/ECM) to be loosely coupled (we use Ajax to browse the ECM tree structure),
– We wanted to be able to use the ECM doc reference (Alfresco nodeID) in all kind of Jive object (Jive Documents, Blog, Wiki, Discussion, etc).

So it has been decided to simply implement a “Copy link to clipboard” feature, on each document:

Jive-Alfresco Widget : copy link to clipboard

Jive-Alfresco Widget : copy link to clipboard


The use case for the “Copy link to clipboard” is as follows:
– The Jive user browses the Widget folder tree view, and copy the link of the target Alfresco document,
– Then he/she creates a new Jive Object (Jive Documents, Blog, Wiki, Discussion, etc), and paste the link in the corresponding Jive HTML rich text editor, using the standard Jive insert link wizard.

Yes it’s basic, but it works well :-)…and also it is very easy to maintain (no Jive code or data model customization here), so no regression expected during the Jive software upgrade. For the next version of the Widget, we might consider using the new Jive activity stream feature…to provide a more integrated experience…to be studied.

This Widget component is a first example of how the Alfresco/ECM foundation could be integrated with ESN/Jive system.
It’s a first step, we know we can do much more with social software integration.

So what are the next steps ?
This v1.0 of the Widget is deployed in Jive production environment at customer site, and used by thousands of users. We are waiting for customer feedback to gather evolutions request, and improve next releases. We are planning to build a GA Enterprise version as soon as possible, for other customers.

Before this Enterprise release is ready, if you want to test it, feel free to contact us:

IBM and Alfresco partnership : Portal, Collaboration and Social Networking

January 14, 2010

IBM and Alfresco started to work together to provide integration solutions between their respective products.

I do not have more technical details for the moment, but this has been just announced and will be soon at Lotusphere (January 17-21).

As far as I know, the approach is to use the Alfresco DM capabilities to manage the persistency of data created
through IBM UI (Lotus Quickr, Lotus Notes, Lotus Connections and WebSphere Portal). So web UI is provided by IBM software (like Quickr), primary meta-data are stored in IBM layer also, and the document binaries are stored in Alfresco repository. Integration is achieved through REST protocol.

This integration will be available in the spring of 2010.

I think this is a very good opportunity for Alfresco, to be part of such a strong Portal, Collaboration and SN (social networking) set of solutions.

This is also a good news for IBM/Alfresco customers (as we are) because they can leverage their software investments and get the benefits of both world:
– IBM Lotus has a very complete offer in term of “2.0” softwares (Websphere Portal, Lotus Quickr for collab., Connections for SN), but none of these solutions really provide a very highly scalable data repository (as Alfresco do) to store terabyte of documents.
– On the other side, Alfresco is still a young product and is not able (yet) to address SN or portal features. Its web UI are still quite basic, but its core repository is designed to scale up to more than 100 million documents.

I don’t know if IBM also plan to integrate Alfresco with their Portal WCM solution (IBM Lotus Web Content Management)…but this will be a good idea…

As John Newton said at Lotusphere:
“I think the combination of Lotus and Alfresco provides a real SharePoint killer as well. With the combination of the two, there’s nothing that Sharepoint can do that we can’t.”
“It’s an opportunity for IBM as well to have a set of capabilities where Filenet might be too large or complex for a customer”, he added.

Another well known SN competitor is Jive editor. A tighter collaboration between Alfresco and Jive would surely make sense….No doubt that Alfresco is already working on this…

For more info about Alfresco/IBM integration:
Alfresco Content Services for IBM Lotus

Alfresco ECM gilds IBM’s Lotus suite

Alfresco Enterprise CMS Cozies Up With IBM Lotus

Also, if you are interested about integration of Quickr IBM product with other ECM vendors, this is something I have already discussed on my other (portal) blog:

Quickr and ECM relationship

Quickr and ECM integration