Liferay Certification Program
Liferay is very popular open source portal. Liferay also offers Certification in liferay.
Liferay offers different Certification programs such as Portal Administration Certification ,Portal Developer Certification and Portal System Administration Certification.
Following article is for Portal Developer Certification and its topics and reference links.
The Topics and its descriptions are inherited from Liferay website.
Liferay 6.2 Certification
Liferay 6.1 Certification
Register for Certification
Liferay Development Best Practices
Liferay Portal is a powerful platform for designing and developing robust web applications. While Liferay provides many exciting enterprise caliber features out of the box, there will be times when it's necessary to develop applications to extend or modify Liferay. By following Liferay's best practices, developers can ensure this development will enhance the current version of Liferay and will allow for a smooth upgrade when upgrading the core portal. Liferay developers should be familiar with these best practices.
Development Environment Setup:
Understanding Liferay Plugins
Liferay Architecture and APIs
Understanding Liferay Architecture:
Liferay provides a host of utilities that make developing for the Liferay Platform easy and efficient. Liferay developers should know how to leverage the more common utilities (ParamUtil, GetterUtil, HTMLUtil, etc.) to enhance their productivity.
User Management and Group APIs:
One of the most commonly used APIs for developing solutions with Liferay is the User and Group Management API. Liferay developers should be familiar with the methods provided by this API and how they can leverage it when developing custom solutions
AlloyUI is a framework built on top of YUI3 that provides a simple API for building highly scalable applications. Liferay developers should be familiar with how AlloyUI can be leveraged in custom development and to extend Liferay's capabilities.
Liferay's Expando Service provides an elegant way to extend the Liferay schema without the pain associated with modifying the underlying database. Liferay developers should be familiar with the capabilities of the Expando Service and understand how to write code that creates and utilizes Expandos.
Application Display Templates
Application Display Templates enable customization to the default views of many Liferay applications. Liferay Developers should be familiar with how to enable Application Display Templates in their own portlets.
Liferay Portlet Plugin Development
While Liferay does support portlet development with a wide variety of languages and frameworks, the most common portlets will be based on the JSR-286 specification. Liferay developers should be very familiar with the JSR-286 specification and understand how its features are at the core of other popular portlet application frameworks.
The standard deployment descriptor (portlet.xml) and Liferay specific configuration files allow portlets to inform Liferay which features they will be implementing. Liferay developers should know how to use these configuration files to leverage standard portlet features as well as Liferay specific features.
The JSR-286 specification adds support for Inter Portlet Communication (IPC). IPC allows developers to build powerful, multi-portlet applications that can share and update data seamlessly. Liferay developers should be familiar with both methods of IPC and understand how to leverage them to create powerful portlet applications.
The Liferay MVCPortlet framework is a simple, lightweight, easy to use framework that builds on top of GenericPortlet, but removes much of the boilerplate code that is common when directly extending GenericPortlet. Liferay developers should understand how the Liferay MVCPortlet framework works so they can understand the Liferay provided portlet plugins as well as leverage the features in their own portlets, if desired.
JSP and UI Technologies
When working with portlets that extend Liferay's MVCPortlet or GenericPortlet the most common view technology will be Java Server Pages (JSP). Liferay provides a significant number of tag libraries that can be leveraged in JSPs to improve developer productivity and efficiency. Liferay developers should be familiar with JSPs and know how to leverage the Liferay provided tag libraries.
JSP Tag Libs
Alloy UI JS libraries and Its Modules
Liferay provides a robust, fine-grained permission system that is available in core portlets as well as portlet plugins. Liferay developers should know how to leverage this permission system when developing their own portlet plugins.
Liferay Hook Plugin Development
When used properly, Hooks are ideal for customizing core Liferay features and will allow for easier upgrades. However, it is important for Liferay developers to follow best practices when developing hooks to ensure maintainable code.
Configuration Hooks provide a hot-deployable mechanism for customizing portal properties. Not all portal properties can be modified with a hook, but when possible, it is recommended to use a hook. Liferay developers should be aware of how to best leverage Configuration Hooks and know their limitations.
A JSP Hook can override JSP files or other web resources found in portal-web in the Liferay source. By properly leveraging this feature, Liferay developers can easily accomplish many of the most common user interface customizations in the Liferay Platform. Liferay developers need to know how to properly apply JSP Hooks to create robust solutions that will upgrade gracefully and how to avoid the most common errors made when implementing JSP Hook solutions.
A Language Hook can override existing language keys in the portal or can be used to add new language keys. Liferay developers need to know how to use Language Hooks to know how to properly override default and new language keys in both the default language and any other supported language keys of the portal.
Indexer Post Processor Hook
An Indexer Post Processor Hook provides a powerful post-processing mechanism on top of the existing indexer to allow plugin hook developers to modify the search summaries, indexes, and queries. Liferay developers should know how to leverage this exciting feature to enhance the search capabilities of the portal.
Service Wrapper Hook
One of Liferay's many strengths is its powerful Services Oriented Architecture. Service Wrapper Hooks allow plugin developers to take something great, and make it even better. Liferay developers should know how to properly leverage a Service Wrapper Hook to customize and extend Liferay's core services.
Struts Action Hook
Struts Action Hooks can be used to override core portal and portlet struts actions and to add new struts actions, when necessary. Liferay developers should be familiar with the recommended approach for implementing a Struts Action Hook.
Servlet Filter Hook
Liferay provides a set of servlet filters to pre-process requests going to Liferay and post-process responses coming from Liferay. A Liferay developer should know how to leverage the Servlet Filter Hook plugin to customize these existing servlet filters or to implement new servlet filters.
Portal Properteis Hook
Liferay Theme Plugin Development
Liferay Themes allow you to completely transform the look and feel of your portal. Liferay developers must be familiar with the proper approach to creating a theme to ensure that themes are efficient and don't incur a performance penalty on each request. Following best practices will also ensure that themes are easily upgradable.
Understanding Liferay Theme Development
Liferay Themes follow a well organized, modular structure. Custom themes are based on modifications or differences from a base theme. Liferay developers must know how to properly create or customize a theme to ensure that the theme follows the proper structure. Failure to follow Liferay's standards can lead to themes that are not easily upgradable.
Color Schemes and Theme Settings
Color schemes allow you to package a collection of pre-defined theme variations in a single plugin. Theme settings allow you to provide options that can be set at run-time to customize the look or functionality of your theme. Liferay developers should be familiar with how to leverage both of these features when developing or customizing a Liferay Theme.
mbedding portlets in a theme provides a powerful mechanism to get the most out of limited screen real estate, but when not done properly, it can have a significant negative effect on portal performance. Liferay developers should know how to properly embed portlets in a Liferay Theme to improve the usability of the Theme without negatively impacting the Theme performance.
Liferay Layout Template Plugin Development
Liferay Layout Templates provide the framework or skeleton of a page. When dragging and dropping portlets to a page, the layout template is what defines the number and size of columns available to you. Liferay developers should know how to properly define and customize layout templates.
Understanding Liferay Layout Template Development
Liferay Layout Templates can be created with any combination of required rows and columns and the columns can be sized as needed. Layout templates can also include embedded portlets to ensure page consistency. Liferay developers should know how to leverage all of these layout template features to create customized layout templates as needed.
Liferay Advanced Customization
Liferay provides many options for customizing all aspects of Liferay's behavior. Many of the more advanced customizations one may encounter will involve modifying the core behavior of the portal itself. Liferay developers should be familiar with the customization options.
Understanding EXT Plugins
The Ext plugin provides the most powerful method of extending Liferay. Liferay developers should understand the capabilities of the EXT plugin and should understand the special scenarios that require the use of the EXT plugin.
Modifying Portal Configuration
There are some types of portal configuration changes that are not possible when using hooks. Liferay developers should understand when these changes are required and how they should be best implemented.
Customizing Core Portlets
Liferay ships with a robust set of core portlets which provide a wide range of features that satisfy many different use cases. In some cases, these core portlets will need to be modified in ways that are not supported by the Liferay Hook Plugin. Liferay developers should understand when this type of modification is required and how to best implement these types of customizations
Read all DTD Definitions So that we can know all Configuration tags
Read all Tag Libraries Tags and its attributes
Read all portal properties other related properties
Liferay Cook Book
Liferay In Action
Liferay Developer Guide
Liferay Developer Nerwork