Lets see what is Liferay,
Liferay Portal is a free and open source enterprise portal written in Java and distributed under the GNU Lesser General Public License and proprietary licenses. It is primarily used to power corporate intranets and extranets. Liferay Portal allows users to set up features common to websites. It is fundamentally constructed of functional units called portlets. Liferay is sometimes described as a content management framework or a web application framework. Liferay’s support for plugins extends into multiple programming languages, including support for PHP and Ruby portlets.
To become a good Liferay Developer, you must follow these steps:
1. Masters Java Technology
Liferay is completely based on Java platform. To master the Liferay, you first need to master the Java Technology and If you are an expert in java then you can skip this step and can directly jump to the next step but if not then first you need to atleast learn the Core Java, JDBC, Servlets and web services to proceed to learn Liferay.
2. Learn Web Technologies and Web Servers
3. Portlet Development
Portlet Development is the core part of Liferay Development and here he needs to be a perfectionist or an expert.
Portlets are pluggable user interface software components that are managed and displayed in a web- or enterprise- portal. Portlets produce fragments of markup (HTML, XHTML, WML) code that are aggregated into a portal.
There are two Java Portlet Specifications i.e. JSR 168 and JSR 286.
There are many frameworks to develop a custom portlet. The most popular frameworks are
1) Generic Portlet -a generic portlet will work in any JSR compliant portal.
2) Liferay MVC – its very light weight, easy to use & no external dependency required as liferay provides necessary JAR to develop it.
3) Spring MVC – very robust and popular.
5) Prime Faces – well known for UI components.
4. Liferay Portal Administration
Liferay Portal Administration is the easiest part in liferay. From Installation and Setup to Advanced Portal operation like Monitoring Liferay using google analytics, Liferay Logging etc can be done in Administration. Most important part of Administration is Using Control Panel where you can perform Multiple operations like Custom Fields, Server Administration, Portal settings etc. Managing the Users based on their roles, adding users also comes under Administration part of liferay.
5. Customization of the Out of Box portlets
The main feature of liferay is, it comes with multiple default portlets. When we need these portlets in our project, we have to modify it based on the requirement of the consumer. Out of box portlets can be customized using Hooks and Ext. These are the plugins which are provided by Liferay plugins SDK to modify the existing portlets. Both looks similar but have lot of differences.
Hooks is a feature to catch hold of the properties and JSP files into an instance of the portal as if catching them with a hook. Hook plugins are more powerful plugins that come to complement portlets, themes, layout templates, and web modules. A hook plugin is always combined with a portlet plugin. For instance, the portlet social-portlet is a portlet plugin for Social Office with hooks. In general, hooks would be very helpful tools to customize the portal without touching the code part of the portal. In addition, you would use hooks to provide patches for the portal systems or social office products.
EXT: EXT is used to customize and extend the Liferay portal. EXT builds a new ROOT webapp and replaces by a huge build mechanism your existing Liferay portal. The Liferay EXT Environment is where you would ideally make changes to the portal itself. In other words, this is where you customize or “extend” the portal. You may ask, “Why can’t we just make the changes to the portal source directly?” The answer is that you technically CAN, but if and when you have to upgrade, you will have a tough time sorting out what is out-of-the-box and what is customized. EXT Environment keeps things separate.
6. Theme Development
Look and Feel of a liferay portal can be modified using the Themes and layouts. If you would like to become an expert in theme development, then you must know the following things:
- CSS: Create a new theme simply by modifying a CSS file.
- Velocity: Customize the markup generated by the theme.
- XML: Some theme settings are specified in XML.
Hope this will help the developers who would like to learn liferay.