Day 1

The Liferay Developer course begins with an introduction to Liferay, portals in general, and why it is better to implement your application as part of a portal framework rather than as a standalone web application. You will see the benefits of using Liferay as a development platform, because of the many built-in features and tools you can use to implement your site.

After this, the Liferay Software Development Kit will be presented. You will learn the differences between the different types of Liferay Plugins and when to use each. This will better equip you to come up with a development strategy that gives you the most flexibility.

Next, you will begin getting your hands dirty by setting up your Liferay development environment. All students that attend Liferay Developer training will receive a copy of the Liferay Developer Studio which provides an all-in-one, integrated development environment for Liferay Portal Enterprise Edition platform. The installation of Liferay Developer Studio includes the Liferay-Tomcat bundle and the Liferay Plugins SDK.

With the setup of our development environment complete, we jump in with both feet with an introduction to the features of the Java Portlet API, JSR-286. The first portlet you create will illustrate the lifecycle of a portlet and help you understand how to use Portlet Preferences to store portlet configuration data.

After this, you will explore some advanced features of the JSR-286 API by creating a project which implements communication between two portlets, using a Baseball metaphor: one portlet "throws" a pitch and the other "catches" it. You will see how you could use inter-portlet communication to implement applications composed of multiple portlets.

 

Day 2

Day two begins with a short introduction to using standard web application frameworks to write portlets in Liferay, and you will create a simple portlet using Liferay's own MVCPortlet framework. As you will see, you have as much freedom to use a specific framework in a portal environment such as Liferay as you would implementing a web application—while all the benefits of operating in a portal environment come for free.

Next, you will create a complex, data-driven portlet application called the Library application, which can store Publishers and Books. During the course of writing this portlet, you will learn how to use Liferay's Service Builder tool—a code generator which automatically generates Hibernate configuration files, SQL for creating tables, and code for querying your tables, all from a single XML file which you will create. You will also get a nice introduction to tag libraries provided by the Portlet API and by Liferay, and you will use them to create portlet URLs, Action buttons, and a data-driven, paginating table using Liferay's Search Container. This will enable you to make your portlets indistinguishable from portlets provided by Liferay Portal, so that you can provide a unified interface to your users. After this, you will learn how to integrate Liferay's permissions system into the portlet so that the data in your portlet can be secured using Roles in exactly the same way as Liferay's portlets. Finally, you will learn how you can integrate your portlets with Liferay's Control Panel, so that your users can have a centralized interface for administering pretty much anything you want them to administer.

 

Day 3

From portlets, we then move on to themes and layout templates plugins. You will be introduced to Liferay's themes, which enable you to completely customize the way Liferay Portal looks so that your site looks the way you want it to look. You will learn how Liferay's theming system works, and you will customize a theme. After this, you will learn how to create layout templates so that you can customize the containers into which you and your users can drop portlets. When the section on themes is finished, you will be able not only to create dynamic themes, but also to provide advanced features in your themes, such as color schemes, handle differences between browsers, use Velocity variables and macros, embed portlets in a theme, and style layouts and portlets from a theme.

Moving on from themes and layouts, you will then learn how to use the Liferay Hook Plugin to customize specific features of Liferay Portal. You will customize portal.properties, override internal Liferay JSPs, create an event which fires when a user logs in, and more.

The last plugin type covered will be the Ext Plugin. The Ext Plugin is the newest of the Liferay Plugins and is the most powerful method of extending Liferay. The Ext Plugin replaces the Ext Environment and allows you to override any portal behavior that is not covered by the other plugin types. In this section, you will use the Ext Plugins to modify a Struts Action and to extend user management in the Control Panel.

At the end of the course, we will take some time to review all of the different approaches to modifying Liferay that we've discussed. We'll also review when each of these approaches is appropriate and ways that you can minimize the impact on future upgrades. You will find when you have completed the course that you are well equipped to efficiently develop on the Liferay platform.

 

Training Notes:

A Hands-On Approach

Liferay training is guided by the expertise of experienced Liferay trainers. You will benefit from their hands-on approach to enabling you to learn the material effectively and quickly. Through the many exercises interspersed throughout the course, you will learn to perform all of the functions yourself, which maximizes your ability to learn everything. And your trainer will be there to guide you all the way to success.

Prerequisites

Development experience with Java and Servlets.

Day 1

Introduction
Introduction to Liferay

Introduction to Plugins
Liferay Developer Studio
Setting up a Liferay bundle
 
Developing Portlet Plugins
Introduction to Portlets
Java Standard Portlets
Inter-Portlet Communication
 
 
Day 2

Developing Portlet Plugins

Portlets and Web Application Frameworks

  • MVC Portlets
  • Design Approach
  • Service Builder
  • Liferay Search Container
  • Portlet Permissions
  • Feedback, Validation and Localization
  • Control Panel Portlets

 

Day 3

Developing Theme and Layout Template Plugins

Liferay Theme Overview and Exercise
Advanced Theme, Layout Topics and Best Practices
 
Developing Hook Plugins
Customizing Properties
Adding a Post Login Action
Customizing Language Keys
Customizing Core Liferay JSPs
 
Developing EXT Plugins
EXT Plugin Overview
Extending User Management
Overriding Struts Actions
 
Advanced Topics
Using Liferay's Web Services
Spring in Liferay
Development Strategy

Requirements

All Trainings:
Dual Core processor, 2GB RAM, wireless card
Windows XP, Mac OSX*, or Linux*
* Note: if you use Mac OSX or Linux, you must be prepared to support yourself if any operating system issues arise, as the trainer is not guaranteed to be familiar with these systems.
Developer Training
Basic knowledge of Java and Servlets is required.

System Administrator Training

4GB RAM to run a virtual machine

5GB of Free Hard Disk Space - Administrator Access

Please contact us or call 1-877-LIFERAY if you have any questions.