This three-day course will guide students through the world of portlet development with Liferay.
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 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.
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.