Events


Books Authored

GateIn Cookbook cover

Alfresco 3 Web Services Book Cover

I work at
I joined in

Support CC

« Spring Framework Meeting 2009 - Rome | Main | JBUG Rome Meeting »
Wednesday
Oct142009

Liferay Portal 5.2 Systems Development Book Review

Liferay Portal 5.2 Systems Development Book CoverLiferay Portal 5.2 System Development by Jonas X. Yuan is the first edition of the book dedicated to how develop custom intranet systems, it was recently published by Packt Publishing.

Author

Jonas X. Yuan is a Senior Technical Analyst at Cignex, he is experienced in System Development Life Cycle (SDLC), J2EE, BPEL and in content management.

 

Audience

This book (552 pages) is dedicated to Java developers would like to know more about how to develop custom portals with Liferay. This book is not recommended for portal administrators.

For who doesn't know Liferay, it is an Enterprise Open Source project dedicated to create portals and it is a Java-based portlet-container implementation.

 

Review and material

I think that this book can be used as a real reference manual for Liferay, so whenever you need to implement a specific use case or you would like to customize a portlet, then this book can help you to achieve this goal.

Many chapters are based on Java code, portlet configuration files and other stuff published in the same page, so I think that this book is not easy to read. That's why I would like to repeat that this book is not recommended for portal administrators.

I appreciated very much the chapter about JSR-286 Portlets, it is well done and for who doesn't know nothing about portlet, it can be used as a summary of the official specification.

The bad thing is that I don't found nothing about how to implement a portlet using other MVC frameworks. It could be useful to know, expecially for newbie on Liferay and portals, these alternative ways.

You can take a first look at the following titles of all the twelve chapters provided in this book:

  • Chapter 1: Introducing portal framework and architecture
  • Chapter 2: Working with JSR-286 portlets
  • Chapter 3: Using extension environment
  • Chapter 4: Experiencing Struts portlets
  • Chapter 5: Managing pages
  • Chapter 6: Customizing the WYSIWYG editor
  • Chapter 7: Empowering CMS and WCM
  • Chapter 8: Building a Personalized Community
  • Chapter 9: Developing layout templates and themes
  • Chapter 10: Building my social office
  • Chapter 11: Staging and Publishing
  • Chapter 12: Using common API

Chapter 1: Introducing Liferay portal framework and architecture

The first chapter is dedicated to show an overview about the LifeRay to first-time users with some of the main features, all the standard supported, the software architecture and all the ways that you can use to customize the portal behaviour for your extensions.

Chapter 2: Working with JSR-286 portlets

In this chapter you can find all the informations about how to develop a JSR-286 portlet. So it means that you can learn how to develop a portlet for any type of portlet container.

This is a very useful chapter, well done with a wide scope target, not only for Liferay.

Chapter 3: Using extension environment

This chapter is dedicated to show how to setup your development environment step-by-step.

Here you can find information about how to extend Liferay with your own custom portlets and how to deploy these new artifacts in the best way.

Comparing Liferay with other Enterprise Open Source products, the Liferay SDK is very difficult to setup in your environment and this book explain exactly how to configure all this stuff.

Chapter 4: Experiencing Struts portlets

If you need to implement a portlet using some Liferay libraries or features you need to create a Struts portlet using the Struts bridge for portals.

In this chapter you'll find a complete example that helps you step-by-step to create your custom implementation based on Struts.

I don't think that developers would like to implement portlets with Struts. Usually a developer would like to use a portlet in more than one unique portal context.

Chapter 5: Managing pages

If you would like to extend some of the Liferay portlets, you need to know Struts, because all the Liferay portlets are implemented using the Struts portlet bridge.

In this chapter you'll find huge material with many examples about how use the ext environment.

Chapter 6: Customizing the WYSIWYG editor

In this chapter you can find an other complete guide about how to update the editor and other features.

Here I think that you can understand the limit of Liferay, it is clearly not a portal framework and all this procedure seems too tricky to achieve.

So during all this section you only need to follow the source code on the book and you need to try to understand all of this stuff without helpers or an API.

I think that this chapter is not really useful.

Chapter 7: Empowering CMS and WCM

An other chapter that is not based on some APIs or a standard, you need to learn how to do that stuff with Liferay using a specific Liferay library and contents.

I think that there is too much source code here, maybe it could be more useful to understand only Liferay library.

Chapter 8: Building a Personalized Community

Here you can learn how to extend communities features in Liferay, how to create widgets and how to customize other features dedicated to UGC.

This is one of the chapters that a developer need to read to customize the basic portal features.

Chapter 9: Developing layout templates and themes

This is an other important chapter dedicated to show how to create your custom layout for your portal.

Usually whenever you need to create a custom layout for any portlet-containers you need to follow these steps.

The layout consists of all the main columns that you would like to manage dinamically with your custom portlets.

Chapter 10: Building my social office

Here you can find informations about some social portlets that you can download from SVN and customize to use these in your social context for your business case.

Then we find how to customize the user's profile and other stuff related to the social office.

Chapter 11: Staging and Publishing

Liferay has a WCM component that allows you to start and schedule contents workflows on your live environment and in this chapter is explained how to customize all this stuff.

There is a good description of what you can do with staging, for example: copy contents from live, publish contents to live or how to customize the staging workflow.

Chapter 12: Using common API

I would have appreciated more details about this topic, but you can find just some tips about how to extend Liferay using Spring, how to integrate Liferay with Solr, Terracotta and SharePoint. But these topics are only introduced without any specific details.

In conclusion Liferay Portal 5.2 Systems Development is a good book, is more similar to a reference manual, and it is highly recommended! This is the first and unique book dedicated to how to customize Liferay from the developer's point of view.

If you would like to see all the details about chapters and paragraphes of this book, then you can visit the detailed table of contents.

You can download Chapter 5 - Managing Pages directly from Packt Publishing website for free:

Sample Chapter 5 - Managing Pages [1.0 MB] (PDF)

Thanks to Packt Publishing for provided me with a free copy of the book for writing this review.

 

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (2)

References allow you to track sources for this article, as well as articles that were written in response to this article.

Reader Comments (1)

Hi. I started to read this book just now, too.
I appreciate you. This post is a good guide for me.

I'll try to introduce this post at our blog site --- in Japanese.

October 20, 2009 | Unregistered CommenterAkinori Ishii

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>