Jahia 6.5 vs Liferay 6.0 Part 2: Extensibility

Jan 03, 2012
Oshyn Labs

This is part two of my comparison of Jahia and Liferay. As I mention in my post “Jahia 6.5 vs. Liferay 6.0 Part 1: Content Integration”, both products are excellent solutions for the implementation of Enterprise Web Applications. This post focuses on the Extensibility Model and the different ways that each product handles the need to implement custom functionality.

Extensibility Model

Both products present similar ways to add/extend functionality, but there are some differences.

Add/Extend Portable Functionality

Portlets are supported by and can be used in both products. The development effort in both cases is almost the same, but both systems provide to developers different tools for development. Liferay has the “Plugins SDK” tool in order to create portlet projects. In a similar way, Jahia has a maven archetype that can be used for this same purpose.

Jahia also can be extended via modules that are considered plugins. The advantage of modules over portlets is that they don’t need a Portal Sever and they are integrated directly into Jahia’s core gaining direct access to Jahia features. This means that developers using modules, apart from extending Jahia functionality, can add functionality to the default Jahia modules. Liferay doesn’t have this type of extensibility so I consider it an advantage of Jahia over Liferay.

Extend/Modify Core
Liferay has a very interesting method to overwrite files, beans, Struts Actions and properties in the core; it uses Hooks and Ext Plugins. This feature is based on the configuration of xml files that contain information about which files are going to be replaced. This feature does not exist on Jahia as those modules just can add new files but cannot replace core files.

I think that both products are excellent solutions and can work for any type of Enterprise Web Application. There are some differences, like in the Extensibility Model examples above, but in the end, both products can accomplish the same objectives (maintainability, usability, and portability). Also, the development time, effort and skills are similar because each product offers powerful tools, like Jahia Maven archetype and Liferay SDK to generate extensibility projects

Summary of Extensibility:

 

Extensibility

 

Jahia

Liferay

Comments

Winner

Add/Extend Portable Functionality

Modules

And Portlets

Portlets

Jahia Support Portlets but Liferay doesn’t support modules

Jahia

Extend/Modify the core

Modules

Hooks and Ext Plugin

Jahia doesn’t have the concept of file mapping replacements

Liferay