Evaluating OpenCms, Alfresco and Liferay

Java, Software Add comments

I spent this week doing a proof of concept time-boxed to one week for a client that wants a new corporate intranet. The first step was to choose a technology stack.

I have experience with some heavy weight commercial Content Management and Portal products that play in this space but all of these are expensive and probably an overkill for a intranet. The majority of the client’s requirements are to do with basic web content management so I went on the prowl for Java open source solutions to the problem. I spent around three to four hours installing and playing around with some open source products that have enterprise level support available through backing companies.

OpenCms 7 — OpenCms is a web content management system and nothing more. It was trivially simple to install and get going with MySql. It gives you a tree view of your web projects and you can go about managing content in the same way that you would in a file system. You do your work in an “offline project” and publish changes in batch when ready. I found changing the look and feel and layout non intuitive at first but it was ok once I worked out that my site was based on the “templateone” module and most of the styling and layout could be driven from properties in the document tree. OpenCms supports XML content that you can define and author through an automatically generated web form and then access from JSPs. The bundled documentation is good and finding help online is easy.

Alfresco Community 2.1 + Web Content Management extension — Alfresco is a lot more than web content management system. At it’s core it is a document management and collaboration tool that is trying to compete with products like Microsoft Sharepoint. It has team spaces where users can author, manage, version control and share documents as well as participate in discussion forums. Users can access the content repository through a sleek looking web interface or directly from Windows using various plugins. Content can also be accessed through a web service API. The Web Content Management extension adds the ability to create web projects and publish web content. A really cool feature is the ability to deploy dynamic web projects (i.e. WAR files) that are developed outside of Alfresco. I tried this out by creating a simple web application using Sitemesh to control the layout. As a Java developer I found this much more in tune to my way of developing software. In terms of support there’s a website, a wiki and forums but I found it very hard to get useful information. Even something basic like installation instructions are incomplete and all over the place. Alfresco is more feature rich than OpenCms and with that comes extra complexity which led to frustrating attempts at implementing more complex things like XML based web content. Overall I was quite impressed with Alfresco and can see the potential to do some really cool stuff in it. Unfortunately, due to the learning curve, lacklustre documentation and short amount of disposable time I abandoned Alfresco as an option. I will re-visit it when I have more time.

Liferay 4.3 — Liferay is an open source Portal product. I have a healthy dose of skepticism towards Portal products brought about by a few bad project experiences. Liferay was easy to install and get going, it comes bundled with Tomcat and runs on HSQLDB by default. Liferay comes with a lot of collaboration Portlets like wikis, forums, news, document sharing and calendars out of the box although I get the feeling that they are all quite basic. For example, the wiki Portlet is very simple and lacks a lot of the features that one would expect in a fully fledged wiki product like Confluence. A core feature of any Portal product is the ability for each user to create their own mash-up of Portlets and Liferay supports that well. I found the administration Portlets to be slow and hard to navigate around. Overall I was impressed with the breadth of Liferay but not so much with the depth. I abandoned it as an option, mostly because it’s feature rich in all the wrong places and a general belief that Portals are evil.

In the end I chose OpenCms as “the simplest thing that works” and spent 2.5 days spiking an Intranet on it. In that time I was able build:

  • A branded intranet
  • News page
  • Job board
  • General web content pages
  • Document attachments
  • A tree view of documents
  • Integration to a Java based forum through an iframe
  • Some rich ajaxy pages using Ext JS

