Liferay Enterprise Portal
The project, the product and how to
extend it
Jorge Ferrer
Software Architect
Liferay Inc.
Agenda
1. The Liferay Project
2. Liferay Portal
1. Introduction to Portals and Portlets
2. Characteristics
3. Out of the box functionality & Demo
3. Extending Liferay
The Liferay Project
Fast Facts
Project started January 2000, eighth year in development
Liferay Inc. 40+ employees in U.S., Europe and Asia providing commercial
support, training and professional services. Still Hiring !!
Annual revenue growth of 130-140%
Member, JSR-286 committee (with IBM, BEA, others)
Open source Java portal leader in downloads, activity and Implementations
About 100 active volunteer contributors
InfoWorld’s 2007 Best Technology Winner for Open Source Portal
Top ten open source products to watch (French press - JDNet Solutions)
The Open Source Advantage
Open source puts your business at the center of your technology initiative. Your product can
be customized to the specific needs of your business without tying you in to any specific
vendor and their associated license costs.
Open source is a superior development
model that leads to more robust code,
increased innovation, and faster
development cycles.
Each customer’s investment in the
product is multiplied to the entire user
community. The ROI on your
participation is multiplied exponentially
Zero-cost licensing allows that budget to
be applied toward customization,
resulting in better user acceptance and a
product that fits your business
Open source means flexibility and control
– the code is in your hands and ready to
customize
Lower risk – Any vendor, open source or
commercial, can change course and
discontinue product support. Open
source ensures you have access to code
regardless of vendor strategy
Why Liferay?
MIT Open Source License - Invest in Development
Interoperability Protects IT Investment
Incorporates latest technologies gaining acceptance from industry leaders
(Struts, Tiles, Spring, Hibernate, Web Services, AJAX, SOA)
Immediate Usability and ROI
100% compliance to industry standards
Compatible with every major platform (IBM, BEA, JBoss, MS, Oracle)
Innovation Using Proven Technologies
No license fees or restrictions on use
4.2 includes 60+ portlets to get portal running quickly
Developer tools help IT deliver portal value proposition
Commercial Professional Services
Peace of mind for business–critical uses
Client Stories
Client
Discovery Education is the academic division of Discovery
Communications Inc.
Deliverables
One Place, an educational portal for schools to create and deliver
professional and user-created video and web content.
One Place built on Liferay Portal and Liferay Journal CMS
Customized by Liferay Professional Services
Content Management and Collaborative Learning
WebCasting
Federated Search
Single Sign On
Client Stories
“Liferay Portal was by far the most cost effective and
efficient portal technology we considered.”
– Steve Bergman, CIO
Goodwill Industries International
Client
Goodwill Industries International, one of the world’s largest nonprofit organizations. Last year, local Goodwills collectively
provided employment and training services to more than 720,000 individuals and generated revenues of $2.65 billion.
Deliverables
Public web site and intranet
Public website Goodwill.org published and managed using Liferay Journal CMS
MyGoodwill intranet enables worldwide collaboration and real-time learning
Low acquistion and maintenance costs
Key Features:
Collaborative chat and message board
Blogs for knowledge sharing
Visitor-updateable Wikis
Interface to Computer-Based Training modules
Document repository
Expert Professional Services:
Customizations estimated at six to eight weeks were done over one weekend
Client Stories
“Liferay’s turnaround on our project was exceptional. Thanks
to their ideas and input, the end result is an excellent
working relationship and a quality site that exceeded
HanseMerkur’s expectations.” – Dr. Horst Karaschewski,
Head of Application Development
HanseMerkur
Client
HanseMerkur is the second-oldest insurance company in Germany offering a full range of insurance coverage. Deliverables
HanseMerkur.de
Scalability – Liferay Portal’s CMS easily manages HanseMerkur’s 350+ pages of mixed content. Liferay Portal
enables HanseMerkur to add hardware incrementally to comfortably scale the site in complexity and size.
Enhanced marketing potential – Search Engine Optimization (SEO) now enables the site to automatically and
dynamically optimize its visibility on leading Web search engines, keeping the HanseMerkur brand at the forefront
of consumer minds.
Improved site functionality – The portal acts as an aggregator of services and allows the end-user to complete
an insurance policy via the website.
Liferay Clients & Deployments
Telecom
Covad Communications
Deutsch Telecom
LG, Inc.
O2 (UK) Limited
Pantech USA
Peer 1 Communications
Software/Technology
Actuate
Borland Software
FireScope
IBM France
LogicBlaze
Symantec
Not-for-Profit / Government
Case Foundation
Christian Science Monitor
Goodwill Industries International
International Fund for
Agriculture Development (UN Agency)
NASA
Financial Services
Employers Direct Insurance Company
HanseMerkur (Germany)
Noridian Mutual Insurance Company
Sparkasse KölnBonn (Germany)
Undisclosed:
American Financial Services Group
Large German Investment Bank
Pioneering Online Brokerage
Retail/Services
AutoZone
HSBC Stars On Ice
Jason's Deli
Mitsubishi-Fuso
Oakwood Worldwide
Pepsi
Education
Discovery Education
Madrid School System
Utah Education Network
Washington University in St. Louis
Portals and Portlets
What is a Portal?
Screenshot of Yahoo
What is a Portal?
A site that provides several a single point of access to:
Information
Aplications: collaboration, content management, ...
Business Process
And more
Providing for each of them
Integration
Personalization
Single Sign On
Security
Search and navigation
And more
What is a portlet?
Portlets are web components--like
servlets--specifically designed to be
aggregated in the context of a composite
page. Usually, many portlets are invoked to
in the single request of a portal page
In Java defined by JSR-168
In preparation new spec. JSR-268
What is a portlet?
Do I need a portal?
Yes
Integration of several applications
Need personalization services
Can benefit from extra services
provided by the portal
Authorization, ...
No
You only have ONE application
What is Liferay Portal?
Liferay is the leading open source portal platform, built to efficiently deliver
enterprise-wide application and content integration. A Liferay-enabled
enterprise brings all aspects of the business (sales, supply chain, HR,
engineering, marketing, business development) into one framework. The result
is unprecedented gains in business intelligence, operational efficiency, and
individual productivity.
Characteristics of Liferay (1/2)
The full power of Open Source
With a business friendly license (MIT)
Vendor neutral
Works on all major vendors and dbs
Integration platform (SOA)
Strong support for web services, workflow, ESB, ...
Collaboration platform
Virtual communities, chat, wiki, ...
Big user community
Self-sustaining ecosystem that has grown over the
course of 6 years
Characteristics of Liferay (2/2)
Standards Compliant
JSR-168, JSR-170, WebDAV, SOAP, ...
Benchmarked security and scalability
Only portal compliant with all major IT
infrastructures
60+ Out of the Box Portlets
Flexible look & feel customization
Modern Architecture
Spring, Hibernate, Lucene, Axis, ...
Business Needs
Enterprise Intranet
Liferay Portal provides the tools needed to give users secure access to sensitive company
information and applications. Liferay not only manages groups within an organization (for example,
Executives, Marketing, Human Resources), it also ensures that people within those groups only
see what they're allowed to see.
Meanwhile, a Liferay administrator can get applications and content to the whole portal community
quickly and easily without having to maintain several different sites.
Business Needs
Corporate Extranet
Liferay Portal helps an organization create secure websites (extranets) for its clients or partners. For
example, a supplier of aftermarket automobile parts may work with several retail resellers that need to
access the company's inventory to order parts and check shipment status. Liferay makes it easy to
manage each reseller's access rights, content, and functionality, and quickly create branded extranets
for new resellers.
Business Needs
Web Publishing and Content
Management
Effective content management systems
(CMS) are a vital part of any organization.
In fact, content management is a natural fit
for a portal because of the need for secure
access and permissions (ie, who should be
able to delete a document from the
system?), distinct roles (writer, editor,
designer, administrator), and workflow
(edit, approve, publish).
Liferay Portal offers a built-in web
publishing and content management
solution, featuring full roles-based editorial
workflow, localization support, templates for
quick layout changes, and integrated
portlet-based publishing. It also offers a
standards-based document library to store
Office, PDF, image and other files.
Business Needs
Liferay Portal offers comprehensive
tools to help developers integrate
enterprise assets with an
integrated enterprise service bus,
workflow engine, web services
support (SOAP and REST), and
developer tools like an Eclipse
plug-in and Liferay Service Builder.
Liferay's coming Content
Interaction API will be designed to
create a unified interface for
working with content in Liferay
Portal regardless of source. Users
will be able to manage and publish
content from third-party systems
like Alfresco, Magnolia, Microsoft
Sharepoint, or Vignette with the
same interface used for Liferay's
built-in CMS.
Demo Time!
Highlighted Features
Personal communities
Virtual communities
Create them
Delegate their management
Collaboration portlets
Wiki
Blogs
Shared calendar
Message Boards
Chat
Highlighted Features
Content Management System
Journal
Document Library
Image Gallery
Tagging
Staging
Highlighted Features
Virtual hosting
Per Community
Easy creation of websites
Per Portal
Independent users, communities, data, ...
ASP support
Highlighted Features
WebOS
The Portal as an OS for the web
Freeform & desktop theme
Plugin Management System
Extending Liferay
How to extend Liferay Portal
1.
2.
3.
4.
Configuration
Themes & Layout templates
Portlets
Extension points (ext environment)
portal.properties
Spring
Configuration
portal.properties
Contains the main configuration options
Contains explanations for each prop.
Can be extended through
portal-ext.properties
system.properties
Contains the system related options
Can be extended through
system-ext.properties
Themes
A theme allows
Changing the look and feel of the
website
Customizing the main navigation
Each theme can be applied to
Each community website
Each page within the website
Layout Templates
A Layout Template defines the areas
of the page where portlets can be
placed
Developed in Velocity
Most used configurations provided
out-of-the-box
Portlet Development
Direct JSR-286 API
Similar to servlet but two phases
Bridges to existing tools
Struts, PHP, Ruby
JSF
Liferay provides examples for SUN RI,
MyFaces and ICEFaces
New frameworks include support for
portlets
Struts 2, Spring MVC
Developing a portlet
public class HelloWorld extends GenericPortlet{
protected void doView(
RenderRequest request,RenderResponse response)
throws PortletException, IOException {
response.setContentType("text/html");
response.getWriter().println(
"Hello world Portlet");
}
}
Developing a portlet
/WEB-INF/web.xml
/WEB-INF/portlet.xml
<portlet>
<description>HelloWorldDescription</description>
<portlet-name>HelloWorld</portlet-name>
<display-name>Hello World</display-name>
<portlet-class>com.test.HelloWorld</portlet-class>
<expiration-cache>-1</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
</portlet>
Developing a portlet
Understanding the two phases
Action: modifies state
The portal should not reinvoke it
Render: only shows content
The portal can invokes it many times
The portal can cache the result
Developing a portlet
public class HelloWorld extends GenericPortlet{
protected void processAction(
ActionRequest request,ActionResponse response)
throws PortletException, IOException {
String name = request.getParameter(“name”);
String msg = request.getParameter(“msg”);
SignBookService.addHello(name, msg);
response.setRenderParameter(“success”);
}
}
Legacy App Integration
Strategies for integrating existing
applications:
Iframe based solution
Proxy
Portlet bridges
Portlet as entry point or summary
Convert to portlet
SSO solutions:
Basic auth
Form
CAS
Extension Points
Most used provided through
portal.properties
Example: authentication
Full customization through Spring
ext-spring.xml
Allows creating a custom:
Implementation of any service
Implementation of persistance classes
Transaction Manager (JTA)
DataSource configuration
Reusable Services
When developing on top of Liferay
keep in mind:
Most of Liferay's functionality is
provided through a Business Service
Layer
The Service Layer can be invoked
through Java, Http, SOAP, ...
You can create your own services with
ServiceBuilder
Most used services
UserService, GroupService
Conclusions
Use a portal platforms when several
applications have to be integrated
Portals offer advanced services: use
them
Out-of-the-box functionality allows
you to:
Get to production very fast
Concentrate on what matters you most
Extensibility is a key feature of a
portal platform
www.liferay.com (Company)
www.liferay.com/web/guest/downloads (Download)
demo.liferay.net/ (Demo)
www.liferay.com/web/guest/devzone/forums (Forums)
www.liferay.com/web/guest/stories (Success Stories)
For more information, contact:
Jorge Ferrer
Software Architect
Liferay, Inc.
Enterprise. Open Source. For Life.
jferrer@liferay.com
© Copyright 2025