going mobile with liferay 6.0
TRANSCRIPT
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Liferay features that increase ROI & flexibility
Going mobile with Liferay 6Pay once, deploy limitless
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Liferay and its part in the mobile revolution
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Why focus on mobile?In 2010, almost 1 billion people accessed the internet with a mobile device
In 2013, this number is expected to jump to 1.5 billion
At that point it will surpass the desktop as theno. 1 internet accessing device!
0
0,5
1
1,5
2
2007 2009 2011 2013 2015
Source: http://tag.microsoft.com/community/blog/t/The_Growth_of_Mobile_Marketing_and_Tagging.aspx
Mobile Desktop
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Why is adaption to mobile devices needed?It is not obligatory...
I didn’t mean to tap THAT link...
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Why not just leave your website as it is?Mobile users don’t like to pan and to zoom
All content should be directly accessible at page load
Ahh... Much better!
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Why not just leave your website as it is?Mobile internet is available, but not yet very fast
Edge / 3G coverage in Belgium at this point:
Base: 3G coverage very limited Proximus: country-wide 3G coverageMobistar: especially Flanders has good 3G coverage
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Mobile bandwidthEdge: +/- 150 kpbs: a banner of 100 kB takes 5.3 seconds to load
3G: +/- 600 kbps: the same banner still takes 1.3 seconds to load
Compare with cheapest Belgacom ADSL subscription: +/- 3 Mbps: banner is downloaded in a wink (0.25 seconds)
ConclusionMobile surfers want a different experience than desktop surfers.
Only the minimal set of resources should be downloaded by the mobile surfer.
0
750
1500
2250
3000
Edge 3G Cheap ADSL
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Different strategies for enabling the mobile channelDevelop a native application
Make several versions of your website, one for each device you want to support
Make one version that’s smart enough to differentiate between devices
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 1: Developing a native appPro
Use full power of device (geo, multi-touch, camera, ...)
Abstraction of a “browser”
No internet connection required
ContraDifferent platforms means different...
Programming languages
Development tools
App distribution
Not suited for public websites
Apps
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 1: Developing a native app
Liferay’s opinionAlways focused on web technology
No intention to dive into app development
Native apps can communicate to Liferay’s service layerThrough common technologies as REST and JSON
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 2: Develop several versions of the same site
E.g.http://www.twitter.com directs you to the desktop site
http://m.twitter.com directs you to the mobile site
Each site makes use of the same content repository (= Liferay)...... but in a different way
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 2: Develop several versions of the same siteThe same, but different...
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 2: Develop several versions of the same site
What if a user opens http://www.twitter.com on a mobile device...Automatically redirect to http://m.twitter.com?
What’s a mobile device and what’s a desktop device?
This is a desktop device ... This is a mobile device
Redirect to desktop or mobile version?Make an http://ipad.twitter.com??
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 2: Develop several versions of the same site
Liferay’s opinion: this is the current way of workingFor each device, a separate “community” is created with its own theme (= look-and-feel)
Device Recognizer decides to which community a device is redirected to
iPadcommunity
Desktopcommunity
iPhone community
DeviceRecognizer
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 2: Develop several versions of the same sitePro
Liferay as central content repository
Dedicated content to different target audiences
ContraDuplication of pages
Device Recognizer must always be up-to-date AND reliable
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 3: One version with a flexible layout
It’s almost impossible to make a specific version for each deviceToo much work
Device Recognizer must know every possible device
What are you exactly targeting?
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 3: One version with a flexible layout
Responsive designSelect a discrete set of widths (e.g. 320px - 480px - 800px)
Make separate styling for each width intervalLess than 320px
Between 320 and 480px
Between 480 and 800px
Larger than 800px
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Going mobile with Liferay 6
Strategy 3: One version with a flexible layout
ConclusionPro
Works transparently for new devices
Only one version of your site
ContraA pixel is not really a measurement unit
iPhone 4 Dell Streak
Display size
Resolution
PPI
3.5” 5”
960x640 800x480
330 187
5”
3.5”
800 pixels
960 pixels
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Recap & conclusion
Mobile solutions are becoming increasingly important.Several strategies are available.Liferay is prepared, and so is ACA.
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Buy once, deploy limitless - Conclusion
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Multitenancy in Liferay
Or the “pay once, deploy limitlessly” principle
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Multitenancy
Definition
Applied to LiferaySingle instance: Liferay installation on a server
Tenants: subportals, divisions, user communities, ...
Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations (tenants)
- Wikipedia
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Example 1: Intranet + public siteBoth running in 1 single instance
Pay once, deploy limitless - Multitenancy
Public Website
Home user
Employee at the office
IntranetCollaboration Tools
Access to internal applications
Internal news, blogs, ...
Company Information
Public News
Jobs & Careers
...
Employee at home
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Multitenancy
Example 2: Intranet with subsite for each departmentEach subsite has its own set of pages
CompanyMain Portal
HR PortalSales Portal Developer Portal
Discuss Opportunities
Project Dashboard
...
Manage contracts
...
Discuss Technologies
Wiki Documentation
...
Company News
New hires, ...
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Multitenancy
Example 3: Public site with subsites for different audiencesEach subsite has its own set of pages
CompanyMain Portal
Customer PortalEmployee Portal Partner Portal
Company News
Project Dashboard
...
Ticketing System
Support Contracts
Contracts
Public News
Product Information
...
...
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Combined example
Pay once, deploy limitless - Multitenancy
CompanyMain Portal
HR PortalSales Portal Developer Portal
Discuss Opportunities
Project Dashboard
...
Manage contracts
...
Discuss Technologies
Wiki Documentation
...
Company News
New hires, ...
Customer PortalEmployee Portal Partner Portal
Company News
Project Dashboard
...
Ticketing System
Support Contracts
Contracts
...
...
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Second combined example: Multitenancy to the max
Pay once, deploy limitless - Multitenancy
CompanyMain Portal
Company News
New hires, ...
Employee Portal
Company News
Dashboard
...
Customer Portal
Ticketing System
Support
...
Partner Portal
Contracts
...
Sales Portal
Opportunities
Dashboard
...
Developer Portal
Technologies
Wiki
...
HR Portal
Contracts
...
CompanyMain Portal
Company News
New hires, ...
Employee Portal
Company News
Dashboard
...
Customer Portal
Ticketing System
Support
...
Partner Portal
Contracts
...
Sales Portal
Opportunities
Dashboard
...
Developer Portal
Technologies
Wiki
...
HR Portal
Contracts
...
SaaS
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
How is multitenancy supported in Liferay?
Pay once, deploy limitless - Multitenancy
Groups can inherit from each otherEach subgroup can have its own pages
A Liferay installation
consists of instances
Each instance has its own set of groups
Each instance has its own set of users
Each group has its own set of pages
Each user can have its own set of pages
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Multitenancy
Real life Example
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Page and Site Templates
Samsung: multiple subsites, many pagesEach subsite has a similar structure, similar pages
E.g. specs page on Samsung
Problem: Create pages with similar structure and contentYou don’t want to do this manually!
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Page and Site Templates
Samsung: multiple subsites, many pagesEach subsite has a similar structure, similar pages
E.g. specs page on Samsung
Problem: Create pages with similar structure and contentYou don’t want to do this manually!
Problem: Changes to a page for all subsitesPropagate change to every page
You don’t want to do this manually!
Can Liferay help us out?
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Page & Site Templates
Problems of creation and maintenance of pagesPre Liferay 6
Create subsites manually
Create pages manually
Post Liferay 6Page Templates
Site Templates
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Page Templates
Page TemplatesDefine a skeleton upon which new pages can be built Header Portlet
Side Portlet
Header Portlet
Side Portlet
Portlet X
Portlet Y
Header Portlet
Side Portlet
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Site TemplatesDefine a skeleton upon which whole new groups can be built
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Pay once, deploy limitless - Site Templates
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Portlet D
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Portlet B
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Port-let X
Header Portlet
Portlet D
Port-let X
Header Portlet
Portlet D
Port-let X
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Change of pages
Pay once, deploy limitless - Page & Site Templates
Post Liferay 6Create 1 site template with the default set of pages
Create 100 subsites based on the site template
Override pages where needed
Creation of pages
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Pay once, deploy limitless - Page & Site Templates
Problem: what if a page in the site template changes?Pre Liferay 6.1: headache
Update all pages (the changed page in each group)
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Portlet D
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Portlet B
Port-let X
update template
no propagation
propagationHeader Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Port-let X
Post Liferay 6.1: dynamic site templatesAutomatic propagation of site templates to depending groups
Change of pages
You can decide which groups are locked into a template, and which are not
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Buy once, deploy limitless - Conclusion
MultitenancyDefault Liferay functionality
Liferay installation with multiple instances
Multiple groups per instance
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Portlet D
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Portlet B
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Side Portlet
Port-let X
Header Portlet
Port-let X
Page & Site TemplatesBalance the workload of creating and maintaining pages
Who is going to do all this?
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Buy once, deploy limitless - Delegation of control
In a typical company, each branch or department is headed by a managerA manager is responsible for his department and all of its subdepartments
People working in a subdepartment are implicitly also part of the ancestor departments
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Buy once, deploy limitless - Delegation of control
In Liferay we can set up this very same structure using built-in roles
Members of a subgroup can also access the ancestor groups
Each group is headed by an Group AdministratorUser and subgroup management inside the group itself
Manage pages of the group
Each Liferay instance has one Omni Admin, who is in control of everything
Server configurations
Defining new roles and permissions
Creating new company-wide users and groups
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
Buy once, deploy limitless - Questions
© ACA IT-SOLUTIONS DELIVER BETTER SOLUTIONS FASTERWWW.ACA-IT.BE
DELIVER BETTER SOLUTIONS FASTER