You are on page 1of 6

LIFERAY Certification

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.

4. A recommended use for a hook plugin is to:


A. Add a new portlet to the portal

True

B. Add a new theme to the portal

False

C. Add a new language key to the portal

Answer: False
2. The following attributes are defined in liferay-portlet.xml:
(Please select all correct answers.)
A. If the portlet is instanceable

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:

B. If the portlet appears in the Control Panel

A. init.vm

C. If the portlet appears in the Content Management



category in the Add Application menu

B. init_ext.vm

D. If the portlet supports the Edit mode


Answer: A and B

C. portal_normal.vm
D. init_custom.vm
Answer: D

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
F. callback
Answer: A, C, and D

WWW.LIFERAY.COM

LIFERAY Certification

Exam Topics
Each topic will be a pecentage of the test. See below.
Liferay Development Best Practices
Percentage of Test: 10%
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 its necessary to develop applications to extend or modify Liferay.
By following Liferays 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


Percentage of Test: 25%
Liferay Portal is a robust, open source portal that is well suited for developing web based solutions. Liferay Developers should be familiar
with Liferays underlying architecture and several of the key APIs that Liferay provides for developers.
Understanding Liferay Architecture

Liferay is a complex web application thats made up of several different layers.


Liferay developers should understand the different layers of the application and
understand how these different layers of Liferay interact.

Service Builder

Service Builder is a powerful tool provided by Liferay to automate the creation of


interfaces and classes for database persistence and a service layer. Liferay developers
should know how to use Liferay provided services as well as how to create their
own services.

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.

WWW.LIFERAY.COM

LIFERAY Certification

Liferay Architecture and APIs (Continued)


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 Liferays capabilities.

Expando API

Liferays 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


Percentage of Test: 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.

WWW.LIFERAY.COM

LIFERAY Certification

Liferay Portlet Plugin Development (Continued)


JSP and UI Technologies

When working with portlets that extend Liferays 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 Development


Percentage of Test: 25%
Liferay Hooks are the ideal plugin for customizing and extending Liferays 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.

WWW.LIFERAY.COM

LIFERAY Certification

Liferay Hook Plugin Development (Continued)


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 Development


Percentage of Test: 5%
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 dont 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.

WWW.LIFERAY.COM

LIFERAY Certification

Liferay Layout Template Plugin Development


Percentage of Test: 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


Percentage of Test: 10%
Liferay provides many options for customizing all aspects of Liferays 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
the test objectives; they should not be construed as a comprehensive listing of all of the content of this examination.

WWW.LIFERAY.COM
130904

You might also like