- Before Getting Inside.
- Preface.
- Evolution of this book.
- Who should read this book?.
- What is NOT covered in this book?.
- Conventions followed in this book.
- How to Approach this book?.
- About the author (myself)
- System requirements.
- 1.1 Definition of a Portal
- 1.2 What are Portlets?.
- 1.3 Portlet Standards and Specification (JSR-286) .
- 1.4 Liferay Portal.
- 2.1 Install Java 7.
- 2.2 Install Ant 1.9.
- 2.3 MySQL Database.
- 2.4 Install Eclipse Juno.
- 2.5 Supporting Tools.
- 2.6 Liferay Downloads.
- 3.1 New Liferay Server
- 3.2 Basic Configuration.
- 3.3 Pointing Liferay to MySQL Database.
- 3.4 New Liferay SDK..
- 3.5 New Liferay Project
- 4.1 New Liferay Project.
- 4.2 Establishing Basic Page flow.
- 4.3 Anatomy of a Portlet URL.
- 4.4 Creating a Simple Form.
- 4.5 HTML form to AUI form.
- 4.6 Injecting 3rd Party Libraries.
- 5.1 Service Builder Explained.
- 5.2 Generating our first Service Layer.
- 5.3 Invoking the Service Layer API .
- 5.4 Pulling Data – Use another API .
- 5.5 Avoiding Multiple Submits.
- 5.6 Separating the Business Logic.
- 5.7 Service Layer of Portal Source.
- 5.8 Sharing a custom service layer.
- 5.9 Caching to improve performance.
- 5.10 “service.xml” DTD Explained.
- 6.1 HTML table to Search Container
- 6.2 Referring to Portal’s TLDs and JARs.
- 6.3 Adding link to delete book.
- 6.4 Adding “Actions” on a Book.
- 6.5 Editing a book.
- 6.6 Viewing book details.
- 6.7 Showing details as a popup.
- 6.8 Sortable Columns.
- 6.9 Performing an action on a set of items.
- 7.1 Order By Clause.
- 7.2 Finder Tags.
- 7.3 Dynamic Query.
- 7.4 Custom SQL Statements.
- 7.5 Some Real world use-cases.
- 7.6 Which mechanism is Best?.
- 8.1 SOAP / RPC based Web Services.
- 8.2 JSON Web Service.
- 8.3 RESTful Web Services.
- 8.4 The “Beyond” Part
- 8.5 Calling Portal’s JSON Web Service.
- 8.6 Service Context and its significance.
- 9.1 Portlet Filters.
- 9.2 Implementing Frienly URL’s.
- 9.3 Encrypting & Decrypting Portlet Data.
- 9.4 Enabling Logger at Portlet Level.
- 9.5 Portlet Internationalization (I18N).
- 9.6 Portlet and WCM Marriage.
- 9.7 Making Our Portlet appear in Control Panel.
- 9.8 Running Backend Jobs through Quartz.
- 9.9 Firing Emails from Portlet.
- 9.10 Getting Direct Access to Database.
- 10.1 Static Portlet Preferences.
- 10.2 Dynamic Portlet Preferences.
- 10.3 Reading from “properties” files.
- 10.4 Firing Emails from Portlet – Continued.
- 10.5 Portlet Data Handlers – Export / Import.
- 10.6 Inter-Portlet Communication.
- 10.7 Non-Standard ways of IPC.
- 10.8 Portlet URL Invocation.
- 10.9 Customizing Portlet Based on Query String.
- 11.1 Security and Permissions.
- 11.2 Portlet Permissions.
- 11.3 More Security Layers and Custom Utility.
- 11.4 Model Permissions.
- 11.5 Liferay Asset Framework.
- 11.6 Attaching Tags and Categories.
- 11.7 Publishing Assets (Books) through Asset Publisher .
- 11.8 Asset Publisher for Books – Finishing Touches.
- 12.1 Liferay Storage Framework.
- 12.2 MVCPortlet and Large Applications.
- 12.3 Showing Book Cover in the List Page.
- 12.4 File Processing and Liferay.
- 12.5 Server Side Validation.
- 12.6 Custom Fields Framework.
- 12.7 Enabling Custom Fields for Library Portlet.
- 13.1 Portlet Messaging – MessageBus.
- 13.2 Indexing and Search.
- 13.3 Advanced Search Features. 320
- 13.4 Device Detection API
- 13.5 Creating a Custom Taglib.
- 13.6 More on Portlet + Web Content Integration.
- 13.7 Form Navigator Tag. 337