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:

Alfresco and Jive social software integration (some screenshots)

January 26, 2011


Our company ( just released in production – for one of our customer – a new component to integrate Jive (Enterprise Social Networking solution) with Alfresco document management solution.

I will published a detailed blog post in a few days, but I can’t wait to share with you some early screenshot of the interface (see below).

In this case, Jive is used as the front-end solution (for social collaboration around document), and Alfresco is used as the document repository.
From the Jive interface, people can upload documents into Alfresco, and then get the corresponding link to collaborate around it using the Jive features.

Basically, a concrete example of integration with Social software !

01 – widget selection wizard – jive alfresco

03 – widget configuration screen – jive alfresco

04 – Working Layout – jive alfresco

05 – Menu folder – jive alfresco

06 – Menu document – jive alfresco

07 – upload – jive alfresco

08 – New folder – jive alfresco

09 – Tooltip – jive alfresco

10 – Copy a link without Flash – jive alfresco

11 – Search Results – jive alfresco

More info coming soon….

1 reason to choose Alfresco vs Quickr for document management : scalability

January 26, 2011

More and more people are asking me the same questions about IBM Quickr vs Alfresco Document Management solution.

– what are the main technical and/or functional differences between Quickr and Alfresco ?
– When should I use Quickr, when is Alfresco more appropriate ?
– What is the best solution for document management ?
– etc.

I have already published a few blog post about this topic (see list below), but to summarize:
– Alfresco is a Document Management system, Quickr is not.
– Alfresco is a scalable solution, Quickr is not.

OK…let me give you more details 🙂

– Alfresco is designed as a highly scalable document repository, and can store huge volume of documents, Quickr cannot.
– Alfresco has a very light and robust software infrastructure, which allow to support a lots of concurrent users. Quickr is much more limited.
– From the hardware point of view, Alfresco can run on a very small server, with a few CPU/RAM resources. Quickr relies on a portal application architecture, so it is a quite heavy solution.
– Quickr is primarily a collaboration tool, Alfresco (now with Alfresco Share) also offers collaboration capabilities.

As you can see reasons seem more technical than functional, and that’s true.

If you study the respective DM features of each product, a high level functional analysis might show that these 2 solutions seem to offer the “same” level of service (versioning, security management, checkIn-Out, tagging, etc).

OK, but what if your end-users request (in the middle/long term) more advanced features like workflows/BPM, automated rules, archiving, etc…Then Alfresco will be more adapted.

If you are already using Quickr for document management/collaboration, for a limited number of users, and with a *very* small volume of data (50 GB, 100 GB ?), then you might think that switching to Alfresco does not make sense (due to cost of migration) in the short term…

OK, but I’m almost sure that your volume of document is growing quickly each day…right ?
(Even if it is not the case, just from the infrastructure cost perspective, you should consider Alfresco to reduce your hardware budget…).

So one of the main reason to choose Alfresco is its capacity to manage a huge volume of documents.
Scalability is the key argument. Be sure that, whatever the DM system you will implement in your company, people will very quickly adopt it (just because so far they had no other place to store their data), and the number of documents in your repository will grow faster and faster. Not only documents, but also images, videos, blogs, wiki, etc.
So sooner or later (but most likely sooner that you would expect), you will have to deal with hundreds of gigabyte of data or terabyte of data…and this is clearly not something Quickr is able to support.

Finally, I’m not saying that Quickr is not a good solution. My point of view here is that it is more a portal/collaborative solution, than a DM system.
So IBM Quickr could be an appropriate solution, for collaboration use-cases, portal integration, etc, but not as a document management solution.

Related posts:

Quickr and ECM relationship

Quickr and ECM integration

IBM and Alfresco partnership : Portal, Collaboration and Social Networking