SlideShare a Scribd company logo
Liferay Portugal Users Group - Meetup #8
Portal 7.3 + NodeJS portlets
Fernando Fernandez
Co-organizador LPUG
Construindo uma comunidade mais forte
2
Portal 7.3 CE GA1
(slides gentilmente fornecidos por David Gómez & Pablo Agulla)
The AppBuilder
Build applications visually
Based on the Data Engine
The AppBuilder - Steps
1. Define one or more Form Views
2. Define one or more Table Views
3. Create the app
4. Deploy
- Widget
- Standalone
- Add to product Menu
The deployed App
The deployed App
The deployed App
The deployed App
The deployed App
The deployed App
The deployed App
The deployed App
Master Pages
Facilitates visual consistency
across all pages.
Define common areas (headers &
footers)
- Formerly only possible with theme
development
- Providing guide rails per use case
Master Pages
A type of Page Template
(Managed within Site Builder)
Limitation:
Can’t be applied to widget Pages
(on a future release)
Easier edits on fragment based pages
●
For content authors, it is very handy to be able to quickly access the
edition of a given content as they are seeing it on a page.
●
The alternative is to go to the content administration application
and look for the specific content, which may take time and always
leaves some uncertainty as to whether it's really the right content.
●
This new feature allows users with permission to edit any content
displayed to enter a “Content Edition mode” in order to make
changes to the inline content (requires specific new permission) or
to access the edit form for reusable content.
New Fragment for individual content
Allows displaying individual content on a page
Several templates available
Supported
- Web Content
- Blog Entries
- Documents
Extensions can be developed to support other entities
Tree view for the site’s pages is back!
Reintroduced as complement
to Miller Columns
Evolution of Page Navigator
from 7.2
Provides Page Search
Automated deployment of fragments
1. Create a zip File with fragments using Fragments Toolkit
2. Put zip file on deploy folder
Can specify availability for certain virtual instances or sites.
Automatic deploy on startup.
Widget Pages to Content Pages (single)
Widget Pages to Content Pages (bulk)
Open Graph Support
Make your content more appealing
for sharing (Facebook, Twitter,
Linkedin…)
Allows to customize the messaging
for social platforms
Provides real time preview
Other improvements
Performance improved on fragment based pages
Dynamic Content Sets can be based on Search Keywords
Frontend changes
UI migration to React has started
Added new Utilities
- ReactRenderer
low level Java Primitive to render React
components
- react:component
High level JSP tag to be used within MVCPortlet
E ainda...
●
Search Engine Results Page (SERP) support
(https://www.portent.com/serp-preview-tool)
●
Soy components migrated to React under general move to
React Components
●
User segmentation by country or region, organization tags,
user tags & age, request parameter, hostname; segments reuse
●
Multiple hostnames per site
●
Accounts + Account Users
Now, your turn!
$ docker run -it -p 8080:8080 liferay/portal:7.3.0-ga1
Download
https://www.liferay.com/downloads-community
Javascript Portlets com NodeJS
“It’s a javascript world, and I don’t want to tell
Javascript developers ‘relearn the trade to work on Liferay’.”
Brian Chan @ Liferay DevCon 2018 Keynote (31’41’’)
React, Angular, Vue, NodeJS?
“React is the most popular javascript framework in the
market today and for good reasons. (...) If you don’t have
a horse in the race, we recommend trying React as your
first choice if you would like a JavaScript framework.
(…) Liferay has invested several years into Soy believing
it was the holy grail. (…) We’ve moved on and
recommend you learn from our mistakes and stay away.”
David Truong – Liferay Blogs – The State of Frontend Infrastructure
Como começar um projecto de Portlet React
●
Instalar um bundle Liferay
●
Fazer download do nodeJS
●
Instalar ferramentas Liferay JS
– npm install -g yeoman
– npm install -g generator-liferay-js
Gerar o portlet React base
Instalação do portlet
Adaptar o portlet (ex: mostrar userName)
Portlet instalado numa página
Ficheiro src/AppComponent.js adaptado
para invocar serviços Liferay
(ver http://localhost:8080/api/jsonws)
Your turn!
https://nodejs.org/en/download/
Meetup: https://www.meetup.com/Liferay-Portugal-User-Group/
Linkedin: https://www.linkedin.com/groups/12125960/
Youtube: https://www.youtube.com/channel/UCOJiHlf2FNDpdV_zifzqXnA
Construindo uma comunidade mais forte

More Related Content

DOCX
ProjectsSummary
PDF
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
PPTX
Building Framework Agnostic UI with Web Components
PPTX
Y! Open Hack 2013 (London)
PDF
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko Purnomo
ODP
Joomla multi effect modal box
PDF
Micro frontends
ProjectsSummary
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
Building Framework Agnostic UI with Web Components
Y! Open Hack 2013 (London)
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko Purnomo
Joomla multi effect modal box
Micro frontends

What's hot (20)

PPTX
Pragmatic approach to build native apps - hybrid way
PDF
Introducing Mobile Cross Promotion Framework
PPTX
React intro
PDF
Smash your Android App into Fragments
PPTX
Google Slide
PPT
Js frameworks
PPTX
Анатолій Поляков — Subdomains everywhere
PDF
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif Faizin
PPTX
Background info on git / github
PPTX
Angular,react,vue
PPTX
Simple ReactJS Presentation by tolu komolafe
PDF
ReactJS vs React Native
PDF
Standing up for the content creators: Site building and theming for the admin...
PDF
JavaCro'15 - Creating Android Apps that Use Liferay - Igor Bešlić
PPT
Joomla! 2,5 ACL- A use case
PPTX
ReactJS vs Vue.js — What to choose in 2019?
PDF
Vue.js - An Introduction
PDF
jQuery #OpenExpoDay 2014
PPTX
10 Mobile Application Framework Must Know to Launch New App
PDF
How to Design in React
Pragmatic approach to build native apps - hybrid way
Introducing Mobile Cross Promotion Framework
React intro
Smash your Android App into Fragments
Google Slide
Js frameworks
Анатолій Поляков — Subdomains everywhere
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif Faizin
Background info on git / github
Angular,react,vue
Simple ReactJS Presentation by tolu komolafe
ReactJS vs React Native
Standing up for the content creators: Site building and theming for the admin...
JavaCro'15 - Creating Android Apps that Use Liferay - Igor Bešlić
Joomla! 2,5 ACL- A use case
ReactJS vs Vue.js — What to choose in 2019?
Vue.js - An Introduction
jQuery #OpenExpoDay 2014
10 Mobile Application Framework Must Know to Launch New App
How to Design in React
Ad

Similar to Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04 (20)

PDF
Ignore the DOM
PDF
Forget Liferay. Use Liferay, Instead - DEVCON 2023.pdf
PPTX
Future of web development
PDF
Future of Web Development
PDF
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
PDF
LPUG #11 portal 7.3 'final' - 2020-12-09
PDF
Pwa, separating the features from the solutions
PPTX
Mobile gotcha
PDF
A year with progressive web apps! #DevConMU
PDF
Liferay 6.1 Roadmap - What's next!
PDF
New trends on web platform
PPTX
Progressive Web App
KEY
20120306 dublin js
PPTX
Progressive Web Apps and React
PDF
Next.js with drupal, the good parts
PPTX
Final presentation aldy ian - pwa
PPTX
20190826 ianjoseph_FinalPresentation
KEY
20120802 timisoara
PDF
Pivorak.javascript.global domination
Ignore the DOM
Forget Liferay. Use Liferay, Instead - DEVCON 2023.pdf
Future of web development
Future of Web Development
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
LPUG #11 portal 7.3 'final' - 2020-12-09
Pwa, separating the features from the solutions
Mobile gotcha
A year with progressive web apps! #DevConMU
Liferay 6.1 Roadmap - What's next!
New trends on web platform
Progressive Web App
20120306 dublin js
Progressive Web Apps and React
Next.js with drupal, the good parts
Final presentation aldy ian - pwa
20190826 ianjoseph_FinalPresentation
20120802 timisoara
Pivorak.javascript.global domination
Ad

More from Fernando Fernández (20)

PDF
LPUG #19 - Agenda e Community Updates - 2023-03-29.pdf
PDF
LPUG #18 - Agenda e Community Updates - 2023-01-18.pdf
PDF
LPUG #17 - Agenda e Community Updates - 2022-09-28
PDF
LPUG #17 - Esqueçam o Liferay, usem antes Liferay - 2022-09-28.pdf
PDF
LPUG #16 - Collection Providers - 2022-06-15.pdf
PDF
LPUG #16 - Agenda e Community Updates - 2022-06-15.pdf
PDF
LPUG Meetup #15 - Reinvenção do Liferay
PDF
LPUG - Meetup #15 - Agenda e Community Updates - 2021-03-02
PDF
LPUG Meetup #14 Agenda e Community Updates - 2021-09-22
PDF
LPUG Meetup #13 - Compartilhando bibliotecas JS entre Angular e React no Life...
PDF
LPUG Meetup #13 - Novidades Liferay 7.4 CE - 2021-06-30
PDF
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
PPTX
Entrega eficiente de conteúdos em sites complexos
PDF
LPUG Meetup #12 - Vitórias Rápidas com Liferay 7.3
PDF
LPUG Meetup #12 - Agenda e Community Updates
PDF
LPUG Meetup #12 - Destaques DEVCON
PDF
LPUG #11 agenda e community updates - 2020-12-09
PDF
LPUG #10 agenda e community updates - 2020-09-16
PDF
LPUG Meetup #9 - Agenda e Community Updates - 2020-06-30
PDF
Liferay UG Meetup #8 - Community updates - 2020-03-04
LPUG #19 - Agenda e Community Updates - 2023-03-29.pdf
LPUG #18 - Agenda e Community Updates - 2023-01-18.pdf
LPUG #17 - Agenda e Community Updates - 2022-09-28
LPUG #17 - Esqueçam o Liferay, usem antes Liferay - 2022-09-28.pdf
LPUG #16 - Collection Providers - 2022-06-15.pdf
LPUG #16 - Agenda e Community Updates - 2022-06-15.pdf
LPUG Meetup #15 - Reinvenção do Liferay
LPUG - Meetup #15 - Agenda e Community Updates - 2021-03-02
LPUG Meetup #14 Agenda e Community Updates - 2021-09-22
LPUG Meetup #13 - Compartilhando bibliotecas JS entre Angular e React no Life...
LPUG Meetup #13 - Novidades Liferay 7.4 CE - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
Entrega eficiente de conteúdos em sites complexos
LPUG Meetup #12 - Vitórias Rápidas com Liferay 7.3
LPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Destaques DEVCON
LPUG #11 agenda e community updates - 2020-12-09
LPUG #10 agenda e community updates - 2020-09-16
LPUG Meetup #9 - Agenda e Community Updates - 2020-06-30
Liferay UG Meetup #8 - Community updates - 2020-03-04

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Electronic commerce courselecture one. Pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MIND Revenue Release Quarter 2 2025 Press Release
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Mobile App Security Testing_ A Comprehensive Guide.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Spectroscopy.pptx food analysis technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04

  • 1. Liferay Portugal Users Group - Meetup #8 Portal 7.3 + NodeJS portlets Fernando Fernandez Co-organizador LPUG Construindo uma comunidade mais forte
  • 2. 2 Portal 7.3 CE GA1 (slides gentilmente fornecidos por David Gómez & Pablo Agulla)
  • 3. The AppBuilder Build applications visually Based on the Data Engine
  • 4. The AppBuilder - Steps 1. Define one or more Form Views 2. Define one or more Table Views 3. Create the app 4. Deploy - Widget - Standalone - Add to product Menu
  • 13. Master Pages Facilitates visual consistency across all pages. Define common areas (headers & footers) - Formerly only possible with theme development - Providing guide rails per use case
  • 14. Master Pages A type of Page Template (Managed within Site Builder) Limitation: Can’t be applied to widget Pages (on a future release)
  • 15. Easier edits on fragment based pages ● For content authors, it is very handy to be able to quickly access the edition of a given content as they are seeing it on a page. ● The alternative is to go to the content administration application and look for the specific content, which may take time and always leaves some uncertainty as to whether it's really the right content. ● This new feature allows users with permission to edit any content displayed to enter a “Content Edition mode” in order to make changes to the inline content (requires specific new permission) or to access the edit form for reusable content.
  • 16. New Fragment for individual content Allows displaying individual content on a page Several templates available Supported - Web Content - Blog Entries - Documents Extensions can be developed to support other entities
  • 17. Tree view for the site’s pages is back! Reintroduced as complement to Miller Columns Evolution of Page Navigator from 7.2 Provides Page Search
  • 18. Automated deployment of fragments 1. Create a zip File with fragments using Fragments Toolkit 2. Put zip file on deploy folder Can specify availability for certain virtual instances or sites. Automatic deploy on startup.
  • 19. Widget Pages to Content Pages (single)
  • 20. Widget Pages to Content Pages (bulk)
  • 21. Open Graph Support Make your content more appealing for sharing (Facebook, Twitter, Linkedin…) Allows to customize the messaging for social platforms Provides real time preview
  • 22. Other improvements Performance improved on fragment based pages Dynamic Content Sets can be based on Search Keywords
  • 23. Frontend changes UI migration to React has started Added new Utilities - ReactRenderer low level Java Primitive to render React components - react:component High level JSP tag to be used within MVCPortlet
  • 24. E ainda... ● Search Engine Results Page (SERP) support (https://www.portent.com/serp-preview-tool) ● Soy components migrated to React under general move to React Components ● User segmentation by country or region, organization tags, user tags & age, request parameter, hostname; segments reuse ● Multiple hostnames per site ● Accounts + Account Users
  • 25. Now, your turn! $ docker run -it -p 8080:8080 liferay/portal:7.3.0-ga1
  • 27. Javascript Portlets com NodeJS “It’s a javascript world, and I don’t want to tell Javascript developers ‘relearn the trade to work on Liferay’.” Brian Chan @ Liferay DevCon 2018 Keynote (31’41’’)
  • 28. React, Angular, Vue, NodeJS? “React is the most popular javascript framework in the market today and for good reasons. (...) If you don’t have a horse in the race, we recommend trying React as your first choice if you would like a JavaScript framework. (…) Liferay has invested several years into Soy believing it was the holy grail. (…) We’ve moved on and recommend you learn from our mistakes and stay away.” David Truong – Liferay Blogs – The State of Frontend Infrastructure
  • 29. Como começar um projecto de Portlet React ● Instalar um bundle Liferay ● Fazer download do nodeJS ● Instalar ferramentas Liferay JS – npm install -g yeoman – npm install -g generator-liferay-js
  • 30. Gerar o portlet React base
  • 32. Adaptar o portlet (ex: mostrar userName) Portlet instalado numa página Ficheiro src/AppComponent.js adaptado para invocar serviços Liferay (ver http://localhost:8080/api/jsonws)
  • 34. Meetup: https://www.meetup.com/Liferay-Portugal-User-Group/ Linkedin: https://www.linkedin.com/groups/12125960/ Youtube: https://www.youtube.com/channel/UCOJiHlf2FNDpdV_zifzqXnA Construindo uma comunidade mais forte