Liferay Portal 5.2 Systems Development


Liferay Portal 5.2 Systems Development
eBook: $32.99
Formats: PDF, PacktLib, ePub and Mobi formats
$24.74
save 25%!
Print + free eBook + free PacktLib access to the book: $87.98    Print cover: $54.99
$54.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters

 

  • Learn to use Liferay tools to create your own applications as a Java developer, with hands-on examples
  • Customize Liferay portal using the JSR-286 portlet, extension environment, and Struts framework
  • Build your own Social Office with portlets, hooks, and themes and manage your own community
  • The only Liferay book aimed at Java developers

Book Details

Language : English
Paperback : 552 pages [ 235mm x 191mm ]
Release Date : May 2009
ISBN : 1847194702
ISBN 13 : 9781847194701
Author(s) : Jonas X. Yuan
Topics and Technologies : All Books, CMS and eCommerce, Java, Open Source


Table of Contents

Preface
Chapter 1: Introducing Liferay Portal Architecture and Framework
Chapter 2: Working with JSR-286 Portlets
Chapter 3: ServiceBuilder and Development Environments
Chapter 4: Experiencing Struts Portlets
Chapter 5: Managing Pages
Chapter 6: Customizing the WYSIWYG Editor
Chapter 7: Customizing CMS and WCM
Chapter 8: Building a Personalized Community
Chapter 9: Developing Layout Templates and Themes
Chapter 10: Building My Social Office
Chapter 11: Staging and Publishing
Chapter 12: Using Common API
Index
  • Chapter 1: Introducing Liferay Portal Architecture and Framework
    • What's Liferay portal?
      • Liferay portal
      • Liferay CMS and WCM
      • Liferay collaboration and social networking software
    • Why Liferay portal?
      • A rich, friendly, intuitive, and collaborative end user experience
      • A single point of access to all information
      • High adaptability to the demands of fast-changing market
      • Highest values
    • Architecture and framework
      • Service oriented architecture: SOA
      • Enterprise service bus: ESB
    • Portal development strategies
      • Extension environment
      • Plugins SDK environment
      • Development strategies
    • Summary
  • Chapter 2: Working with JSR-286 Portlets
    • Experiencing Liferay portal and portlets
      • What is a portal?
      • What is a portlet?
      • What is a portlet container?
      • Why JSR-286 portlets?
    • Using JSR-286 portlets
      • Understanding portlet life cycle
      • Utilizing portlet modes
      • Employing window states
      • What's the difference between a portlet and a servlet?
        • Use cookies, document head section elements, and HTTP headers
    • Employing portlet configuration, context, request, response, and preferences
      • Using portlet configuration
      • Employing portlet context
      • Using portlet request
      • Employing portlet response
      • Working with portlet preference
    • Extending JSR-286 portlets
      • Using portlet filters
      • Using portlet-managed modes
      • Utilizing container runtime options
    • Serving resources
      • Using Resource URL
      • Using caching levels of resources
      • Serving the AJAX data directly from the portlet
      • Utilizing other features
        • Using JAVA 5 features
        • Employing caching features
        • Sharing runtime ID
        • Using taglib
    • Coordinating portlets
      • Sharing data via the session
        • Using PortletSession
        • Using PortletContext
        • Using page parameters
      • Using portlet events
        • Sending events
        • Receiving events
      • Employing public render parameters
    • Summary
  • Chapter 3: ServiceBuilder and Development Environments
    • Setting up Ext
      • Required tools
        • JDK
        • Ant
      • Databases
        • MySQL
      • Application servers
        • Tomcat
      • IDE
        • Eclipse IDE
        • Workspace
        • Subclipse
        • Tomcat plugins
      • Portal source code
    • Building Ext
      • Getting portal source code
        • Source structures and Ant targets
      • Updating Tomcat to support Ext development
      • Customizing properties
      • Building via Ant
      • Navigating Ext structures
    • Deploying Ext
      • Configuring database
      • Using Ant deploy
        • View portal structures in Tomcat
        • Fast-deploy in Ext
    • Using ServiceBuilder in Ext
      • Viewing portlet development structures
      • Building services
        • Create service XML
        • Build services
        • What's happening?
      • Navigating portlet specification
    • Setting up Plugins SDK
      • Building Plugins SDK project
      • Deploying plugins
      • Fast development of plugins with Tomcat
    • Using development environments efficiently
      • How does Ext work?
      • When do we use Ext?
    • Summary
  • Chapter 4: Experiencing Struts Portlets
    • Developing a JSP portlet
      • Defining the JSP portlet
      • Changing the title and category
      • Using JSP portlet efficiently
        • Fast deploy
        • Employing JSP portlet
    • Constructing a basic Struts portlet
      • Defining a Struts portlet
      • Specifying the page flow and page layout
      • Creating JSP pages
      • Changing the title and category
    • Building an advanced Struts portlet
      • Adding an action
        • Creating an action
        • Defining the action
        • Adding a form in JSP page
        • Creating success and error pages
      • Interacting with the database
        • Creating a database structure
        • Creating methods to add and retrieve records
        • Updating existing files
        • Retrieving records from the database
      • Redirecting
        • Updating the action
        • Updating action paths
        • Updating existing JSP files
      • Adding more actions
        • Creating methods to edit and delete records
        • Updating the action
        • Creating actions menu JSP file
        • Updating existing JSP files
      • Setting up permissions
        • Setting up permissions in the backend
        • Setting up permissions in frontend
        • Deploying
    • Using Struts efficiently
      • Why use Struts?
      • Why use tiles?
      • When do we use Struts?
  • Chapter 5: Managing Pages
    • Extending Communities portlet
      • Building Ext Communities portlet
        • Constructing the portlet
        • Setting up actions
        • Setting up page flow and page layout
        • Preparing JSP files
      • Setting up the Ext Communities portlet in the backend
        • Creating database structure
        • Creating methods to update, delete, and retrieve
        • Updating the action classes
      • Setting up the Ext Communities portlet in the frontend
        • Updating and deleting Community customized columns
        • Retrieving community-customized columns
    • Customizing the Manage Pages portlet
      • Building a standalone layout management portlet
        • Constructing the portlet
        • Setting up the action
        • Setting up page flow and page layout
        • Preparing JSP files
      • Setting up the Ext Layout Management portlet in the backend
        • Creating a database structure
        • Creating methods to update, delete, and retrieve
        • Updating the action class
      • Setting up the layout management portlet in the frontend
    • Customizing page management with more features
      • Adding localized feature
        • Extending model for locale
        • Customizing language properties
        • Displaying multiple languages
      • Employing tabs
      • Applying layout templates dynamically
        • Setting up pages, layout templates, and portlets mappings
        • Adding layout templates
        • Displaying layout templates by sections
      • Tracking pages
    • Using communities and layout page efficiently
      • Employing group, community, and permissions
      • Using communities, layout pages, comments, and ratings
      • Extending the community and layout pages
    • Summary
  • Chapter 6: Customizing the WYSIWYG Editor
    • Configuring the WYSIWYG editor
      • Extending the Ant target for fast deployment
      • Upgrading the WYSIWYG editor: FCKeditor
      • Setting up the FCKeditor
        • Adding customized icons
        • Employing default configuration
    • Adding templates and styles in FCKeditor
      • Constructing styles and formats
        • Preparing CSS styles in themes
        • Employing customized CSS styles from themes
        • Customizing styles
      • Building templates
    • Inserting images and links from different services
      • Configuring a File Browser Connector with Liferay portal services
        • Configuring the services for images, documents, and pages
        • Browsing images and links
        • Preparing Liferay portal services
      • Customizing the File Browser Connector with RESTful services
        • Adding advanced search view features
        • Adding advanced search functions to links and images
        • Preparing RESTful services
    • Inserting content-rich flashes into Web Content
      • Querying flashes
      • Adding single flash SWF, videos, and slideshows to journal articles
        • Adding advanced search views
        • Adding advanced search functions
        • Adding flash objects
      • Adding video queue and video list as part of journal articles
        • Putting a video list into journal articles
        • Setting up video queue in journal articles
      • Adding games and playlists as part of journal articles
        • Playing games beside text message
        • Employing playlist as visualization of text information
      • Preparing RESTful services
    • Using the WYSIWYG editor FCKeditor efficiently
      • Extending the file browser connector
      • Employing the WYSIWYG editor in portlets
        • Employing the WYSIWYG editor in the Web Content portlet
        • Using Liferay display tag
        • Adding the WYSIWYG editor in a custom portlet
      • When do we use the WSYIWYG editor?
    • Summary
  • Chapter 7: Customizing CMS and WCM
    • Managing Terms of Use dynamically
      • Customizing static Terms of Use
      • Building dynamic Terms of Use
    • Constructing featured content
      • Customizing the Web Content Display portlet
        • Creating the Ext Web Content Display portlet
        • Building a view action
      • Setting up structure and template
        • Building a structure
        • Preparing the icon images
        • Building a template
      • Building featured content articles
        • Preparing images
        • Building an article with images and text
    • Customizing the Web Content List portlet
      • Constructing the Ext Web Content List portlet
      • Building a view action
      • Setting up the view page
        • Adding custom article types
        • Consuming custom article types
    • Customizing the Asset Publisher portlet
      • Adding a large-size image and a medium-size image in Web Content
      • Building the Ext Asset Publisher portlet
      • Extending view with tags
        • Configuring tags
        • Setting up default tags
        • Updating views
    • Building dynamic articles with recently added content and related content
      • Displaying journal articles through asset ID
      • Showing touts with article ID
        • Adding Velocity services
        • Building touts structure and template
        • Building article touts
      • Listing recently added content
      • Exhibiting related content
    • Building dynamic articles with polls
      • Adding template node poll
      • Updating the Web Content portlet with template node poll
      • Associating journal articles with polls
    • Extending CMS and WCM
      • Employing articles, structures, and templates
        • Using journal template—Velocity templates
      • Enjoying the Web Content search portlet
      • Tagging content
      • Extending Image Gallery and Document Library
      • Adding Velocity templates in Asset Publisher
    • Summary
  • Chapter 8: Building a Personalized Community
    • Sharing content with friends
      • Building print preview as article template
      • Sharing applications on any web site by widget
      • Sending emails with sharing links to friends
        • Building the Share portlet
        • Setting up view action and email
        • Setting up the view page with jQuery
        • Preparing jQuery service
        • Building the article template
    • Setting up the most popular journal articles
      • Adding a view counter in the Web Content Display portlet
      • Setting up VM service
      • Building article template for the most popular journal articles
        • Setting up the default article type
        • Setting up the article template
        • Putting all article templates together
      • Having a handle on view counter for assets
        • Using journal article tokens
        • Get view count on Wiki articles
        • Getting views count on blog entries
        • Getting views on Message Boards threads
        • Setting up view counter on the Image Gallery images
        • Setting up view counter on Document Library documents
        • Getting visits on bookmark entries
    • Personalizing user comments
      • Creating user comments model
      • Building the Ext Comment portlet
        • Adding permissions based on user groups
        • Updating the UI tag
        • Setting up email notification
    • Customizing My Account
      • Customizing login view
        • Locating the portlet My Account
        • Overriding login view
      • Creating a customized account on the fly
    • Building personal community—My Street
      • Customizing user model
      • Building the portlet My Street
        • Adding Struts view page
        • Sharing the My Street theme
        • Adding videos, games, and playlists into My Street
    • Using personal community efficiently
      • Extending user account and user preferences
      • Setting My Community
      • Using Control Panel to manage My Account
      • Using dynamic query API
      • Using pop ups
        • Applying Floating DIV pop up
        • Employing window pop up
    • Summary
  • Chapter 9: Developing Layout Templates and Themes
    • Building layout templates in Ext
      • Constructing custom layout templates
        • Experiencing default layout templates
        • Adding customized layout templates
      • Registering layout templates
    • Developing layout templates in Plugins SDK
      • Building layout templates
      • Creating layout templates
    • Building themes in Plugins SDK
      • Creating a customized theme
        • Setting up the theme project
        • Building differences of themes
      • What's happening after deploying themes?
        • Putting HTML to use
        • Experiencing CSS and images
        • Using jQuery JavaScript library
        • Employ theme settings
        • Adding color schemes
        • Adhering to WAP standard
        • Adding runtime portlets to a theme
      • Using theme, CSS, and JavaScript
        • Making use of themes
        • Applying CSS
        • Employing JavaScript
        • Experiencing the developing and debugging tools
    • Customizing Velocity templates in themes
      • Using default Velocity templates
        • Experiencing default Velocity variables
        • Customizing Velocity variables
      • Adding customized Velocity templates
        • Using Velocity templates in drop-down menu
        • Using Velocity templates in journal article-based navigation
      • Setting up customized themes and layout templates as default
    • Using Plugins SDK more efficiently
      • How does it work?
      • When to use Plugins SDK?
    • Summary
  • Chapter 10: Building My Social Office
    • Experiencing the Control Panel
      • What's Control Panel?
      • How does it work?
        • Using the Control Panel theme
        • Employing Control Panel settings
        • Configuring portlets for Control Panel
      • How to customize it?
        • Changing theme
        • Updating both edit page and view page
        • Configuring customized portlets
    • Building Inter-Portlet Communication
      • Creating IPC portlet project
      • Constructing IPC portlets
        • Defining portlets
        • Defining events
        • Registering portlets
      • Specifying portlet process actions
      • Specifying portlet views
    • Developing Social Office theme
      • Setting up the theme project
      • Constructing differences of the so-theme
    • Adding mail and chat portlets
      • Setting up the mail portlet
      • Setting up the chat portlet
        • Deploying the chat portlet
        • What's happening behind?
    • Building Social Office with portlets
      • Rearing the Social Office portlets project
      • Assembling social portlets
      • Raising JavaScript functions and friendly URL
      • Erecting social views
      • What's happening?
        • Experiencing social models
        • Experiencing social services
        • Adding social activity tracking
    • Hooking properties and JSP files into Social Office
      • Building hooks
        • Applying portal event handlers
        • Putting model listeners to use
      • Erecting portal properties
      • Employing JSP hooks
    • Using hooks more efficiently
      • General usage
        • WOL—World of Liferay
      • Special usage
        • Document library hooks
        • Auto-login hooks
        • Mail hooks
    • Summary
  • Chapter 11: Staging and Publishing
    • Building dynamic navigation and site map
      • Constructing custom navigation and street navigation
        • Build portlets' views
      • Establishing custom site map
        • Constructing the street site map portlet
        • Building up portlet view
    • Customizing event handlers and model listeners
      • Handling events
        • Configuring global startup and shutdown actions
        • Creating a custom cookie on login
      • Building custom model listeners
        • Creating custom model listener
        • What's happening?
    • Undergoing local staging and publishing
      • Activating staging
      • What's happening?
        • How does it work?
      • Staging and publishing locally
        • Copying from live
        • Publishing to live
    • Employing staging workflow and other workflows
      • Activating staging workflow
        • Creating a proposal
        • What's happening?
      • Customizing staging workflow
        • Extending model
        • Building a standalone workflow portlet
        • Employing the journal article workflow
        • Play with the jBPM workflow
        • Using Intalio | BPMS
    • Scheduling web content
      • Scheduling pages
        • Scheduling the web content
      • What's happening?
        • Setting a scheduler engine
        • Scheduling layouts
        • Configuring scheduler class
    • Experiencing remote staging and publishing
      • What's remote staging and publishing?
      • How does it work?
        • Importing and exporting
        • Using tunnel web
        • Setting up tunnel web
      • Using LAR to export and import
        • Defining portlet-data-handler
        • Configuring a portlet with portlet-data-handler
        • Using portlet-data-handler
        • Using SCORM
    • Summary
  • Chapter 12: Using Common API
    • Adding custom attributes
      • Building dynamic table with Velocity Expando template
        • Creating a journal structure
        • Creating a journal template
        • Building Book Title List
      • What's happening?
        • The Expando Velocity template variables
        • Models and services
        • Extending custom attributes
      • Enhancing users and organizations
        • What's happening?
        • Sharing the Expando portlet
    • Building OpenSearch
      • What's happening?
      • Adding the OpenSearch capability on custom portlets
      • Adding search capabilities in portlets
      • Using Solr for enterprise search
    • Overriding the Spring services
      • Overriding method validation
      • Changing model name via ServiceBuilder
      • What's happening?
      • Consuming Liferay services in portlets
        • How does it work?
      • Customizing friendly URL mappings
        • What's happening?
    • Constructing web services
      • Building custom web services
      • Consuming web services in portlets
        • How does it work?
      • What's happening?
    • Enjoying best practices
      • Using JavaScript Portlet URL
      • Customizing user and organization administration
        • Creating a new section
        • Customizing fields of form section
        • Customizing columns of the list
      • Speeding up the portal
      • Sharing UI Taglibs in portlets
        • How does it work?
      • Consuming WSRP
        • How do we get the WSRP portlets?
        • How does it work?
      • Integrating with SharePoint
      • Integrating with Terracota DSO
    • Summary

