SlideShare a Scribd company logo
How to integrate widgets in a content page ? 1
Jahia Meet-Up
How to integrate widgets in a content
page
How to integrate widgets in a content page ? 2
Even if services such as MyYahoo or iGoogle have quietly fallen out
of fashion, our customers still sometimes require, usually in the
context of an Enterprise Extranet application, users to be able to
manage their own personalized page with a catalogue of widgets.
How to integrate widgets in a content
page
How to integrate widgets in a content page ? 3
Conception
1
How to integrate widgets in a content page ? 4
1 Functional Requirement
• Allow logged in users to customize an area selecting widgets
components that they want to display, based on a customized
list of available widgets
• Allow widgets to be used in a classic DX page
• Make it simple to use and create custom widgets
How to integrate widgets in a content page ? 5
1 Functional Requirement
How to integrate widgets in a content page ? 6
1 Functionnal use case
Page
Widget
Area
A user can (in live mode):
- Add widgets
- Remove widgets
- Configure widgets
Page
Main column
Widget
Area
Main column
How to integrate widgets in a content page ? 7
1 Integrating widgets : example of a user
customizing his widget area
How to integrate widgets in a content page ? 8
DEMO
Demo
2
How to integrate widgets in a content page ? 9
Implementation
3
How to integrate widgets in a content page ? 10
3 Definitions 1/2
Create a category mixin for you widget components
[jmix:widgetCategory] > jmix:droppableContent,
jmix:editorialContent mixin
Create a widget mixin
[jmix:widget] > jmix:widgetCategory mixin
How to integrate widgets in a content page ? 11
3 Definitions 2/2
Create a node definition defining a widget Area
[jnt:customWidgetArea] > jnt:content, jmix:widgetCategory
orderable
+ * (jmix:widget)
How to integrate widgets in a content page ? 12
3 Turning a standard component into
a widget
Add the jmix:widget mixin
Examples :
[jnt:historicalChartWidget] > jnt:historicalChart, jmix:widget
[jnt:youtubeFeedWidget] > jnt:youtubeFeed, jmix:widget
[jnt:stockWidget] > jdnt:stockWidget, jmix:widget
How to integrate widgets in a content page ? 13
3 Creating a widget
Add the jmix:widget mixin to your custom widget component
[mynt:myComponentWidget] > mynt:myComponent, jmix:widget
How to integrate widgets in a content page ? 14
3 Creating needed views
On top of adding the jmix:widget mixin to your widget component,
some views can be implemented to have all the available features :
- The edit view
- The full view
Remove a widget
Move a widget
The move and remove icons are
by default available functions
The edit and full view icons
become available
If your widgets has edit and full
views JSP implemented
How to integrate widgets in a content page ? 15
3 Administrating the widgets
A dedicated admin panel becomes available at site level
How to integrate widgets in a content page ? 16
3 Administrating the widgets
Create a site settings template dedicated to widgets administration
How to integrate widgets in a content page ? 17
3 storing user personalization of a
widget area
The widget area configuration
of a user is stored at his
profile level, creating a node
with the uuid of the related
widget area
Config is stored under
/users/{user}/contents/widgets
path (live ws)
How to integrate widgets in a content page ? 18
3 Source code
Download the source code from Github:
https://github.com/Jahia/demo-widgets
How to integrate widgets in a content page ? 19
THE END!
THANKS FOR LISTENING

More Related Content

Similar to Integrate widgets into content pages (DX) - Developers Meetup - October 2016

Widget
WidgetWidget
Widget
guestf3a705
 
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
Faina Fridman
 
Parallelminds.web partdemo
Parallelminds.web partdemoParallelminds.web partdemo
Parallelminds.web partdemo
ManishaChothe
 
