Note: This document is part of the Liferay Core Development Guidelines

Introduction #

This article describes the main technologies used within Liferay as well as which of their features of them are being used. As a Liferay Core developer you should use this feature set whenever you want to extend the existing functionality of Liferay or to implement a new functionality.

Frontend #

Struts and Tiles #

Most Liferay portlets are developed using Struts through a custom bridge for portlets called StrutsPortlet.

Features Not Used:

  • Struts Forms: Liferay almost never uses Struts Forms. Try to avoid them as much as possible.
  • Validation: We do validation in the Service Layer

Taglibs #

Liferay uses Taglibs extensively. The standard JSTL library is used, mainly for tags such as c:if and c:when / c:otherwise

Javascript #

Business Layer #

Spring #

Features Not Used:

  • Aspects: They will be probably introduced in the near future.

Database Access #

Hibernate #

Hibernate is used to access the database in most situations.

Features Not Used:

  • Criteria API: We found some problems with some of the supported databases

JDBC #

JDBC is used directly to perform custom queries. See the Finder classes.

SQL #

It's sometimes used when using JDBC instead of Hibernate.

Use very simple SQL to guarantee that it'll work in all of Liferay's supported databases.

Development #

The following tools are used to develop Liferay's core:

  • Ant
  • Java 5
  • Tomcat
  • MySQL
0 Attachments
25794 Views
Average (2 Votes)
The average rating is 3.0 stars out of 5.
Comments
Threaded Replies Author Date
This is a useful high-level overview but it... Istvan Tech November 29, 2013 1:15 AM

This is a useful high-level overview but it would be good to have some Liferay version info too, so it could be measured up approximately what is the chance that the content became out-of-date.
Thanks
Posted on 11/29/13 1:15 AM.