Jonas X. Yuan

Jonas X. Yuan is a Chief Architect of ForgeLife LLC and an expert on Liferay Portal, e-commerce, and Content Management Systems (CMS). As an open source community contributor, he has published five Liferay books from 2008 to 2012. He is also an expert on Liferay integration with Ad Server OpenX, different search engines, enterprise content including videos, audio, images, documents, and web contents, and other technologies, such as BPM Intalio and Business Intelligence Pentaho, LDAP, and SSO. He holds a Ph.D. in Computer Science from the University of Zurich, where he focused on Integrity Control in federated database systems. He earned his M.S. and B.S. degrees from China, where he conducted research on expert systems for predicting landslides. Previously, he worked as a Project Manager and a Technical Architect in Web GIS (Geographic Information System). He is experienced in Systems Development Lifecycle (SDLC) and has deep, hands-on skills in J2EE technologies. He developed a BPEL (Business Process Execution Language) engine called BPELPower from scratch at the NASA data center. As the chief architect, Dr. Yuan successfully led and launched several large-scale Liferay/Alfresco e-commerce projects for millions of users each month. He has worked on the following books: Liferay Portal Enterprise Intranets, 2008; Liferay Portal 5.2 Systems Development, 2009; Liferay Portal 6 Enterprise Intranets, 2010; Liferay User Interface Development, 2010; Liferay Portal Systems Development, 2012.

