Liferay – Simple Theme Development

Indeed, Liferay has come a long way with its 6.1 version, that fully supports JSF and IceFaces. 🙂 I’m still trying to learn the ropes of it as I aim to have it the standard collaboration tool in our team.

Good Software Application solve problems, but great ones not just solves the problem, but intuitively give users the look and feel of the solvable problem. Applications are usually themed to match of its purpose and value. The twitter application has little bird icons, same as its name and its purpose. Facebook’s simplistic approach made the users visit their site on daily basis because the site’s look and feel is pretty straight forward.

What’s good about Liferay is that all of its components, from themes, portlets to extensions and hooks are all customizable and injectable – injectable meaning that developers can create the components independently and plug it. 🙂 Themes is not an exception:

Download the Liferay Eclipse Plugin

Go to > Help > Eclipse Marketplace > Search for “Liferay”

Once installed, Liferay Tool bar should be displayed.

Note: Install the LiferaySDK and Liferay Portal Instance with the chosen Application Server (I used the lightweight one, Liferay bundled with Tomcat).

Create the Theme on your sketch pad first (plan it) 

Not a sketch, but I did pull out a template from

A simple bar, content bar and menu / navigation bar should do it. Now to create the actual project and use the theme, go to the next step below.

Create the Theme Project

New > Project > Liferay Portal > Choose Themes

Creating a new project will generate default sources, folders: css, images, js and templates. Now, an important note to this one, these are not the files that you need to edit. I personally use it as my reference.

Re-create these folders under the _diffs directory. This is where the theme development begins.

  • CSS: create a custom.css file on the CSS directory under _diffs
  • VM: Create a portal_normal.vm file under templates of _diffs

Paste the source code of these respectively. portal_normal.vm and custom.css


Test, Hit Right Click Project > Liferay > SDK > Deploy Target

Test Locally 

Login > Go To Pages > Site Pages and Choose the Theme! 🙂

Your theme is now ready! 🙂

Download the Project here.

The Basics of Liferay – Portlet Development

Liferay is impressive. Extending and creating applications (portlets and integrations) is merely a piece of cake. Here’s the basic of all basic portlet development using Liferay. Portlet Framework 🙂

Basically, this is almost the same way of creating any generic portlet (portlet that complies with JSR – 168 / 268). It just forces you to use its underlying framework.

More Portlet Basic Tutorial (Database Transaction Tutorial)


A Cool Feature – Live and Remote

After tinkering much on one of my client’s website I found myself trying to start the implementation of Liferay in my mother’s office.

I’m not bias to using the Liferay portal, but I cannot ignore the capabilities it offers. While checking out some stuff on its setting, I saw a very useful tool that I know, will perfectly fit into the structure I’d like to have if ever I’ll be implementing a site of liferay’s kind. 🙂

As indicated, it allows a specific Liferay instance to be persistent from a staging server to a remote one.  Its more of a feature that can help you transfer business data from one liferay instance to another. 🙂

Plus, it has staging approval process from community administrator (content approvers).

This feature will surely help generate ideas on deployment processes if there would be clients that wants to implement Liferay for their business. 🙂