Liferay Platform 
A new and exciting vision 
Jorge Ferrer 
Vice President Engineering
Liferay's goal is not be 
well positioned but to 
add value?
How can a portal 
platform provide the 
most value today? 
And in the future?
A year of great innovation for Liferay
Three trends for 
a new vision
Image Credit & Copyright: Brandon Goforth 
1Mobile development 
has been a hurricane 
of innovation
When was the 
last time 
you did this? 
By tuttletree @flickr
How are these apps 
By pedromourapinheiro @flickr 
being built?
Image credits: myshadesofgray.wordpress.com
How about the 
backend?
Hmm, anyone 
knows Java? 
Ruby on Rails? 
Django?
Don't let the backend be 
an after thought!
Developing the backend of 
a mobile App 
from scratch is rarely a 
good option
Do you really want to 
implement user 
management once again?
How about... 
? 
File storage 
Localized content 
Social Meta-Data 
Search 
Relationships 
Authentication 
Workflow 
Comments 
Tagging 
Categorization
Liferay offers many 
reusable services for 
building Apps 
μ μ 
μ μ 
Reusable Services 
Identity 
User Management 
Permissions 
Content Management 
Document Management 
Dynamic Forms 
...
Some of you are already doing this 
Forums App Blog reader Blogs, Agenda, Content
But it requires knowing Liferay 
really well... 
Right?
Liferay Screens 
Create Native Apps 
backed by Liferay in a 
fraction of the time 
Screen UI 
Screen Local
How long does it take 
to build an App? 
(Including the backend)
How about 1 minute?
Characteristics 
✓Fully functional 
Screenlets backed by a 
Liferay server 
✓100% themable 
✓Compatible with iOS/ 
Android SDKs 
✓Open Source 
Juan 
JM
That's much better. Just for Mobile Phones? 
#LRNAS2014
By nepaltibet2005 @flickr
Image credits: control4.com 
Will be a $300 billion market by 2020
#LRNAS2014 
Perfect! 
Bruno
The Web is a better 
platform than ever 
before 
2
Much better browsers.... 
... for desktop & mobile
The JavaScript revolution 
New Standards, Frameworks and techniques 
SPA
New frontend development workflow 
Multi-browser test automation 
Resource Optimization 
Fast dev environment (watch) 
Zeno
How can we leverage this 
within Liferay?
Think beyond Portlets...
Portlets are great.... as widgets 
Site Admin 
✓ I can add portlets 
whenever I want 
Frontend Developer 
x So many limitations
Full Page Apps within a Liferay Site 
I own the 
page! 
I'm free!
Standalone Apps backed by Liferay
Independent Web Apps leveraging Liferay 
Angular JS Application 
Intranet for persons with disabilities
Supporting Standalone Apps 
Liferay Core JS 
Remote APIs 
HTTP 2.0 
Web Sockets 
Reusable services 
SSO • Theming • Permissions 
Local 
APIs 
Native mobile OS UI 
Mobile Device 
Wearable, IoT 
Native App 
Mobile SDK Client 
Eduardo
And developers got all the freedom 
back :)
To use any frontend tool 
v4 to be based on jQuery 
Web 
Components
"Real Time" Applications 
Server Push & Async Requests 
Updates 
+ Servlet 3.1 
Igor Iliyan
These new ways of 
leveraging Liferay 
demand an even 
better platform
Fine grained 
Modularity and 
Extensibility 
Author: Mike Richard / Source: vagabondish.com 
3
Goal 1 
Use just the pieces of 
Liferay you really need
Maintainable & Scalable 
Breaking down 
the monolith 
Author: Mike Richard / Source: vagabondish.com
Modular Platform 
Breaking the platform and reusable services into 
OSGi modules yields many benefits 
F Only deploy needed modules. 
B Uses standard OSGi extension points. 
New! 
A Dependencies are declared. 
Scale indiv. C modules separately. 
D True hot deployment. 
Blogs 
μ μ 
μ μ E μservices
Dependency Management 
MANIFEST 
Import-Package: 
com.liferay.polls, 
com.liferay.blogs, 
com.liferay.users 
Export-Package: 
com.liferay.messageboards 
Can be autogenerated with bnd 
Fixes the class loading hell in a very elegant way 
Miguel 
Ray
Goal 2 
Extensibility built to last
OSGi Extensions 
Instead of 
auto.login.hooks=com.liferay.samples.MyAutoLogin 
Use an annotation 
@Component 
public class MyAutoLogin implements AutoLogin { 
... 
} 
Using OSGi Declarative Services
Make any custom class 
extensible 
@Component 
public class MyMenuClass { 
... 
@Reference 
public void setMenuRenderer(MenuRenderer mr) { 
_menuRenderer = mr; 
} 
} 
Using OSGi Declarative Services
Make any custom class 
extensible 
@Component 
public class MyMenuClass { 
... 
@Reference( 
cardinality = ReferenceCardinality.MULTIPLE, 
policy = ReferencePolicy.DYNAMIC, 
... 
) 
public void addMenuItem(MenuItem mi) { 
_menuItems.add(mi); 
} 
} 
Using OSGi Declarative Services
@Component 
public class MyMenuItem implements MenuItem { 
... 
} 
Make any custom class 
extensible
Audience Targeting 
A great example 
1 App 
made of 
30+ 
modules 
Highly 
Extensible 
Julio Eduardo Eudaldo
Better ways to develop 
UI Extensions 
Granularity + Maintainability 
No more need for 
JSP overrides! 
Carlos
Big focus on APIs and 
efficient protocols
Semantic Versioning 
Version each module independently 
Standard to differentiate breaking 
changes 
Automatic compatibility checks 
semver.org 
✓Dependencies on 
specific modules and 
versions, not a big 
Liferay version
Goal 3 
Work less, do more
Autogenerated conf UI 
Strongly Typed 
You can even define custom 
types
Autogenerated conf UI
Autogenerated conf UI 
1. Injected in your service 
@Activate 
protected void activate(AmazonRankingsConfiguration conf) { 
String rankingsId = conf.amazonRankingsId(); 
... 
} 
2. Fully dynamic 
Change the configuration at any time 
Draft API 
Ray
State of the art dev tooling 
Embrace and contribute to best of breed applications 
instead of building our own 
+
It's a exciting time to be a 
Liferay Developer
You can reuse your 
knowledge to do 
more than ever before
Mobile Apps/IoT 
Native, Hybrid, Web, ... 
Amazing sites & portals 
Which keep getting better 
Innovative Web Apps 
With any technology 
Liferay Platform 
More modular and extensible
The Liferay Way 
Open Source 
Following Standards 
Using state-of-the-art tools
Don't stand still while so 
many new things are 
happening
Get involved early 
Develop Apps with Screens 
Use the new dev tools 
Try out the Liferay 7 milestones
Look for these guys! 
Zeno Bruno Miguel Carlos 
Eduardo 
Ray JM Juan 
Julio Eduardo Eudaldo
Enjoy 
Thanks! 
@jorgeferrer
Don't forget to vote!

Liferay DevCon 2014: Lliferay Platform - A new and exciting vision