Events

IBM Webcast - Mobility in the Cloud

Optimize Your Mobile Workforce with Social Collaboration in the Cloud

A Free Template from Joomlashack

A Free Template from Joomlashack

Advertisement

Liferay Integration with Documentum PDF Print E-mail
Written by Administrator   
Wednesday, 06 October 2010 13:27
Article Index
Liferay Integration with Documentum
High Level Architecture
Hook Details
DFS Service
Community Creation Automation
All Pages

Every organization has an enterprise document management system used for storing enterprise documents. When an organization decides to follow web 2.0 roadmap where users need to share documents whether he is attaching it in Blog/Wiki or any other collaboration tool, the challenge is how to integrate DMS. We will look into different ways of integrating Liferay Portal with Documentum.

Before we talk about integrating Documentum, lets look into the integration points of DMS in Liferay

  • Blogs
  • Wiki
  • Message Board
  • Document Library

 

In this article, We will use the standard DL hook mechanism to integrate to Documentum. Below we'll see the advantages & disadvantages of this approach.


Advantage

  • Standard mechanism in Liferay to connect to any DMS.
  • Easy to switch to any DMS without any major code change.

 

Disadvantage

  • DL Hook is not mature enough to handle all the scenarios e.g. transactions etc
  • There is no consistency in the way the file object parameter is passed in the method calls to the interface from DLP, Message Board & Wiki portlets.
  • Folder creation calls are not made to the hook which leaves inconsistency between the data that exists in Liferay and in DMS.

We'll look into the high level architecture of the integration.


High Level Architecture

Hook Details

We'll develop a hook web application. Following are the steps
  • Create a hook plugin using the plugin sdk.
  • Create liferay-hook.xml file.
  • Create dm.properties file.
  • Create a class CustomHook which implements Hook interface.
  • Create a service pre-action class to capture the SSO token from request.

 

Liferay-Hook.xml

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 5.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_5_2_0.dtd">
<hook>
<portal-properties>dm.properties</portal-properties>














</hook>















 

 

dm.properties

dl.hook.impl=com.test.hook.CustomHook

DFS Service

We need to  develop a documentum webservice which will provide services for the CRUD operations performed by the portlets in Liferay.
Important aspect in the integration is the mapping between the Liferay document and the documentum document object.

 

Below are the mapping attributes

 

Liferay doc/folder id <-> Documentum custom attribute (c_foreign_key)
Liferay doc/folder title <-> Documentum doc/folder title attribute & object_name attribute
Liferay doc version <-> Documentum doc r_version_label attribute
For every community in Liferay, we'll create an equivalent room in documentum.

Community Creation Automation

Documentum room creation for each community in Liferay can be automated so that whenever a community is created in Liferay, a room is provisioned in Documentum.

This can be achieved by implementing the following

  • Model listener for Group.
  • Implementing the service to create Documentum Room.

 

There are some issues when you automate the community creation.

  • Room creation in Documentum takes time, so the process of creating a room when a Liferay community is created should be asynchronous.
  • If the room creation fails in Documentum, there has to be a clean up activity in Liferay so that users don't use it without Documentum room.


Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP
Last Updated on Thursday, 15 December 2011 11:53
 
 
Joomla 1.5 Templates by Joomlashack