Code Downloads

Download the code and support files for this book.


Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


Errata

- 13 submitted: last submission 10 Sep 2012

Errata type: Code | Page number: 40 |

The code currently says "<read-only>true" The closing tag should be "</read-only> so that the code reads "<read-only>true</read-only>"

 

Errata type: Typo | Page number: 40 |

In the third line of that paragraph after the code, the code word should read "read-only" and not "ready-only"

 

Errata type: Code | Page number: 75 |

says to copy build.${user.name}.properties to the ext project from the portal project. This sentence should be removed, since there is no need to copy build.${user.name}.properties to the ext project from the portal project.

 

Errata type: Code | Page number: 122 |

The BookReportsEntry method is missing the “entryId” declaration. It should add “entryId” declaration

 

Errata type: Code| Page number: 131 |

“addEntryResources(ReportsEntry book” should be “addEntryResources(BookReportsEntry book”

 

Errata type:Code | Page number: 131|

“ReportsEntry.class.getName()” should be “BookReportsEntry.class.getName()”

 

Errata type: Code | Page number: 141 |

“portlonfig” should be “portletConfig”

 

Errata type: Code | Page number: 145 |

modifierUserId is incorrectly typed as a String. It should be a long.

 

Errata type: Code | Page number: 160 |

ExtEditLayoutAction.java should be ExtEditPagesAction.java

 

Errata type: Code | Page number: 161 |

“0extLayout” should be “extLayout”

 

Errata type: Code | Page number: 377 |

"/portal/portal-impl/docroot/html/themes/" should be "/portal/portal-web/docroot/html/themes/"

 

Errata type: Code | Page number: 377 |

"/ext/ext-impl/docroot/html/" should be "/ext/ext-web/docroot/html/"

 

Errata type: Code | Page number: 378 |

replace "/portal-impl/" with "/portal-web/", and "/ext-impl/" with "/ext-web/"

 

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Liferay Portal 5.2 Systems Development +    Haskell Data Analysis Cookbook =
50% Off
the second eBook
Price for both: £26.25

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

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

In Detail

Liferay portal is one of the most mature portal frameworks in the market, offering many key business benefits that involve personalization, customization, and workflow. If you are a Java developer who wants to build custom web sites and intranet applications using Liferay portal, this is where your search ends.

This book shows how Java developers can use Liferay as a framework to develop custom intranet systems, based on Liferay portal platform thus helping you to maximize your productivity gains. Get ready for a rich, friendly, intuitive and collaborative end-user experience!

The author's experience customizing Liferay using Java enables him to explain in a clear and precise manner how to build custom systems on top of Liferay portal.

Using this book you can customize Liferay into a single point of access to all an organization's data, content, web content, and other information from both existing in-house applications (HR, CRM) and external sources (such as Alfresco, FatWire, Magnolia, Vignette).

A Java developer's guide to developing custom intranet systems, based on Liferay's platform

Approach

This book focuses on teaching by example. Every chapter provides an overview, and then dives right into hands-on examples so you can see and play with the solution in your own environment. All code samples run on both the latest Enterprise and Community releases.

Who this book is for

This book will be most useful to professional Java developers who want to build custom web sites, portals, and highly customized intranet applications using Liferay portal as a framework.

This book is for Java developers, and you will get most from the book if you already work with Java but you need not have prior experience on Liferay portal. Although Liferay portal makes heavy use of open source frameworks such as Spring, Hibernate, Struts, and Lucene, no prior experience using these is assumed.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software