Liferay Certified Professional Developer

Exam Blueprint

Duration: 90 minutes
Number of questions: 50
Passing score: 75%

Item Types:

True/False - Exam candidate will select if the statement presented is true or false

Multiple Choice Single Answer - Exam candidate will select the one response that most correctly completes the statement presented

Multiple Choice Multiple Answer - Exam candidate will select all of the responses that correctly complete the statement presented.

Example Test Questions
  • All questions are based on Liferay best practices when developing for Liferay Portal 6.1
  • Unless other otherwise indicated in the question, assume a new Liferay installation with no additional plugins installed and no modifications to portal properties.
  1. Liferay Portal only supports the use of AlloyUI JavaScript in portlet plugins.
    True
    False
    Answer:  False
  2. The following attributes are defined in liferay-portlet.xml:
    (Please select all correct answers.)
    A. If the portlet is instanceable
    B. If the portlet appears in the Control Panel
    C. If the portlet appears in the Content Management category in the Add Application menu
    D. If the portlet supports the Edit mode
    Answer:  A and B
  3. The standard methods of the portlet lifecycle in the JSR-286 portlet specification include:
    (Please select all correct answers.)
    A. init
    B. service
    C. render
    D. destroy
    E. notify
    Answer: A, C, D
  4. The recommended use for a hook plugin is to:
    A. Add a new portlet to the portal
    B. Add a new theme to the portal
    C. Add a new language key to the portal
    D. Add a new layout template to the portal
    Answer: C
  5. The recommended location to define custom velocity variables in a theme plugin is in:
    A. init.vm
    B. init_ext.vm
    C. portal_normal.vm
    D. init_custom.vm
    Answer: D

 

Topics:
Each topic will be a percentage of the test below

 

Liferay Development Best Practices10%

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 Liferay developers have many tools to choose from when developing Liferay applications and customizations. Getting started with a properly configured development environment will go a long way towards ensuring that applications will be developing in the proper way. Liferay developers should be familiar with the Liferay Plugins SDK as well as properly configuring it with a development server.
Understanding Liferay Plugins Knowing when to use the right tool for the job is the sign of a true craftsman. Liferay supports a variety of plugin types, each of which is suited for a specific type of customization or extension. Liferay developers should know the strengths and weaknesses of different approaches and should be able to select the recommended approach to implementing solutions when developing for Liferay.
Liferay Architecture and APIs 25%

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 Liferay developers have many tools to choose from when developing Liferay applications and customizations. Getting started with a properly configured development environment will go a long way towards ensuring that applications will be developing in the proper way. Liferay developers should be familiar with the Liferay Plugins SDK as well as properly configuring it with a development server.
Understanding Liferay Plugins Knowing when to use the right tool for the job is the sign of a true craftsman. Liferay supports a variety of plugin types, each of which is suited for a specific type of customization or extension. Liferay developers should know the strengths and weaknesses of different approaches and should be able to select the recommended approach to implementing solutions when developing for Liferay.
Liferay Utilities 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 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.
Expando API 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.
Liferay Portlet Plugin Development 20%

Liferay is, first and foremost, a portal server capable of serving up JSR-286 and JSR-168 compliant portlets. Most of the new functionality added to Liferay will be added in the form of a portlet plugin. To better add new functionality and to better understand functionality delivered in Liferay provided plugins, Liferay developers should be very familiar with both the portlet specifications as well as the additional features provided by Liferay.

Portlet API 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.
Configuration 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.
IPC 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.
Liferay MVCPortlet 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.
Permissions 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 Development25%

Liferay Hooks are the ideal plugin for customizing and extending Liferay's core features. Successful Liferay developers should be familiar with all of the supported hook types and understand the correct way to leverage hooks for developing robust solutions.

Best Practices 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 Hook 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.
JSP Hook 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.
Language Hook 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.
Liferay Theme Plugin Development5%

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.
Embedded Portlets Embedding 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 5%

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 10%

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.

 

Note:

This examination overview includes weighting, test objectives, and example content. Example topics and concepts are included to clarify test objectives; they should not be constued as a comprehensive listing of all of the content of this examination.

 

Download as a PDF

Exam Pricing

The Liferay Certified Professional Developer exam price is based on the country's economic designation by the World Bank.

  1. Standard test price: USD 225
  2. Reduced test price: USD 150

To determine price, consult http://www.prometric.com/liferay. All prices are subject to change. The price indicated by Prometric during registration is the actual amount charged.

Exam Source Material

Liferay Developer training - The Liferay Professional Developer Exam is based, in part, on information presented during the Liferay Developer training. Exam candidates who have attended the 6.1 version of the Developer training should have a good foundation upon which to prepare for the exam. In addition to the Developer training materials, there are several other sources used that Liferay developers should be familiar with.

JSR-286 Portlet Specification – At it's core, Liferay is a JSR-286 compliant portal server. While Liferay does provide developers with the ability to implement their applications with a variety of technologies and frameworks, a Liferay Developer should be familiar with the underlying specification and API that makes it all possible. Questions on the certification exam may be based on content found in the JSR-286 specification.

Liferay Portal 6.1 – Development Guide – Liferay's online development guide is the official development documentation for the 6.1 release of Liferay Portal. It provides in-depth coverage of Liferay's development tools and APIs. Additionally, the Development Guide provides coverage of Liferay's best practices. Questions on the certification exam may be based on content found in the Development Guide

Liferay in Action – Written by Liferay's Director of Knowledge Management, Liferay in Action is the authoritative book on learning to develop for Liferay Portal. Despite the fact that Liferay in Action was written for Liferay version 6.0, it is still very relevant for Liferay Developers new and old alike and should be required reading for anyone getting started developing for Liferay Portal. Questions on the certification exam may be based on content found in Liferay in Action.

Preparing for the Exam

Achieving recognition as a Liferay Certified Professional Developer shows the world that you understand core concepts for developing Liferay plugins and know how to follow Liferay best practices to develop robust, elegant, and maintainable solutions based on Liferay Portal. The exam is designed to be challenging, yet fair for Liferay developers. To succeed on the exam we recommend the following steps.

  1. Attend a Liferay Portal Developer training - Attending the course is not required before you sit for the exam, but much of the material for the exam will be based on concepts covered in the training so it is an excellent first step on your journey to certification.
  2. Review the additional source material - Not all of the material covered in the exam will be covered in the Portal Developer training. Be sure to review the Liferay Portal 6.1 – Development Guide, Liferay in Action, and the official JSR-286 Specification before you sit for the exam. Pay particular attention to the topics that are included in the developer training.
  3. Practice – Some of the topics covered on the exam require the kind of knowledge that comes from real, hands-on experience developing for Liferay portal. If you have attended developer training, be sure you've completed and reviewed all of the exercises presented during class, even the bonus exercises. If you haven't attended the training, spend some time developing plugins that leverage the features described in the exam topics. It would also be helpful to review the source code of Liferay provided plugins to ensure you're familiar with Liferay's best practices.<
  4. Register – Register for the exam at http://www.prometric.com/liferay.
  5. Pass the exam – Show up to the testing center with the required identification and take the 90 minute exam.   

How to Register

Liferay Certification exams are administered by Prometric. Please register for an exam at Prometric's Website