=liferay overview - intalio conf
TRANSCRIPT
-
8/8/2019 =Liferay Overview - Intalio Conf
1/52
Liferay PortalOverview
Presenter: Joseph Shum
-
8/8/2019 =Liferay Overview - Intalio Conf
2/52
Liferay Portal is the world's leading open source
enterprise portal solution using the latest inJava and Web 2.0 technologies.
-
8/8/2019 =Liferay Overview - Intalio Conf
3/52
Thought Leadership and Innovation
Created in 2000 and open sourced in 2002 First portal to introduce Web OS First portal to deploy AJAX enabled user interfaces Members of the JSR 286 (Portlet Specification) & JSR 314 (Java
ServerFaces Specifications) Committees
Active Community
-
8/8/2019 =Liferay Overview - Intalio Conf
4/52
Thought Leadership and Innovation
Ready to go
Built in Content Management System(CMS)andCollaboration Suite
Out-of-the-box usablilitychoose fromover 60 portlets and over 20 themes
Out-of-the-box development tools Out-of-the-box support for22
languages
Runs on all major application servers,databases and operating systems(over 700 deployment configurations)
Business-friendly MIT License
Liferay Portalis the world's leading open source enterprise portal solution using the latest in Java
and Web 2.0 technologies.
-
8/8/2019 =Liferay Overview - Intalio Conf
5/52
Easy to use
Award-winning AJAX-enabled userinterface (e.g. Web OS)
Community-centric services for easycreation of extranets, intranets, and
social networks
Familiar desktop UI and conventions Delegable granular security and role
based authorizations
Liferay Portalis the world's leading open source enterprise portal solution using the latest in Java
and Web 2.0 technologies.
Thought Leadership and Innovation
-
8/8/2019 =Liferay Overview - Intalio Conf
6/52
Thought Leadership and Innovation
Technically sound
Service Oriented Architecture(SOA) with web services support
LDAP support and integration Portal as a Platform services for
rapid portal development anddeployment
Secure enterprise applicationintegration framework
Ready integration:
Liferay Portalis the world's leading open source enterprise portal solution using the latest in Java
and Web 2.0 technologies.
PentahoIntalio
TerracottaICEfaces
jQuery
Business IntelligenceBusiness Process Management
Scalability and high availabilityRich Internet applicationsDynamic user experiences
Standards Compliant: JSR-286, JSR-170, JBI, WSRP
-
8/8/2019 =Liferay Overview - Intalio Conf
7/52
Thought Leadership and Innovation
-
8/8/2019 =Liferay Overview - Intalio Conf
8/52
Thought Leadership and Innovation
Active Community
Over1 Million downloads & over60,000 downloads per month Over 5800 registered community participants Over 50 active community contributors
Growing, Profitable Company
-
8/8/2019 =Liferay Overview - Intalio Conf
9/52
Active Community
Over 1 Million downloads and over60,000 downloads per month
66% of downloads LiferayPortal
33% of downloads Liferay IDE& Plug-ins
1.3 million total downloads todate
Over 5800 registered communitymembers
Over 50 active volunteer contributors
Liferay Portal is the most widely
downloaded, Open Source Portal in the
world.
-
8/8/2019 =Liferay Overview - Intalio Conf
10/52
Application Servers
Databases
Operating Systems
Liferay Portal supports ALL major app servers, databases, and operating systems, with over 700
deployment configurations.
Technologies Used Apache ServiceMix, Ehcache, Hibernate, Java J2EE/JEE, jBPM, jQuery, ICEfaces JavaScriptFramework, Lucene, MuleSource ESB, PHP, Ruby, Seam, Spring Framework & AOP, Struts &Tiles, Tapestry, Velocity
Standards JSR-286, JSR-127, JSR-170Seats on the JSR-286 (Portlet 2.0) and JSF-314 (JSF 2.0) committees
AJAX, iCalendar & Microformats, WebDAV OpenSearch, Open platform with support for web services including: JSON, Hessian, Burlap,REST, RMI, WSRP
Languages Liferay Portal supports I18N for any language, out-of-the-box, and ships with default translations for22 languages. Additional languages can be added very easily.
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 Collaboration Suite Content Management System Developer Tools
Product Detail
-
8/8/2019 =Liferay Overview - Intalio Conf
11/52
-
8/8/2019 =Liferay Overview - Intalio Conf
12/52
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
-
8/8/2019 =Liferay Overview - Intalio Conf
13/52
Overview for Intalio Conference
What is Liferay Portal?
Liferay Portal is the world's leading open source enterprise portalsolution using the latest in Java and Web 2.0 technologies.
Runs on all major application servers & servlet containers,databases, and operating systems with over 700 deploymentcombinations
JSR 168 and JSR 286 compliant Out-of-the-box usability with over 60 portlets pre-bundled Built-in Content Management System (CMS) Built-in Collaboration suite Personalized pages for all users
-
8/8/2019 =Liferay Overview - Intalio Conf
14/52
Overview for Intalio Conference
What is Liferay Portal?
Hot-Deployable Theme/Portlet Architecture with OnlineSoftware Catalog
Freeform / WebOS layout Just-in-time Portlet rendering Fine-grained permissions system
-
8/8/2019 =Liferay Overview - Intalio Conf
15/52
Overview for Intalio Conference
What are JSR 168 and JSR 286?
JSR 168 and JSR 286 are Portlet Specifications They were created out of a need to have a specification for displaying
multiple applications on the same page.
The specs define the lifecycle of a portlet as well as itscharacteristics/look and feel.
They standardize the way portlets are developed.
-
8/8/2019 =Liferay Overview - Intalio Conf
16/52
Overview for Intalio Conference
User Management Permissions
Liferay Portal Membership
Roles
Pages Community RolesCommunities
Pages Organizational RolesOrganizations
User Groups
Users
-
8/8/2019 =Liferay Overview - Intalio Conf
17/52
-
8/8/2019 =Liferay Overview - Intalio Conf
18/52
Overview for Intalio Conference
Custom Templates and Layouts
-
8/8/2019 =Liferay Overview - Intalio Conf
19/52
Overview for Intalio Conference
What is a portlet?
A portlet is a web component that processes requests and generatesdynamic content.
The content generated by a portlet is also called a fragment (e.g.HTML, XHTML, WML) and can be aggregated with other fragments toform a complete document.
-
8/8/2019 =Liferay Overview - Intalio Conf
20/52
Overview for Intalio Conference
What is a portlet?
Portlets as fragments of an HTML page:
-
8/8/2019 =Liferay Overview - Intalio Conf
21/52
Overview for Intalio Conference
Portlet Lifecycle
Portlets are different from servlets in that they have a 2 phasecommit.
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 thepage.
-
8/8/2019 =Liferay Overview - Intalio Conf
22/52
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
-
8/8/2019 =Liferay Overview - Intalio Conf
23/52
-
8/8/2019 =Liferay Overview - Intalio Conf
24/52
Overview for Intalio Conference
Liferay Implementation
Portal RequestLifecycle (1)PortalRequestProcessor
Portlet RequestLifecycle (x)PortletRequestProcessor
These extend TilesRequestProcessor in Struts!
-
8/8/2019 =Liferay Overview - Intalio Conf
25/52
Overview for Intalio Conference
Portlet Characteristics
Portlets have additional characteristics that make them differentfrom Servlets
Portlet Modes Window States Portlet Preferences
-
8/8/2019 =Liferay Overview - Intalio Conf
26/52
Overview for Intalio Conference
Portlet Modes
Each portlet has a current mode, which indicates the functionthe portlet is performing.
All JSR 168 compliant portals should support the View, Edit andHelp modes.
-
8/8/2019 =Liferay Overview - Intalio Conf
27/52
Overview for Intalio Conference
Window States
Window states indicate the amount of portal page space thatwill be assigned to a portlet.
All spec compliant portals should support the minimized,maximized and normal window states.
-
8/8/2019 =Liferay Overview - Intalio Conf
28/52
Overview for Intalio Conference
Portlet Preferences
Portlets can be configured to provide a custom view or behaviorfor different users.
For example, a weather portlet can show the temperature inChicago for one user and the temperature in LA for anotheruser.
These configurations are represented as a persistent set ofname-value pairs and are referred to as portlet preferences.
-
8/8/2019 =Liferay Overview - Intalio Conf
29/52
-
8/8/2019 =Liferay Overview - Intalio Conf
30/52
Overview for Intalio Conference
Portlet Development Plugins
Types: Portlets, Themes, Layout Templates Developed as independent software components Distributed and deployed as WAR files Can be organized in plugin repositories Liferay provides the Plugins SDK to help with development of
plugins.
-
8/8/2019 =Liferay Overview - Intalio Conf
31/52
Overview for Intalio Conference
Portlet Development Extension
Allows management of: Configuration files Custom source code Custom JSPs Modified JSPs
Provides different sublevels of extensibility
-
8/8/2019 =Liferay Overview - Intalio Conf
32/52
Overview for Intalio Conference
Portlet Development Extension
Allows management of: Configuration files Custom source code Custom JSPs Modified JSPs
Provides different sublevels of extensibility
-
8/8/2019 =Liferay Overview - Intalio Conf
33/52
Overview for Intalio Conference
Portlet Development Extension
portal(-ext).properties Main configuration options: deployment, themes, hibernate,
cache, instance settings, users, groups, language, session, auth,
integration, events, ...
system(-ext).properties Convenient way to provide and extend the Java System
properties used by Liferay
The extension points or hooks allow creating custom classes for themost common extensibility needs
Configurable through portal.properties Examples: Authentication chain, Upgrade and verification processes,
Deployment processes, Database access and caching, User fieldsgeneration and validation, session events, permissions, modellisteners, ext-spring.xml.
-
8/8/2019 =Liferay Overview - Intalio Conf
34/52
Overview for Intalio Conference
Portlet Development Source
Liferay Portal is distributed with Source Code under the businessfriendly MIT license.
Recommended method: Sponsored Development Alternative: Develop for project and contribute back
-
8/8/2019 =Liferay Overview - Intalio Conf
35/52
-
8/8/2019 =Liferay Overview - Intalio Conf
36/52
Overview for Intalio Conference
Plugins
The Plugins SDK is a simple environment for thedevelopment of Liferay plugins.
Portlet, theme and layout development usedportlets, themes and layouts.
-
8/8/2019 =Liferay Overview - Intalio Conf
37/52
Overview for Intalio Conference
Plugins
The
-
8/8/2019 =Liferay Overview - Intalio Conf
38/52
Overview for Intalio Conference
Plugins
The
-
8/8/2019 =Liferay Overview - Intalio Conf
39/52
Overview for Intalio Conference
Plugins
The
-
8/8/2019 =Liferay Overview - Intalio Conf
40/52
Overview for Intalio Conference
Plugins
Portlets can make use of any application framework thatLiferay supports
Struts JSF Spring Tapestry Flex
-
8/8/2019 =Liferay Overview - Intalio Conf
41/52
Overview for Intalio Conference
Plugins
Portlets can make use
Flex
-
8/8/2019 =Liferay Overview - Intalio Conf
42/52
Overview for Intalio Conference
Extension
The Extension Environment allows for complete customization ofLiferay.
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.
-
8/8/2019 =Liferay Overview - Intalio Conf
43/52
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 donot need to be contributed back to the Liferay project.
-
8/8/2019 =Liferay Overview - Intalio Conf
44/52
Overview for Intalio Conference
Extension
-
8/8/2019 =Liferay Overview - Intalio Conf
45/52
-
8/8/2019 =Liferay Overview - Intalio Conf
46/52
Overview for Intalio Conference
Extension
The Extension Environment allows for complete
-
8/8/2019 =Liferay Overview - Intalio Conf
47/52
Overview for Intalio Conference
Extension
-
8/8/2019 =Liferay Overview - Intalio Conf
48/52
Overview for Intalio Conference
Extension
-
8/8/2019 =Liferay Overview - Intalio Conf
49/52
-
8/8/2019 =Liferay Overview - Intalio Conf
50/52
Overview for Intalio Conference
Portal Integration Points
Filters
-
8/8/2019 =Liferay Overview - Intalio Conf
51/52
Overview for Intalio Conference
Portal Architecture
-
8/8/2019 =Liferay Overview - Intalio Conf
52/52