sabato 28 aprile 2012

Developing a CMIS portlet for Liferay

Liferay Portal has many powerful tools for content’s authoring. Despite of this tools, it’s difficult to imagine that on the long term the Enterprise Portal built with Liferay can be the only place where contents are produced (while probably it will still be the main channel for publication and fruition of the content itself).

In my company (www.qbreng.it) we are currently working on a content production & delivery architecture that provides our Customers a Collaboration Platform (Alfresco Share) to organize workflows for the digital asset production. The assets produced in the workflow are (generally) very low- coupled to the final delivery channel (web, mobile, disk etc).

To simplify the interaction between the internal Collaboration Platform (Alfresco Share) and the WCM (Liferay), some ECM products provide good portlets that, after a small configuration work, make able Liferay’s users to browse, inspect and download the artifacts produced and stored on the ECM.

But sometimes this portlets are not able to fully address all configuration needs for the final customer, so sometimes we need to abandon this kind of (native ECM supported) approach and proceed to develop our integration solution “from scratch”. Now we have to justify our decision with the classic “buy vs build” pattern. This is the question: “I must use native tools, cheap and configurable but limited in flexibility, or we must develop a new (costly) integration component from scratch that I can totally dominate in functions?”

Costly? No more guys. Thanks to the adoption by many ECM vendors of the CMIS (Content Management Interoperability Services) communication protocol, it is very cheap and affordable today the development of new components with very high integration capabilities.

In this article we demonstrate, with an easy exercize, how simple is to write a good customized integration solution to let Liferay and Alfresco easily communicate with each other. We will realize a small portlet that we can use to browse contents on a remote CMIS Repository (Alfresco). This portlet (evolved) is today part of our document management suite Beefly developed by my company qbreng.it.




This portlet – that we can call a “semifinished” component – can represent the first part of a more complex,  CMIS-based, integration platform, very flexible and useful to address the Client’s customization’s needs.

Main features of the portlet
  1. Browsing a remote repository tree with AJAX
  2. Setting the portlet’s root folder (from wich you start the browsing actions) with the standard configuration tools of Liferay.
  3. Download of remote contents trough direct repository connection or with a proxy servlet.
  4. Support to multi-instance. It’s’ possible to create more instances of this portlet (also on the same page), each one with a different root folder.
 Download the source code

View the full article here

Nessun commento:

Posta un commento