(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page
BIOVIA
 
Why NextCMS: Layout Editor
Why NextCMS: Layout EditorWhy NextCMS: Layout Editor
Why NextCMS: Layout Editor
Phuoc Nguyen Huu
 
(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page
(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page
(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page
BIOVIA
 
11039 ncs web_4_orientation
11039 ncs web_4_orientation11039 ncs web_4_orientation
11039 ncs web_4_orientation
Brad Imotichey
 
3_4_widgets_wordpress_for_beginners.pdf
3_4_widgets_wordpress_for_beginners.pdf3_4_widgets_wordpress_for_beginners.pdf
3_4_widgets_wordpress_for_beginners.pdf
NganPham667083
 
Mobile Application Development class 003
Mobile Application Development class 003Mobile Application Development class 003
Mobile Application Development class 003
Dr. Mazin Mohamed alkathiri
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Oro Inc.
 
L8-Basic-Webpage-Creation.pptx
L8-Basic-Webpage-Creation.pptxL8-Basic-Webpage-Creation.pptx
L8-Basic-Webpage-Creation.pptx
JUDITHFRONDA2
 
How to extend IBM Connections Communities and Profiles
How to extend IBM Connections Communities and ProfilesHow to extend IBM Connections Communities and Profiles
How to extend IBM Connections Communities and Profiles
IBM Connections Developers
 
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections CommunitiesIBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connections Developers
 
How to integrate portlet as widget in liferay to any website application
How to integrate portlet as widget in liferay to any website applicationHow to integrate portlet as widget in liferay to any website application
How to integrate portlet as widget in liferay to any website application
Azilen Technologies Pvt. Ltd.
 
Neat Tricks with Content Types
Neat Tricks with Content TypesNeat Tricks with Content Types
Neat Tricks with Content Types
Balance Interactive
 
the_wonderful_world_of_widgets-will_price.ppt
the_wonderful_world_of_widgets-will_price.pptthe_wonderful_world_of_widgets-will_price.ppt
the_wonderful_world_of_widgets-will_price.pptzachbrowne
 
Joget Workflow v4 Training - Module 8 - Designing your first Userview
Joget Workflow v4 Training - Module 8 - Designing your first UserviewJoget Workflow v4 Training - Module 8 - Designing your first Userview
Joget Workflow v4 Training - Module 8 - Designing your first Userview
Joget Workflow
 
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
bmx269
 
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Fernando Fernández
 
Joget Workflow v6 Training Slides - 8 - Designing your First Userview
Joget Workflow v6 Training Slides - 8 - Designing your First UserviewJoget Workflow v6 Training Slides - 8 - Designing your First Userview
Joget Workflow v6 Training Slides - 8 - Designing your First Userview
Joget Workflow
 

Similar to Integrate widgets into content pages (DX) - Developers Meetup - October 2016 (20)

Widget
WidgetWidget
Widget
 
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
230394452 extending-extending-srm-web-dynpro-view srm-web-dynpro-view
 
Parallelminds.web partdemo
Parallelminds.web partdemoParallelminds.web partdemo
Parallelminds.web partdemo
 
(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page
 
Why NextCMS: Layout Editor
Why NextCMS: Layout EditorWhy NextCMS: Layout Editor
Why NextCMS: Layout Editor
 
(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page
(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page
(ATS4-DEV08) Building Widgets for the Symyx Notebook Home Page
 
11039 ncs web_4_orientation
11039 ncs web_4_orientation11039 ncs web_4_orientation
11039 ncs web_4_orientation
 
3_4_widgets_wordpress_for_beginners.pdf
3_4_widgets_wordpress_for_beginners.pdf3_4_widgets_wordpress_for_beginners.pdf
3_4_widgets_wordpress_for_beginners.pdf
 
Mobile Application Development class 003
Mobile Application Development class 003Mobile Application Development class 003
Mobile Application Development class 003
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)
 
L8-Basic-Webpage-Creation.pptx
L8-Basic-Webpage-Creation.pptxL8-Basic-Webpage-Creation.pptx
L8-Basic-Webpage-Creation.pptx
 
How to extend IBM Connections Communities and Profiles
How to extend IBM Connections Communities and ProfilesHow to extend IBM Connections Communities and Profiles
How to extend IBM Connections Communities and Profiles
 
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections CommunitiesIBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
 
How to integrate portlet as widget in liferay to any website application
How to integrate portlet as widget in liferay to any website applicationHow to integrate portlet as widget in liferay to any website application
How to integrate portlet as widget in liferay to any website application
 
Neat Tricks with Content Types
Neat Tricks with Content TypesNeat Tricks with Content Types
Neat Tricks with Content Types
 
the_wonderful_world_of_widgets-will_price.ppt
the_wonderful_world_of_widgets-will_price.pptthe_wonderful_world_of_widgets-will_price.ppt
the_wonderful_world_of_widgets-will_price.ppt
 
Joget Workflow v4 Training - Module 8 - Designing your first Userview
Joget Workflow v4 Training - Module 8 - Designing your first UserviewJoget Workflow v4 Training - Module 8 - Designing your first Userview
Joget Workflow v4 Training - Module 8 - Designing your first Userview
 
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
 
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
 
Joget Workflow v6 Training Slides - 8 - Designing your First Userview
Joget Workflow v6 Training Slides - 8 - Designing your First UserviewJoget Workflow v6 Training Slides - 8 - Designing your First Userview
Joget Workflow v6 Training Slides - 8 - Designing your First Userview
 

More from Jahia Solutions Group

The Road ahead: What we see as the future of digital. By Elie Auvray
The Road ahead: What we see as the future of digital. By Elie AuvrayThe Road ahead: What we see as the future of digital. By Elie Auvray
The Road ahead: What we see as the future of digital. By Elie Auvray
Jahia Solutions Group
 
Monitoring and Data-Driven Decision Making with Daniel Maher
Monitoring and Data-Driven Decision Making with Daniel MaherMonitoring and Data-Driven Decision Making with Daniel Maher
Monitoring and Data-Driven Decision Making with Daniel Maher
Jahia Solutions Group
 
The ultimate search of the perfect customer experience By Brian Solis
The ultimate search of the perfect customer experience By Brian SolisThe ultimate search of the perfect customer experience By Brian Solis
The ultimate search of the perfect customer experience By Brian Solis
Jahia Solutions Group
 
Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...
Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...
Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...
Jahia Solutions Group
 
Data for Dummies by Dan Katz, CDO at Safran
Data for Dummies by Dan Katz, CDO at SafranData for Dummies by Dan Katz, CDO at Safran
Data for Dummies by Dan Katz, CDO at Safran
Jahia Solutions Group
 
Content and commerce: The perfect combo. By Catherine Barba
Content and commerce: The perfect combo. By Catherine BarbaContent and commerce: The perfect combo. By Catherine Barba
Content and commerce: The perfect combo. By Catherine Barba
Jahia Solutions Group
 
The power of great customer experience in today’s world. Olivier Mourrieras &...
The power of great customer experience in today’s world. Olivier Mourrieras &...The power of great customer experience in today’s world. Olivier Mourrieras &...
The power of great customer experience in today’s world. Olivier Mourrieras &...
Jahia Solutions Group
 
Making Digital simpler. Occam’s Razor, Horses, Zebras, and Evolution
Making Digital simpler. Occam’s Razor, Horses, Zebras, and EvolutionMaking Digital simpler. Occam’s Razor, Horses, Zebras, and Evolution
Making Digital simpler. Occam’s Razor, Horses, Zebras, and Evolution
Jahia Solutions Group
 
Elasticsearch powered EDP by Cedric Mailleux
Elasticsearch powered EDP by Cedric MailleuxElasticsearch powered EDP by Cedric Mailleux
Elasticsearch powered EDP by Cedric Mailleux
Jahia Solutions Group
 
Jahia Cloud Offerings by Julian Maurel & Abass Safoutou
Jahia Cloud Offerings by Julian Maurel & Abass SafoutouJahia Cloud Offerings by Julian Maurel & Abass Safoutou
Jahia Cloud Offerings by Julian Maurel & Abass Safoutou
Jahia Solutions Group
 
Learn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge HuberLearn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge Huber
Jahia Solutions Group
 
Making the life of patients easier in the healthcare sector thanks to digital...
Making the life of patients easier in the healthcare sector thanks to digital...Making the life of patients easier in the healthcare sector thanks to digital...
Making the life of patients easier in the healthcare sector thanks to digital...
Jahia Solutions Group
 
Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...
Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...
Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...
Jahia Solutions Group
 
Strategy for content with local and global sites by Romain Gauthier
Strategy for content with local and global sites by Romain GauthierStrategy for content with local and global sites by Romain Gauthier
Strategy for content with local and global sites by Romain Gauthier
Jahia Solutions Group
 
Apache Unomi presentation and update. By Serge Huber, CTO Jahia
Apache Unomi presentation and update. By Serge Huber, CTO JahiaApache Unomi presentation and update. By Serge Huber, CTO Jahia
Apache Unomi presentation and update. By Serge Huber, CTO Jahia
Jahia Solutions Group
 
Personalisation and Headless in a business context by Lars Petersen
Personalisation and Headless in a business context by Lars PetersenPersonalisation and Headless in a business context by Lars Petersen
Personalisation and Headless in a business context by Lars Petersen
Jahia Solutions Group
 
Digital Revolution from Silo to Platform by Gilles Babinet
Digital Revolution from Silo to Platform by Gilles BabinetDigital Revolution from Silo to Platform by Gilles Babinet
Digital Revolution from Silo to Platform by Gilles Babinet
Jahia Solutions Group
 
A customer journey with AI by Xavier Vaccari, Softeam Group
A customer journey with AI by Xavier Vaccari, Softeam GroupA customer journey with AI by Xavier Vaccari, Softeam Group
A customer journey with AI by Xavier Vaccari, Softeam Group
Jahia Solutions Group
 
Using CX to unlock Total Experience by David Balko, Tribal
Using CX to unlock Total Experience by David Balko, TribalUsing CX to unlock Total Experience by David Balko, Tribal
Using CX to unlock Total Experience by David Balko, Tribal
Jahia Solutions Group
 
AI-monitor & Marketing Factory, customer case study by Valerie Voci
AI-monitor & Marketing Factory, customer case study by Valerie VociAI-monitor & Marketing Factory, customer case study by Valerie Voci
AI-monitor & Marketing Factory, customer case study by Valerie Voci
Jahia Solutions Group
 

More from Jahia Solutions Group (20)

The Road ahead: What we see as the future of digital. By Elie Auvray
The Road ahead: What we see as the future of digital. By Elie AuvrayThe Road ahead: What we see as the future of digital. By Elie Auvray
The Road ahead: What we see as the future of digital. By Elie Auvray
 
Monitoring and Data-Driven Decision Making with Daniel Maher
Monitoring and Data-Driven Decision Making with Daniel MaherMonitoring and Data-Driven Decision Making with Daniel Maher
Monitoring and Data-Driven Decision Making with Daniel Maher
 
The ultimate search of the perfect customer experience By Brian Solis
The ultimate search of the perfect customer experience By Brian SolisThe ultimate search of the perfect customer experience By Brian Solis
The ultimate search of the perfect customer experience By Brian Solis
 
Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...
Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...
Docker, Kubernetes, Openshift: Jahia on steroids in production with Julian Ma...
 
Data for Dummies by Dan Katz, CDO at Safran
Data for Dummies by Dan Katz, CDO at SafranData for Dummies by Dan Katz, CDO at Safran
Data for Dummies by Dan Katz, CDO at Safran
 
Content and commerce: The perfect combo. By Catherine Barba
Content and commerce: The perfect combo. By Catherine BarbaContent and commerce: The perfect combo. By Catherine Barba
Content and commerce: The perfect combo. By Catherine Barba
 
The power of great customer experience in today’s world. Olivier Mourrieras &...
The power of great customer experience in today’s world. Olivier Mourrieras &...The power of great customer experience in today’s world. Olivier Mourrieras &...
The power of great customer experience in today’s world. Olivier Mourrieras &...
 
Making Digital simpler. Occam’s Razor, Horses, Zebras, and Evolution
Making Digital simpler. Occam’s Razor, Horses, Zebras, and EvolutionMaking Digital simpler. Occam’s Razor, Horses, Zebras, and Evolution
Making Digital simpler. Occam’s Razor, Horses, Zebras, and Evolution
 
Elasticsearch powered EDP by Cedric Mailleux
Elasticsearch powered EDP by Cedric MailleuxElasticsearch powered EDP by Cedric Mailleux
Elasticsearch powered EDP by Cedric Mailleux
 
Jahia Cloud Offerings by Julian Maurel & Abass Safoutou
Jahia Cloud Offerings by Julian Maurel & Abass SafoutouJahia Cloud Offerings by Julian Maurel & Abass Safoutou
Jahia Cloud Offerings by Julian Maurel & Abass Safoutou
 
Learn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge HuberLearn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge Huber
 
Making the life of patients easier in the healthcare sector thanks to digital...
Making the life of patients easier in the healthcare sector thanks to digital...Making the life of patients easier in the healthcare sector thanks to digital...
Making the life of patients easier in the healthcare sector thanks to digital...
 
Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...
Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...
Impletementing Analytics - Stop talking, Start doing! by Ben Salmon, We are C...
 
Strategy for content with local and global sites by Romain Gauthier
Strategy for content with local and global sites by Romain GauthierStrategy for content with local and global sites by Romain Gauthier
Strategy for content with local and global sites by Romain Gauthier
 
Apache Unomi presentation and update. By Serge Huber, CTO Jahia
Apache Unomi presentation and update. By Serge Huber, CTO JahiaApache Unomi presentation and update. By Serge Huber, CTO Jahia
Apache Unomi presentation and update. By Serge Huber, CTO Jahia
 
Personalisation and Headless in a business context by Lars Petersen
Personalisation and Headless in a business context by Lars PetersenPersonalisation and Headless in a business context by Lars Petersen
Personalisation and Headless in a business context by Lars Petersen
 
Digital Revolution from Silo to Platform by Gilles Babinet
Digital Revolution from Silo to Platform by Gilles BabinetDigital Revolution from Silo to Platform by Gilles Babinet
Digital Revolution from Silo to Platform by Gilles Babinet
 
A customer journey with AI by Xavier Vaccari, Softeam Group
A customer journey with AI by Xavier Vaccari, Softeam GroupA customer journey with AI by Xavier Vaccari, Softeam Group
A customer journey with AI by Xavier Vaccari, Softeam Group
 
Using CX to unlock Total Experience by David Balko, Tribal
Using CX to unlock Total Experience by David Balko, TribalUsing CX to unlock Total Experience by David Balko, Tribal
Using CX to unlock Total Experience by David Balko, Tribal
 
AI-monitor & Marketing Factory, customer case study by Valerie Voci
AI-monitor & Marketing Factory, customer case study by Valerie VociAI-monitor & Marketing Factory, customer case study by Valerie Voci
AI-monitor & Marketing Factory, customer case study by Valerie Voci
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 

Integrate widgets into content pages (DX) - Developers Meetup - October 2016

  • 1. How to integrate widgets in a content page ? 1 Jahia Meet-Up How to integrate widgets in a content page
  • 2. How to integrate widgets in a content page ? 2 Even if services such as MyYahoo or iGoogle have quietly fallen out of fashion, our customers still sometimes require, usually in the context of an Enterprise Extranet application, users to be able to manage their own personalized page with a catalogue of widgets. How to integrate widgets in a content page
  • 3. How to integrate widgets in a content page ? 3 Conception 1
  • 4. How to integrate widgets in a content page ? 4 1 Functional Requirement • Allow logged in users to customize an area selecting widgets components that they want to display, based on a customized list of available widgets • Allow widgets to be used in a classic DX page • Make it simple to use and create custom widgets
  • 5. How to integrate widgets in a content page ? 5 1 Functional Requirement
  • 6. How to integrate widgets in a content page ? 6 1 Functionnal use case Page Widget Area A user can (in live mode): - Add widgets - Remove widgets - Configure widgets Page Main column Widget Area Main column
  • 7. How to integrate widgets in a content page ? 7 1 Integrating widgets : example of a user customizing his widget area
  • 8. How to integrate widgets in a content page ? 8 DEMO Demo 2
  • 9. How to integrate widgets in a content page ? 9 Implementation 3
  • 10. How to integrate widgets in a content page ? 10 3 Definitions 1/2 Create a category mixin for you widget components [jmix:widgetCategory] > jmix:droppableContent, jmix:editorialContent mixin Create a widget mixin [jmix:widget] > jmix:widgetCategory mixin
  • 11. How to integrate widgets in a content page ? 11 3 Definitions 2/2 Create a node definition defining a widget Area [jnt:customWidgetArea] > jnt:content, jmix:widgetCategory orderable + * (jmix:widget)
  • 12. How to integrate widgets in a content page ? 12 3 Turning a standard component into a widget Add the jmix:widget mixin Examples : [jnt:historicalChartWidget] > jnt:historicalChart, jmix:widget [jnt:youtubeFeedWidget] > jnt:youtubeFeed, jmix:widget [jnt:stockWidget] > jdnt:stockWidget, jmix:widget
  • 13. How to integrate widgets in a content page ? 13 3 Creating a widget Add the jmix:widget mixin to your custom widget component [mynt:myComponentWidget] > mynt:myComponent, jmix:widget
  • 14. How to integrate widgets in a content page ? 14 3 Creating needed views On top of adding the jmix:widget mixin to your widget component, some views can be implemented to have all the available features : - The edit view - The full view Remove a widget Move a widget The move and remove icons are by default available functions The edit and full view icons become available If your widgets has edit and full views JSP implemented
  • 15. How to integrate widgets in a content page ? 15 3 Administrating the widgets A dedicated admin panel becomes available at site level
  • 16. How to integrate widgets in a content page ? 16 3 Administrating the widgets Create a site settings template dedicated to widgets administration
  • 17. How to integrate widgets in a content page ? 17 3 storing user personalization of a widget area The widget area configuration of a user is stored at his profile level, creating a node with the uuid of the related widget area Config is stored under /users/{user}/contents/widgets path (live ws)
  • 18. How to integrate widgets in a content page ? 18 3 Source code Download the source code from Github: https://github.com/Jahia/demo-widgets
  • 19. How to integrate widgets in a content page ? 19 THE END! THANKS FOR LISTENING