Monday, December 25, 2006

Liferay vs Stringbeans open source portals

Took a quick peek today at open source enterprise portals Liferay 4.2 and Stringbeans 3.2. Also wanted to try out uPortal 2.5.3 quick start but had no success (page not found). Below are my 5 minute reactions (5 minutes to download the software bundled with tomcat, start it up, log on and poke around).

Liferay 4.2 impressions

Very polished looking with nice animations when loading portlets (showing off the multi-threaded rendering). Very disappointed with user management features and lack of portlet configuration support in the admin portlets. When assigning roles to portlets or users it was just free-form typing (i.e., you are given an edit box and asked to type in each role name on a new line). Web services were also not readily visible while logged in as an administrator.

Stringbeans 3.2 impressions

While less polished looking (Liferay seems to have better graphic artists on the project) I was impressed with the admin portlets. You can configure new portlets online without editing the various xml files that are normally involved in plumbing a portlet. It also had nice stats portlets that displayed portlet and web service usage. Besides the ability to configure portlets online it also had a portlet dedicated to web services, though I didn't test any out at least you can tell they put some thought into it. It was going good until I tried to add multiple roles to a user.

Summary...

I realize that in an enterprise setting there is probably (has to be) some way to hook up these portals to a directory, but I found their lack of built-in user administration features a show stopper. I also did a quick 5 minute review of the source code for each and in my uneducated opinion found the Stringbeans source to be easier to read and seemed to make more logical sense in terms of classes/interfaces used. For now, if I wanted to setup a quick portlet test or test WSRP production/consumption I think I'd go with Stringbeans.

I also wanted to try out the open source Sun Java portal server, but thought otherwise when the system requirements listed 1.5Gb as the required RAM. Maybe when I have time for a 5-day instead of 5-minute test...(why can't BEA, Sun, Oracle and IBM put quick start packages together).

2 comments:

John Wagenleitner said...

Right after posting I found that Stringbeans supposedly has a patch for the problem of adding more than one role per user (see Issue 346).

Bryan Cheung said...

Thanks for your impressions on Liferay, John. We actually do have a built-in GUI-based administration interface for configuring LDAP directory integration. It can be configured for Novell eDirectory, Microsoft Active Directory, or Apache Directory Services. You can find this interface in the Admin portlet, under Users, Authentication, LDAP. It is admittedly hard to get to and could be made more visible.

With regard to roles, the reason the basic role editing screen is a free-form text field is that this area is only intended to create a name for the role. The idea is that you can name the role in the most descriptive way possible, allowing flexibility for custom roles to be created for any number of use cases.

Once a role is named, you assign a number of permissions (actions with scopes) to it, and also assign users to it (individually, as a whole organization or location, or as a user group).

So essentially the role is a relationship between x users and y actions (with scopes).

It's not completely straightforward, but Liferay's permissions system is quite powerful. It's the only fine-grained permissions system of its kind in the portal space. One of our goals for the next release is to focus on improving the usability of the permissions system UI.

As for portlet administration, each portlet has its own admin screen you can access by clicking on the gears in the upper right of the title bar. In the latest version, portlet titles can be edited simply by clicking on the title itself right where the portlet is.

We do have extensive support for web services as well, with WSRP support as well as Web Services support at the business layer. Our ServiceBuilder tool can generate all the classes needed to expose any business logic as a web service.

These and other topics are also covered by our video tutorials:

http://www.liferay.com/web/guest/devzone/lifecast

If you have any questions, feel free to contact us. Thanks again for your comments.