Professional Documents
Culture Documents
Overview
Presenter: Joseph Shum
Liferay Portal is the world's leading open source
enterprise portal solution using the latest in
Java and Web 2.0 technologies.
Thought Leadership and Innovation
Created in 2000 and open sourced in 2002
Members of the JSR 286 (Portlet Specification) & JSR 314 (Java
ServerFaces Specifications) Committees
Active Community
Thought Leadership and Innovation
Liferay Portal is the world's leading open source enterprise portal solution using the latest in Java
and Web 2.0 technologies.
Ready to go…
Liferay Portal is the world's leading open source enterprise portal solution using the latest in Java
and Web 2.0 technologies.
Easy to use…
Liferay Portal is the world's leading open source enterprise portal solution using the latest in Java
and Web 2.0 technologies.
Technically sound…
Service Oriented Architecture
(SOA) with web services support
LDAP support and integration
Portal as a Platform services for
rapid portal development and
deployment
Secure enterprise application
integration framework
Ready integration:
Pentaho Business Intelligence
Intalio Business Process Management
Terracotta Scalability and high availability
ICEfaces Rich Internet applications
jQuery Dynamic user experiences
Active Community
Over 1 Million downloads & over 60,000 downloads per month
Over 5800 registered community participants
Application Servers Liferay Portal supports ALL major app servers, databases, and operating systems, with over 700
Databases deployment configurations.
Operating Systems
Technologies Used Apache ServiceMix, Ehcache, Hibernate, Java J2EE/JEE, jBPM, jQuery, ICEfaces JavaScript
Framework, Lucene, MuleSource ESB, PHP, Ruby, Seam, Spring Framework & AOP, Struts &
Tiles, Tapestry, Velocity
Arabic, Catalan (Spain), Chinese (Simplified), Chinese (Traditional), Czech, Dutch, English (US),
Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean, Persian, Portuguese,
Russian, Spanish, Swedish, Turkish, Vietnamese
Out-of-the-Box CollaborationSuite
Content Management System
Developer Tools
Liferay Portal
Intalio Conference
Overview for Intalio Conference
Presentation Outline
What is Liferay Portal?
What are the JSR 168 and JSR 286 specs and why do we need them?
What does Liferay Portal add on top of the spec implementation?
Liferay Portal features
What is a portlet?
Portal/Portlet Lifecycle
Portlet Mode, Window State, Preferences
Portlet development
Portal integration points
Overview for Intalio Conference
Roles
Users
User Groups
What is a portlet?
A portlet is a web component that processes requests and generates
dynamic content.
The content generated by a portlet is also called a fragment (e.g.
HTML, XHTML, WML) and can be aggregated with other fragments to
form a complete document.
Overview for Intalio Conference
What is a portlet?
Portlets as fragments of an HTML page:
Overview for Intalio Conference
Portlet Lifecycle
Portlets are different from servlets in that they have a 2 phase
commit.
With servlets, the service() method processes all requests.
With portlets, the processAction() method processes the requests
and the render() method draws the contents of the portlet on the
page.
Overview for Intalio Conference
Portlet Lifecycle
init()
Initializes the Portlet
processAction()
process input from a user action.
render()
Renders the content output.
destroy()
Cleans up the portlet
Overview for Intalio Conference
Portlet Lifecycle
serveResource()
Allows a portlet to serve a resource
The serveResource() method can be used to implement AJAX
use cases.
processEvent()
Perform events triggered by other portlets. (IPC)
Overview for Intalio Conference
Liferay Implementation
Portal RequestLifecycle (1)
PortalRequestProcessor
Portlet RequestLifecycle (x)
PortletRequestProcessor
Portlet Characteristics
Portlets have additional characteristics that make them different
from Servlets
Portlet Modes
Window States
Portlet Preferences
Overview for Intalio Conference
Portlet Modes
Each portlet has a current mode, which indicates the function
the portlet is performing.
All JSR 168 compliant portals should support the View, Edit and
Help modes.
Overview for Intalio Conference
Window States
Window states indicate the amount of portal page space that
will be assigned to a portlet.
All spec compliant portals should support the minimized,
maximized and normal window states.
Overview for Intalio Conference
Portlet Preferences
Portlets can be configured to provide a custom view or behavior
for different users.
For example, a weather portlet can show the temperature in
Chicago for one user and the temperature in LA for another
user.
These configurations are represented as a persistent set of
name-value pairs and are referred to as portlet preferences.
Overview for Intalio Conference
Plugins
The Plugins SDK is a simple environment for the development of
Liferay plugins.
Portlet, theme and layout development used to take place in the ext
environment.
The ext environment no longer supports portlet and theme
development, except for struts portlets and modifying/extending
Liferay’s out-of-the-box portlets.
The Plugins SDK is to be used instead to create hot-deployable
portlets, themes and layouts.
Overview for Intalio Conference
Plugins
ThePlugins SDK is a simple environment for the
development of Liferay plugins.
Portlet,
theme and layout development used
portlets, themes and layouts.
Overview for Intalio Conference
Plugins
The
Overview for Intalio Conference
Plugins
The
Overview for Intalio Conference
Plugins
The
Overview for Intalio Conference
Plugins
Portlets can make use of any application framework that
Liferay supports
Struts
JSF
Spring
Tapestry
Flex
Overview for Intalio Conference
Plugins
Portlets can make use
Flex
Overview for Intalio Conference
Extension
The Extension Environment allows for complete customization of
Liferay.
Internal portlets can be modified.
Liferay's .jsp pages can be changed.
Customizations are kept separate from the Liferay source.
The Liferay source code does not have to be modified.
Overview for Intalio Conference
Extension
Developers have a clear upgrade path.
The combination of the MIT license and the extension
environment means that organization-specific customizations do
not need to be contributed back to the Liferay project.
Overview for Intalio Conference
Extension
Overview for Intalio Conference
Extension
Overview for Intalio Conference
Extension
The Extension Environment allows for complete
Overview for Intalio Conference
Extension
Overview for Intalio Conference
Extension
Overview for Intalio Conference
Portal Architecture
For more information, please contact:
Alice Cheng
Marketing & Business Development Manager
Liferay, Inc.
pr@liferay.com