The Liferay Development course begins with an introduction toLiferay, portals in general, and why it is better to implement yourapplication as part of a portal framework rather than as a standaloneweb application. You will see the benefits of using Liferay as adevelopment platform, because of the many built-in features and toolsyou can use to implement your site.
After this, the various Liferay Software Development Kits willbe presented. You will learn the difference between using the PluginsSDK and using the EXT SDK, and what that means for your project. Thiswill better equip you to come up with a development strategy thatgives you the most flexibility.
Next, you will begin getting your hands dirty by setting up aLiferay bundle for development. You will install the bundle on yourmachine and connect it to a MySQL database. You will also learn howto set up all of the open source development tools that are necessaryto write code for Liferay. Once your machine is set up, you will theninstall Liferay's source, the Plugins SDK, and the ExtensionEnvironment, and configure them for your use.
After this, you will install the open source, cross-platformJava IDE called Eclipse and set the projects up so that you can debugyour code within Eclipse. By the end of the day, you will have aclear notion of how to use Liferay's SDKs and when it is mostappropriate to use each one, and you will be ready to begin writingcode.
We jump in with both feet with an introduction to the featuresof the Java Portlet API, JSR-286. Using the Plugins SDK, you willwrite your first portlet in the first hour of Day 2.
After this, you will explore some advanced features of theJSR-286 API by creating a project which implements communicationbetween two portlets, using a Baseball metaphor: one portlet “throws”a pitch and the other “catches” it. You will see how you could useinter-portlet communication to implement applications composed ofmultiple portlets.
After this, you will get a short introduction to usingstandard web application frameworks to write portlets in Liferay, andyou will create a simple portlet using the Struts framework. As youwill see, you have as much freedom to use a specific framework in aportal environment such as Liferay as you would implementing a webapplication—while all the benefits of operating in a portalenvironment come for free.
Next, you will create a complex, data-driven portletapplication called the Library application, which can storePublishers and Books. During the course of writing this portlet, youwill learn how to use Liferay's Service Builder tool—a codegenerator which automatically generates Hibernate configurationfiles, SQL for creating tables, and code for querying your tables,all from a single XML file which you will create. You will also get anice introduction to tag libraries provided by the Portlet API and byLiferay, and you will use them to create portlet URLs, Actionbuttons, and a data-driven, paginating table using Liferay's SearchContainer. This will enable you to make your portletsindistinguishable from portlets provided by Liferay Portal, so thatyou can provide a unified interface to your users. After this, youwill learn how to integrate Liferay's permissions system into theportlet so that the data in your portlet can be secured using Rolesin exactly the same way as Liferay's portlets.
Moving on from plugins, you will then learn how to use theExtension Environment to customize specific features of LiferayPortal. You will override internal Liferay JSPs, create an actionwhich fires when Liferay starts, and more. You will also learn how toextend user management in the Control Panel with custom fields ofyour own.
Liferay uses the Spring framework extensively. You will seehow you can override Liferay's implementations of specific serviceswith your own, using Spring to automatically inject yourimplementation instead of Liferay's. This is an extremely powerfulway to modify Liferay's functionality to be exactly the way you wantit to be.
Any service generated with the Service Builder utility canalso be a web service which can be called remotely. You will see howyou can use Liferay's web services to make remote calls into Liferayfor anything from a message board thread to a full-blown user importutility that can run as a batch process on a completely separatesystem.
Finally, you will learn how you can integrate your portletswith Liferay's Control Panel, so that your users can have acentralized interface for administering pretty much anything you wantthem to administer.
You will find when you have completed the course that you arewell equipped to efficiently develop on the Liferay platform.