Sunday, November 22, 2009

Strategies for development with Liferay

Following options can be adopted for developing Liferay based solutions
1. Plug-in SDK Environment (least [but sufficient in most cases,] flexibility and least migration effort): Liferay supports different types of plugins such as themes, layout templates, portlets, webs (which are web applications) and hooks. Liferay provides a Plug-in SDK to facilitate development of these plugins. One can extend by implementing the appropriate plug-in.
2. Extension Environment (Very good flexibility and can need extensive migration effort): This approach involves writing custom code that overrides Liferay code. Following approaches to overriding liferay code exist:
a. Modifying JSP files (of the porttal or the built in portlets)
b. Modifying configuration files (portal-ext.properties [layouts, themes, hibernate, cache, users, groups ets...], system-ext.properties [for java system properties used by liferay], ext-spring.xml [custom source code being spring dependency injected], web.xml [for servlet configuration], struts-config.xml [for struts related extension]
c. Custom classes (configures through portal.properties)
This approach does *not* include changing Liferay source code.
3. Modifying Liferay Source code: Pay Liferay, get their source code changed and contributed back to community.

No comments: