Alfresco Enterprise 3.4 delivers social content management. This new release delivers on Alfresco’s vision of providing the open platform for social content management by delivering both a more robust content platform for building any kind of content-rich application, along with a more social user-interface for collaboration and document management. Refer to alfresco website.
In previous blogs posts, we have discussed how to integrate Alfresco 3.2/3.3 with Liferay 6 via CMIS. This article is going to continue the discussion of the topic - integrating Alfresco 3.4 in Liferay 6.1 via CMIS.
How to achieve it?
You would be able to integrate Alfresco 3.4 EE via CMIS 1.0 in Liferay portal 6.1 in following steps.
- Install Liferay portal 6.1 (revision 71867) at $LIFERAY_HOME; Liferay-Tomcat bundle is expressed as $TOMCAT_AS_DIR; and $PORTAL_ROOT_HOME = $TOMCAT_AS_DIR/webapps/ROOT;
- Locate Alfresco 3.4 EE WAR ${alfresco.war} and Share WAR ${shared.war} at $ALFRESCO_INSTALLATION/ tomcat/webapps
- Drop ${alfresco.war} and ${shared.war} to $TOMCAT_AS_DIR/webapps;
- Create a database alfresco in MySQL.
drop database if exists alfresco;
create database alfresco character set utf8;
grant all on alfresco.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option;
grant all on alfresco.* to 'alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;
- Optionally, create database lportal in MySQL
drop database if exists lportal;
create database lportal character set utf8;
grant all on lportal.* to 'lportal'@'localhost' identified by 'lportal' with grant option;
grant all on lportal.* to 'lportal'@'localhost.localdomain' identified by 'lportal' with grant option;
- Create a file named portal-ext.properties at $PORTAL_ROOT_HOME/WEB-INF/classes and add following lines in portal-ext.properties.
dl.hook.impl=com.liferay.documentlibrary.util.CMISHook
cmis.credentials.username=admin
cmis.credentials.password=admin
cmis.repository.url=http://localhost:8080/alfresco/service/api/cmis
cmis.repository.version=1.0
cmis.system.root.dir=Liferay Home
Especially you may install Alfresco 3.4 in different server, call virtual server. In this case, you need to update cmis.repository.url as follows
cmis.repository.url=http://${domain.name}:${port.number}/alfresco/service/api/cmis
In addition, you may have different admin account in alfresco. Thus you need to update cmis.credentials.username and cmis.credentials.password.
cmis.credentials.username=${admin.name}
cmis.credentials.password=${admin.password}
- Optionally, add database connection in portal-ext.properties.
## MySQL
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost:3306/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=lportal
jdbc.default.password=lportal
Of course, you can use different database systems.
- Start the portal
Of course, you can get the latest WAR of Alfresco Community version or Enterprise (Trial) version from Alfresco website
Testing by examples
In Control panel of Liferay portal, select default community “liferay.com”; and going to Content->Document Library, upload two documents (pdf and ppt, for example) as shown in following screenshot.
Then logging in to Alfresco as "admin/admin", you would see the folder "Liferay Home" and documents as shown in following screenshot. That is, Alfresco becomes direct repository of Liferay Document Library via CMIS. All real content is stored in Alfresco, while all metadata is stored in Liferay database.
Open issues and new features
One known open issue is LPS-12406 - CMIS hook conflicts with plugins hooks. It will get fixed shortly.
And good news – Liferay 6.1 will allow Liferay to act as a CMIS producer, including CMIS Producer support for WCM (LPS-10201); and CMIS consumer Support (LPS-13160) - a ton of thanks to Alex.