10 Responses to “Evaluating OpenCms, Alfresco and Liferay”

  1. Kenan Sevindik Says:

    Tomas,
    I cannot say anything about OpenCms as I don’t have any experience with it so far. On the other hand, I agree with most of your opinions related with Alfresco CMS and Liferay Portal.
    Yes, Liferay bundles lots of portlets with it but most of them are super stupid things. They are there so that they can fill their feature list. Moreover, their API stability and quality of services are not very good.
    When it comes to Alfresco, yes you need considerable time and passion to start developing on top of it with such lacking and disorganized guidence. You must also understand underlying technologies Alfresco built upon extensively,such as Spring and Acegi Security Framework to make use of it.
    We are currently developing a wiki system on top of Alfresco, using JSF, MyFaces, IceFaces, Spring WebFlow. It is deployable to Liferay as a portlet as well :-) . It is not hard to guess that each technology has issues with each other, and they are doubled when a portal enters into the scene.

  2. Susan Davis Says:

    We looked at similar technologies a few months ago, and the most promising one seemed to be Magnolia. We wound up not using it in the end, as our needs were sufficiently different, but its architecture looks much nicer as a point of departure for developing a more complex system.

  3. Jorge Ferrer Says:

    Hey Tomas,

    I’m one of Liferay’s developers and would like to thank you for including Liferay in your review, even if it was not the winner. I completely agree with some of the weak points that you highlight, specially about the wiki portlet which needs much more attention that we’ve been giving it.

    We try to develop the features that will be most helpful for our users, but it’s not always easy to hit the nail. Is there anything we could do to improve Liferay so that you’d pick it next time you face a similar scenario? What are the features that you missed most and those that you would remove?

  4. Tomas Varsavsky Says:

    Jorge,

    Firstly, my main reason for rejecting Liferay is the same reason that I would have rejected any Portal product. Portal features are advanced in nature and in my experience it gets in the way of delivering the core functionality that solves the business problem at hand. My recommendation to anyone considering using Portal would be to defer its introduction until the core application is delivered and in production. You need to learn to walk before you can run. I believe in doing the simplest thing that works and most often a Portal is not that. Having said that I do concede that there is a very specific small subset of problems that do require Portal, but an intranet is not one of them (at least not in its first instance). I should write a whole blog entry on this.

    Now with the main reason out of the way, some specifics on Liferay. Remember that I spent a grand total of 4 hours installing and playing around with it so some of these may have been overcome with more effort on my part. I found a lot of the portlets to be simplistic in nature to the point where I would not consider them an option over a competing built for purpose product (e.g Wiki, Forum). I found it annoying to have to add administration portlets to a page just to be able to do system administration — a pre configured admin panel would have helped. I couldn’t work out how to turn off some of the controls for specific portlets. For example, I wanted a news portlet on the home page that couldn’t be closed or minimised.

  5. Jorge Ferrer Says:

    Tomas,

    Thanks for your answer.

    I really like the idea of a pre configured admin panel and I’ve added it to my TODO list. Regarding Wiki, we plan to improve it enough so that it can substitute our public wiki (that currently runs MediaWiki). Regarding, RSS, most people seem to have different opinions about how to improve it, we’ll certainly keep its development but IMHO for some scenarios it’ll still be necessary to customize the JSP that renders the view.

    I was surprised by the fact that you find Forum simplistic though. While it does not have the most advanced features of specific products, it has been working very well for our own community, which is reasonably large (http://www.liferay.com/web/guest/community/forums). Is there any functionality in particular that you missed?

  6. Tomas Varsavsky Says:

    One specific thing I couldn’t work out how to do in the forum was a view of a subset of the categories. The client’s requirements are for a corporate intranet where the forum for the HR department is on the HR page, the forum for the legal department is on the legal homepage, etc. The forum portlet always starts up with all the categories and the user has to drill down to the right one.

  7. Jonas Claesson Says:

    I’m currently evaluating open source portals and I picked Liferay as the clear winner. Forget about the Wiki, there are so many other reasons why Liferay is a really good product. I can understand why you thought Liferay was to complicated to get started if you just want simple content, maybe then Liferay is not the best pick.

    My favorite things are:
    1) How easy you can create your own look and feel
    2) The CMS and Document Library, and the fact that there is an java API to access it
    3) Fast startup time and deployment time (some portals are terrible slow…)
    4) Very flexible security model
    5) Great documentation
    I can make the list go on…

  8. Jorge Ferrer Says:

    Tomas: Yes, that’s one thing that it’s hard to do. You’d have to create several communities, one for each form.

    We plan to implement a feature to allow doing this in an easier way and with more flexibility. It woudl be not only for the forum, but for any other portlet, so that it’s possible to select the scope of the data within the portlet to the Community (what is now), the current page, the individual portlet, etc. It’ll probably be read by 5.0.

    Anyway, thanks again for your feedbak, I found it very useful.

    Jonas: I’ve very glad to hear such a positive comment about Liferay. Thanks!

  9. Arash Kaffamanesh Says:

    Hi Tomas,
    hello together,
    I’m working since 5 years with OpenCms for internet and very large intra- / extra- net projects, OpenCms is used as a content delivery service for delivering static content to commercial portal servers like WebSphere Portal Server and is being used Standalone for Intranet Projetcs. I’m doing currently a proof of concept to integrate OpenCms with Liferay as one of the best open source portal frameworks. On the other hand we are thinking about to investigate some effort in the area of Alfresco Liferay integration. Alfresco’s WCM is very young and the community edition is not stable enough for enterprise projects, but it seems to compete with OpenCms and Magnolia with her WCM capabilities in the near future in enterprise sectors. In general I think Alfresco is also going to compete more with Intervowen TeamSite and MS SharePoint in ECM sector. Anyway OpenCms will remain as the best LightWeight Open Source Enterprise WCMS and the upcoming OpenCms JSR168 Module Contribution from China will add the desired portal capabilities to her rich feature list. Cheers!

  10. Marcelo Ruiz Camauer Says:

    Please take another look at Liferay now. Jorge has updated the Wiki and now it much more sophisticated. LR has a new major version out, 4.4 which adds as usual a lot of great features. Version 5 is a few weeks away, and it will be JSR-286 compliant! We have been developing fulltime using LR as our base system for two years and we love it. It is updated very quickly, the community is fairly responsive (nothing is ever perfect), the system is solid and is just a good platform on which to base any web-based application, portal, website or CMS, based on Java.

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in