The Alfresco Story Part II

September 24, 2007

As promised in the comment of the Alfresco story I decided to describe the problems when working with the Alfresco community version within the Liferay portal in detail. I encountered the following two bugs in the current (2.1) Alfresco community version:

  1. Validation problems submitting a Web Form (http://issues.alfresco.com/browse/WCM-833)
  2. Problems completing the example press release (http://issues.alfresco.com/browse/WCM-342)

Concerning bug number one I was advised to test the development release of Alfresco 2.2 where the bug did not occur. I was quite glad about that. But when I tried to edit the form which I could submit before, it could not be submitted again. I do not know if this editing problem was related to my environment or an Alfresco bug because with a later nightly build (22th September) I could not reproduce it.

Concerning bug number two I do not think that it is grave because commenting out the appropriate line in the press-release.xsd file resolves it. In spite of everything it is a pity that the well documented WCM example does not work out of the box.

Finally I decided not to develop a news portlet for Alfresco because on one hand Liferay supports similar standalone functionality with the blog portlet which will be greatly enhanced in the forthcoming 5.0 release and on the other hand I did not want to develop a portlet which cannot be used with the current stable Alfresco release.

Instead I started to develop an image gallery based on but not limited to the Alfresco content repository. More about that later.

Greetings and enjoy the nice day (I am writing this on our terrace with blue sky above me (at least in south Germany))

Phillip

PS I almost forgot something. I personally think that Alfresco is a really great CMS. I especially like the implementation of the web forms which is based on standard  XML schema. So keep up the good work and thanks for supporting the open source community with an enterprise content management system.

The Alfresco Story

September 20, 2007

Actually we are planning to develop an easy to use site news portlet based on the Alfresco Content Management System and the corresponding Alfresco content configuration files. Yesterday and today I evaluated Alfresco for that purpose. While using Alfresco within Liferay I found several bugs which made me think that the Web Content Management extension for Alfresco might not be production stable. After the whole evaluating and the attendant draw backs I am thinking of dropping the Alfresco side completely and developing a stand alone portlet.

So let us look into the advantages and disadvantages of implementing a news portlet based on Alfresco Content or developing it standalone.

Alfresco

Advantages:

  • Powerful and quite easy to build implementation of Web Forms. No GUI has to be implemented to submit content
  • coherent user interface for all content (if the target web site only uses Alfresco for its content management)
  • Powerful search and export features for individual content entries using Lucene, XSL, Freemarker and XSL-FO

Disadvantages:

  • Web Content Management (WCM) of Alfresco contains major bugs in the actual stable 2.1 version and in the current 2.2 development releases which partially avoid content submission
  • Content presentation is quite expensive as the content of the web forms is saved as xml data which needs to be transformed into html on the fly or cached for further use
  • Alfresco is a huge enterprise content management system for really big sites and tons of features. It might be too complex for smaller sites.

standalone

Advantages (also see disadvantages of Alfresco):

  • full control of all content aspects
  • lightweight
  • can be used without alfresco in every JSR-168 portlet container

Disadvantages (also see advantages of Alfresco):

  • complete content submission functionality must be implemented
  • simple workflow must be implemented
  • Websites which use alfresco might submit redundant data
  • Altogether at the current point more work

At the current point I tend to develop the standalone solution but I will think it over for some time.

Feel free to comment if you think I forgot something

Phillip

Developer Woes

September 19, 2007

Yesterday was one of the days were everything begins promising and after hours and hours it ends in a developer desaster. Although I tried 13 hours to get a Liferay portlet with hibernate, icefaces and myfaces to work it did not work. After all these hours I think there might be a reason why Liferay distributes its icefaces sample portlet with the SUN Reference Implementation of Java Server Faces and not Apache’s MyFaces.

It all began yesterday morning when I accessed Alfresco which was deployed as a portlet within Liferay via the WSRP Api. Strange to say this worked out of the box which made me very happy and maybe also brought me the motivation to go on more than 12 hours from that point.

In the afternoon I simply needed a JSF Tag which can iterate over a List and display its content. After some googling I found out that there is no JSF tag which supports this function. So I decided to write my own JSF component with the help of some examples with similar functionality. Unfortunately this did not work out of the box and after some more googling I found out that Apache MyFaces provides a tag called dataList which exactly was what I needed. So why don’t switch to icefaces with MyFaces? This combination would have been phenomenal as there could have been a solution to also get tomahawk working and to have a really big choice of prebuilt JSF components then. Well it wouldn’t work. After many hours of experimenting it boilt down to one Exception within one of the Liferay portlet JSF helper classes. It looked like this helper class could not deal with the ICEFaces workaround of handling the FacesContext. After some more googling I found out that ICEFaces within portlets is not considered production ready until version 1.7 of ICEFaces and so I switched to MyFaces and Tomahawk instead of ICEFaces for this portlet completely. AJAX components are not that useful in this portlet context and so the switch is acceptable whereas the big amount of wasted time is not :-) .

But that was yesterday. The Myfaces, Facelets example is working now within Liferay and hopefully the accessing of Alfresco will too.

Have a nice day

Phillip

Introduction

September 17, 2007

In this Blog we will document our progress in developing portlets, every community needs.

As there are still portlets missing for building enhanced communities, this project will provide portlets to close this gap.

The development process is going to be documented carefully within a project thesis at the University of Bamberg. After finishing the thesis there will be a basis for further open source development.