This book will give you plenty of hands-on examples to customize and extend Liferay portal. You will learn how to:
- Work with the JSR-286 portlets and Extension environment, helping you to build larger applications and reuse portlets in different scenarios
- Build basic and advanced Struts portlets with permissions and a set of actions helping you to build enterprise-ready Java web applications
- Manage communities and pages with locale and tracking features to employ layout templates dynamically
- Customize WYSIWYG editor FCKEditor – Making images, links, videos, games, video queues, video lists, and play lists as part of web content
- Empower CMS and WCM providing you with one central place to aggregate and manage all content
- Build My Community – Share web sites, pages, and portlets with friends allowing you to introduce control panel and inter-portlet communication
- Develop layout templates and themes in the Plugins SDK environment so that you can customize the overall look and feel of web sites and pages
- Build your Social Office with portlets, hooks, and themes enabling you to be a part of the team without sacrificing your preferences
- Stage, schedule, and publish web content with workflow capability allowing you to alter and manage what you have created
- Build custom attributes, OpenSearch, Spring services, and web services thus helping you to build dynamic web sites smoothly
Chapter 1: Introducing Liferay portal framework and architecture
What is Liferay portal?
Why do you use Liferay portal?
What is the framework and architecture of Liferay portal?
Portlet development strategies
Chapter 2: Working with JSR-286 portlets
Experiencing Liferay portal and portlets
Using JSR-286 portlets
Employing Portlet actions
Extending JSR-286 portlets
Serving resources
Coordinating portlets
Chapter 3: Using extension environment
Setting up the Ext
Building the Ext
Deploying the Ext
Employing SVN for portal source and Ext
Browsing a sample portlet – Reports – in the Ext
Using the Ext efficiently
Chapter 4: Experiencing Struts portlets
Developing the JSP Portlet
Constructing a basic Struts portlet
Building advanced Struts portlet
Using Struts efficiently
Chapter 5: Managing pages
Extending the Communities Portlet
Customizing the Manage – Pages Portlet
Extending page management
Using the community and layout page efficiently
Chapter 6: Customizing the WYSIWYG editor
Configuring the WYSIWYG HTML text editors
Adding templates and styles in the FCKEditor
Inserting images and links from different services
Inserting content-rich flashes into journal articles
Using the WYSIWYG HTML text editor FCKEditor efficiently
Chapter 7: Empowering CMS and WCM
Managing Terms of Use dynamically
Constructing featured content
Extending the journal articles portlet
Customizing theasset publisher portlet
Building dynamic articles with both recently added content and related content
Building dynamic articles with polls and related content
Using CMS and WCM efficiently
Chapter 8: Building My Community
Sharing with friends
Setting up most popular journal articles
Personalizing user comments
Customizing my account
Building my street
Using My Community efficiently
Chapter 9: Developing layout templates and themes
Building many layout templates in the Extension environment
Experiencing the Plugins SDK
Developing layout templates in the Plugins SDK
Building themes in the Plugins SDK
Adding Velocity services in themes
Using the Plugins SDK efficiently
Chapter 10: Building my social office
Experiencing the control panel
Building inter-portlet communication
Developing a Social Office theme
Adding mail and chat portlets
Building Social Office with portlets
Hooking portal properties and custom JSP files into Social Office
Using hooks efficiently
Chapter 11: Staging and Publishing
Building dynamic navigation and site map
Customizing event handlers and model listeners
Undergoing local staging and publishing
Employing staging workflow and other workflows
Scheduling pages and assets before publishing
Experiencing remote staging and publishing
Chapter 12: Using common API
Adding custom attributes
Building OpenSearch
Overriding Spring services
Constructing web services
Enjoying best practice