File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Portals and Portlets and the fly likes Anybody using Liferay? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Portals and Portlets
Bookmark "Anybody using Liferay?" Watch "Anybody using Liferay?" New topic

Anybody using Liferay?

chris webster

Joined: Mar 01, 2009
Posts: 2288

I recently started a new job where I am returning to Java development after several years doing other things, and it looks like I will be assigned to a Liferay project in a couple of months' time. I don't have any serious experience with Java web stuff, although I have a couple of years' previous experience in server-side J(2)EE a long time ago, some Eclipse and general Java core development, plus some tinkering with servlets and various web app frameworks in Java and other languages. Starting Liferay will probably be a good learning exercise, but I'm wondering what specific areas I should look at in advance, and also how useful these skills are generally, because as far as I can tell nobody out there seems to use Liferay much.

Any tips?

No more Blub for me, thank you, Vicar.
Shantanu Puranik
Ranch Hand

Joined: Jun 10, 2004
Posts: 67
Hi Chris,

Yes, it would be a good learning exercise to know Liferay.
As it's about portal & portlets the usage is limited but, Liferay is one of the leader in this space and there exists Liferay forum. Spending time there would be a good start.
Knowing JSR-286 the portlet specification would help in general.
There are Liferay specific topics to know about but would help only if they are part of your project.
e.g. Alloy UI, hooks and ext. plugins. Also check out their out box portlets like document and media library.
You can download the community edition and start playing with it.

--- Shantanu
chris webster

Joined: Mar 01, 2009
Posts: 2288

Thanks for the tips, Shantanu. I'll start looking into portlets (something of a niche it seems) and the Liferay CE.
Karthik Shiraly

Joined: Apr 04, 2009
Posts: 872

@Chris, I was in exactly your position an year and a half ago. My project was a complete rewrite using Liferay 6.1, and some of the features required understanding its deepest internals (though this may not be the case in your project). From that experience, my tips are:

1. Portlet programming is quite different from regular servlet programming, in just about everything (concepts, deployment, lifecycles, URL handling, etc.).

2. If it's feasible and the decision is in your hands, use the latest liferay 6.x versions for your project. Shun 5.x - they're a pain.

3. My recommended book is "Liferay in Action".
If your project/company prefers spring stack, then "Portlets in Action" is very useful to understand Spring portlet MVC.

4. I would recommend using Spring Portlet MVC, rather than the plain portlet APIs.

5. If your project plans on doing a lot of customization of liferay core or out-of-the-box portlets bundled into Liferay, then I would recommend you get *very familiar* with liferay source code structure. Documentation is minimal, and so understanding behaviours involves trawling through its source code. A good editor with "find in files" features is priceless.

6. If your portlets are UI intensive (complex UIs and user interactions), then I would recommend staying away from their Alloy UI framework. It's good feature wise, but documentation is not good at all. Trying to implement complex UIs with alloy UI will involve higher implementation effort. Stick to jquery or vaadin (which liferay supports well).

7. Authorizations (roles and permissions) behaviours take sometime to understand. If your project relies on fine grained permissions, experiment a lot with roles and permissions and their influence on various liferay features before starting any implementation.

8. Overall, liferay is as much a framework as a portlet container. It likes to pigeon hole applications into its own world view. Things are easy if you can fit in your UI and interactions into the framework's world view. Effort required shoots up if you want to customize anything heavily, however. Liferay makes customizations possible at every level, but beware of the effort involved. Prototype things if such customizations are involved.
chris webster

Joined: Mar 01, 2009
Posts: 2288

Thanks for your comprehensive advice, Karthik!

It's a new project, using a lot of Spring, and I think we'll be trying to keep things simple initially on the Liferay side. Right now, I've just bought Portlets In Action and downloaded Liferay CE, so it's time to start learning this stuff.

Many thanks for your help, guys.
I agree. Here's the link:
subject: Anybody using Liferay?
It's not a secret anymore!