Liferay Portal Systems Development


Liferay Portal Systems Development
eBook: $35.99
Formats: PDF, PacktLib, ePub and Mobi formats
$30.59
save 15%!
Print + free eBook + free PacktLib access to the book: $95.98    Print cover: $59.99
$59.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  • Use Liferay tools (CMS, WCM, collaborative API and social API) to create your own Web sites and WAP sites with hands-on examples
  • Customize Liferay portal using JSR-286 portlets, hooks, themes, layout templates, webs plugins, and diverse portlet bridges
  • Build your own websites with kernel features such as indexing, workflow, staging, scheduling, messaging, polling, tracking, auditing, reporting and more

Book Details

Language : English
Paperback : 546 pages [ 235mm x 191mm ]
Release Date : January 2012
ISBN : 1849515980
ISBN 13 : 9781849515986
Author(s) : Jonas X. Yuan
Topics and Technologies : All Books, CMS and eCommerce, Open Source, Web Development

Table of Contents

Preface
Chapter 1: Liferay Enterprise Portal
Chapter 2: Service-Builder and Development Environment
Chapter 3: Generic MVC Portlets
Chapter 4: Ext Plugin and Hooks
Chapter 5: Enterprise Content Management
Chapter 6: DDL and WCM
Chapter 7: Collaborative and Social API
Chapter 8: Staging, Scheduling, Publishing, and Cache Clustering
Chapter 9: Indexing, Search, and Workflow
Chapter 10: Mobile Devices and Portlet Bridges
Index
  • Chapter 1: Liferay Enterprise Portal
    • Liferay functionalities
      • Document and media library—CMS
      • Web content management—WCM
      • Personalization and internalization
      • Workflow, staging, scheduling, and publishing
      • Social network and social office
      • Monitoring, auditing, and reporting
      • Tagging
      • Integration
    • Framework and architecture
      • Service Oriented Architecture
      • Enterprise Service Bus
      • Standards
    • Terminologies
      • Multi-tenancy
      • Role-based access control
        • Resource, role, and permission
        • User
        • Group
    • Systems development
      • Ext plugin
      • Hook plugin
      • Portlet, layout template, and web plugins
      • Theme plugin
      • Development strategies
        • Level I development
        • Level II development
        • Level III development
    • An example: Knowledge base management
    • More useful information
    • Summary
    • Chapter 2: Service-Builder and Development Environment
      • Plugins SDK development environment
        • Required tools
          • JDK
          • Ant
          • Maven
        • Databases
          • MySQL
        • Application servers
          • Tomcat
        • IDE
          • Eclipse IDE
          • Workspace
          • Subclipse
      • Portal and plugins structure
        • Portal source code
          • Portal source code structure
        • Plugins SDK source code
          • Plugins SDK structure
        • Portal runtime structure
          • Ant target clean
          • Ant target start
          • Ant target deploy
          • What is happening?
        • Plugins runtime structure
          • Ant target clean
          • Ant target deploy
        • Portal service and implementation
          • Interface and implementation
          • JAR-based fix patch
      • Service-Builder
        • Ant target build-service
        • Database structure definition
          • Author, namespace, and exceptions
        • Entity
          • Attribute list declarations
          • Column
          • Finder
          • Reference
          • Order and tx-required
        • Reserved names
          • Reserved alias names
          • Reserved table names
          • Reserved column names
          • Reserved JSON types
        • Mappings
          • Data types
          • Models and services
          • SQL scripts, properties, and JSON JavaScript
          • Spring and Hibernate
        • Element convert-null
        • Service-Builder improvement
        • More services
          • Ant target build-db
          • Ant target build-lang
          • Ant target build-wsdd
          • Ant target build-client
      • Default data population
        • Release information
        • Data population
          • Database case-sensitive queries
          • Verifying processes
      • Default project creation and templates
        • Plugins default project creation—Ant targets
        • Plugins default project templates
      • Fast development
        • What is happening?
      • Summary
      • Chapter 3: Generic MVC Portlets
        • Plugin portlet project
          • Naming conventions and filter mappings
          • Portlet project default template
          • Knowledge base portlet project
        • Basic MVC portlet
          • Project structure
            • Portlet definition
            • Liferay portlet registration
            • Liferay portlet display
            • Liferay plugin package
            • View specification
          • Portlet XSD and DTD
            • Portlet app XSD
            • Liferay portlet app DTD
            • Liferay display DTD
            • The Liferay plugin package DTD
          • What's happening?
          • MVC portlet bridge
            • MVC portlet extension
          • Portlet JSP/JavaScript/CSS loading
            • AJAX and render weight
            • Header JavaScript/CSS and footer JavaScript/CSS
            • Predefined objects
            • Direct JSP servlet
          • What's happening?
        • Advanced MVC portlet
          • Portlet bridge extension
          • Bringing portlets into the Control Panel
          • Portlet configuration and preferences
            • Portlet configuration
            • Portlet preferences
          • Portlet keys, title, and description
            • Message
          • Redirect
            • Render URL
            • Action URL
          • Interacting with the database
        • Rebuilding services
          • What's happening?
            • Model hints
          • Other databases in plugins
            • What's happening?
        • Dynamic query API
          • Queries in plugins
            • Dynamic query factory
            • Dynamic query operations
          • SQL joins
            • Joining tables inside a plugin
            • Joining tables from different plugins
            • Joining tables from plugins and portal core
        • Custom query
          • What's happening?
        • Security and permissions
          • Adding resources
            • What's happening?
          • Registering permission
            • Permission algorithm
            • Permission actions registration
          • Assigning permissions
          • Checking permission
            • What's happening?
        • Summary
        • Chapter 4: Ext Plugin and Hooks
          • Ext plugin
            • Ext plugin project default template
              • Creating an Ext plugin project
            • Advanced customization
              • Advanced configuration
              • Advanced portal core API overwriting
              • Advanced portal web overwriting
            • Upgrading a legacy Ext environment
              • What's happening?
          • Deploy processes
            • What's happening?
              • Deployer
            • Sandbox deploy
              • Sandbox deploy listener
            • Auto deploy
              • Auto deploy listener
              • Auto deployer
            • Hot deploy
              • Hot deploy listener
          • Class loader proxy
            • Generating the class loader proxy
            • Sharing plugin services
          • Hooks
            • Hook plugin project default template
            • Liferay hook DTD
            • Portal properties hooks
              • Event handlers
              • Model listeners
              • What's happening?
            • Language properties hooks
              • Multiple languages
              • What's happening?
            • Custom JSP hooks
              • Custom JSP files and path mapping
              • What's happening?
            • Indexer post processor hooks
              • What's happening?
            • Service wrappers hooks
              • What's happening?
            • Servlet filter and servlet filter mappings hooks
              • What's happening?
            • Struts actions hooks
              • What's happening?
          • Summary
          • Chapter 5: Enterprise Content Management
            • Image management
              • Models and services
                • Models
                • Base model
                • Services
                • Usage
                • Image processor
                • Image sprite processor
              • Permissions
                • Resource action mapping
              • Video management
                • Adding default document types
                • Video and audio processors
                • Antivirus scanner
            • Document management
              • Models and services
                • Models
                • Services
                • Attachments
              • Document versioning
                • Converting document
                • Comparing versions
                • Previewing a live document
                • Document check-in and check-out
                • Moving document
                • Document indexing
              • WebDAV
                • WebDAV storage
                • WebDAV models and services
              • Multiple repositories
                • Repository interface
                • Document hooks
                • Converting repositories
                • CMIS consumer and producer
                • SharePoint integration
                • Documentum integration
                • Alfresco integration
            • Records management
              • Records in Document Library
                • Record model
                • Records validation and classification
                • Records indexing
                • OCR engines
              • Building relationship
                • Model
                • Services
                • Portal-instance level relationship
              • Content authoring
              • Content archiving
            • Summary
            • Chapter 6: DDL and WCM
              • Web content management
                • Models and services
                  • Models
                  • Services
                  • Comparator services
                  • Journal content services
                  • Journal tokens
                  • Retrieving structures, templates, and articles
                • Structure
                  • Types
                  • Value format
                • Template
                  • Language types
                  • Variables and values
                  • Custom CSS
                  • Custom JavaScript
                • Localization
                  • Localized column
                  • Value format
                  • Localization interface
                • Indexer
                • XML security
                • Sanitizer
                  • Antisamy
                • ClassName-classPK pattern
              • WYSIWYG editor
                • CKEditor integration
                  • CKEditor structure
                  • CKEditor diffs
                • CKEditor plugins
                  • Custom plugins
              • Expando—custom attribute
                • Models and services
                  • Models
                  • Services
                  • Taglib
                  • Data types
                • Indexer
                • NoSQL adapter
              • Dynamic data lists and dynamic data mapping
                • Models and services
                  • Models
                  • Services
                • Storage adapter
              • Asset, tagging, and categorization
                • Models and services
                  • Models
                  • Services
                  • View count
                • Tag
                  • Services
                  • Tags cloud
                • Category
                  • Services
                  • Categories cloud
                  • Category tree
                • Asset query
                  • Related content
                  • Range query
                • Asset publishing
                  • Asset renderer framework
              • Summary
              • Chapter 7: Collaborative and Social API
                • Collaboration
                  • Wiki
                    • Wiki models
                    • Wiki services
                    • Wiki engines
                  • Blogs
                  • Shared calendar
                  • Announcements
                  • Message Boards
                    • Models
                    • Services
                  • Bookmarks
                  • Polls
                • Asset management
                  • Software Catalog
                    • Private messaging
                    • Microblogs
                  • Shopping cart
                    • Advanced calendar
                    • Tasks management
                  • Online chat and mail
                    • Chat
                    • Mail
                    • Asset management system
                    • Human resource management
                    • Marketplace
                • Assets collaboration
                  • Asset ratings
                    • UI taglib liferay-ui:ratings
                  • Asset comments
                    • Model
                    • Service
                    • UI taglib liferay-ui:discussion
                  • Asset flags
                    • UI taglib liferay-ui:flags
                  • Assets subscription
                  • E-mail notification
                  • RSS feeds
                  • Attached model
                • Social identity repository
                  • Social networking
                    • Models
                    • Services
                    • Social coding
                  • Social office
                    • Models
                    • Services
                    • Hooks
                    • Contacts
                  • Social activity
                    • Models
                    • Services
                    • UI taglib liferay-ui:social-activities
                    • Adding social activity tracking
                    • Requests and activities
                    • Social bookmarks
                  • Social equity
                    • Models
                    • Services
                    • Adding social equity services on custom assets
                    • Social activity statistics and top users
                  • OpenSocial
                    • Gadget models
                    • Gadget services
                    • Shindig services extension
                    • Gadget portlets
                • Summary
                • Chapter 8: Staging, Scheduling, Publishing, and Cache Clustering
                  • The pattern: Portal-Group-Page-Content
                    • Portal
                      • Base models
                      • Model listener
                      • Portal instance
                    • Group
                      • Services
                      • System groups
                      • User
                      • Layout set
                    • Layout
                      • Layout template
                      • Portlet
                  • LAR export and import
                    • Portlet data handler
                      • Interface
                      • Portlet data context
                      • Portlet data context listener
                      • Services
                      • Portal core assets
                      • Portlet exporter and importer
                    • Setup archive
                      • Configuration action
                      • Portlet preferences and portlet item
                  • Local staging and publishing
                    • Activating staging
                    • Local staging interface
                    • Local staging services
                  • Remote staging and publishing
                    • Activating remote live
                    • Remote staging services
                    • Tunnel-web services
                      • Copying remote layouts
                      • HTTP services
                      • Securing users' information
                  • Scheduling and messaging
                    • Scheduler
                      • Interfaces
                      • Services
                      • Clustering scheduler
                    • Messaging
                      • Scheduling layouts publishing
                      • Scheduling portal core assets and custom assets
                  • Cache clustering
                    • Portal cache interfaces
                    • Ehcache
                      • Replicated cache
                      • Replicated caching with JGroups
                      • Clustered caching via Terracotta
                    • Memcached
                    • Cache clustering
                      • Clustering models and interfaces
                      • Clustering settings
                  • Summary
                  • Chapter 9: Indexing, Search, and Workflow
                    • Webs plugins
                      • Web plugin project
                        • Web deployer and listener
                      • Web applications integrator
                        • What's happening?
                    • Indexing and search
                      • Overview
                      • Indexer
                        • Interface
                        • Indexing core assets
                        • Registering custom asset indexers in plugins
                        • Lucene
                        • Solr
                      • Search engine
                        • Interfaces
                        • Search context
                        • Faceted search
                        • Query parser syntax
                      • Look-ahead typing—auto complete
                        • Models and services
                        • AutoComplete
                      • OpenSearch
                        • Interface and services
                        • Configuration
                        • What's happening?
                        • Applying OpenSearch on plugin portlets
                    • Workflow
                      • Kaleo-web models
                      • Kaleo-web services
                        • Custom SQL
                        • Hooks
                        • Web
                        • Spring beans and messaging
                      • Portal workflow services
                        • Global models
                        • Global services
                        • Workflow permissions
                      • Workflow definition
                        • Workflow definition XSD
                        • Kaleo workflow definition
                        • Sample workflow
                        • BPMN 2
                      • Workflow designers
                      • BPMN2 Visual Editor for Eclipse
                        • jBPM and Drools
                        • Activiti
                      • Applying workflow to assets
                        • Portal core assets
                        • Plugin custom assets
                    • Summary
                    • Chapter 10: Mobile Devices and Portlet Bridges
                      • Layout template plugins
                        • Layout template
                        • Layout template DTD
                        • Sample layout template
                        • Layout template services
                      • Theme plugins
                        • Theme default template
                          • Default themes
                          • Building themes
                          • look-and-feel DTD
                        • What's happening after deploying themes?
                        • Theme services
                          • Theme factories
                        • Template engines
                          • Template engine services
                          • Template services
                          • Template variables
                        • Alloy UI
                          • Structure—HTML 5
                          • Style—CSS 3
                          • Behavior—YUI 3
                        • Mobile device detectors
                          • WURFL
                        • WAP theme
                          • WAP layout template
                          • jQuery and UI
                          • jQuery mobile
                          • Building a WAP theme
                          • Sample WAP page and page transitions
                      • Portlet bridges
                        • An overview of built-in portlet bridges
                          • Alloy portlet
                          • Base BSF portlet
                          • Scripting portlet
                          • Ruby portlet
                          • Python portlet
                          • Groovy portlet
                          • JavaScript portlet
                          • PHP portlet
                          • MVC portlet
                          • WAI portlet
                        • Vaadin widgets
                        • Sample portlets
                          • OpenLaszlo
                          • JSON
                          • YUI
                          • Ext JS
                          • Dojo Toolkit
                          • DWR—Direct web remoting
                          • jWebSocket
                          • Apache Wicket
                      • Struts 2 portlet
                        • Struts 2 portlet-bridge
                        • Sample Struts 2 portlet
                      • JSF 2 portlet
                        • Portlet faces bridge
                          • JBoss portlet bridge
                          • MyFaces portlet bridge
                          • PortletFaces
                        • Sample ICEfaces 2 portlet
                        • Sample MyFaces 2 portlet
                        • Sample RichFaces 4 portlet
                      • Spring 3 MVC portlet
                        • Spring MVC portlet bridge
                        • Sample Spring 3 MVC portlet
                      • 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.
                      Sorry, we don't have any reviews for this title yet.

                      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.

                      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 Systems Development +    Governance, Risk, and Compliance Handbook for Oracle Applications =
                      50% Off
                      the second eBook
                      Price for both: $56.25

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

                      What you will learn from this book

                      • Provide complete coverage of both the commercial and open source versions of Liferay Portal 6.1 within the real-world example Knowledge Base portlet
                      • Build basic and advanced MVC portlets with the Service-Builder and RBAC permissions, helping you to build enterprise-ready Java web sites
                      • Use Ext plugins and Hooks, allowing you to perform custom actions on your portal
                      • Manage images, documents, videos, audio, and records using the Document and Media Library and record management
                      • Build web content and web forms using the WYSIWYG editors, Custom Attributes, assets tagging and classification, and Dynamic Data List
                      • Create a collaborative and social API complete with Ratings, Comments, Subscriptions, Collaboration, Social Equity, and Asset Links
                      • Improve your portal with staging, scheduling, remote publishing, caching, clustering, indexing, search, and workflow.
                      • Build WAP mobile-based applications and leverage diverse portlet bridges like JSF, Struts, and Spring MVC

                      In Detail

                      Liferay portal is one of the most mature portal frameworks in the market, offering many key business benefits that involve personalization, customization, content management systems, web content management, collaboration, social networking and workflow. If you are a Java developer who wants to build custom web sites and WAP sites using Liferay portal, this book is all you need.

                      Liferay Portal Systems Development shows Java developers how to use Liferay kernel 6.1 and above as a framework to develop custom web and WAP systems which will help you to maximize your productivity gains. Get ready for a rich, friendly, intuitive, and collaborative end-user experience!

                      The clear, practical examples in the sample application that runs throughout this book will enable professional Java developers to build custom web sites, portals, and mobile applications using Liferay portal as a framework. You will learn how to make all of your organization's data and web content easily accessible by customizing Liferay into a single point of access. The book will also show you how to improve your inter-company communication by enhancing your web and WAP sites to easily share content with colleagues.

                      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.

                      Who this book is for

                      This book is for Java developers who don't need any prior experience with Liferay portal. Although Liferay portal makes heavy use of open source frameworks, no prior experience of 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