SlideShare una empresa de Scribd logo
1 de 23
MVC in Jahia 7
Using Spring Web Flow
Sergiy Shyrkov - Senior Software Engineer
Jahia Solutions Group SA
(sergiy.shyrkov@jahia.com)

© 2002 - 2014 Jahia Solutions Group SA
Who Am I

2

© 2002 - 2014 Jahia Solutions Group SA
Who Am I
Sergiy Shyrkov
Senior Software Engineer
sergiy.shyrkov@jahia.com

@Jahia since 2007
Web project development for 12+ years
Integration of frameworks and external services
Spring, Spring MVC – a solid integration basis
3

© 2002 - 2014 Jahia Solutions Group SA
Outline
Why Spring Web Flow
What is Spring Web Flow
How is it integrated in Jahia
Examples and demo
What can be done with it
Summary and next steps
Questions

4

© 2002 - 2014 Jahia Solutions Group SA
Why Spring Web Flow – Drivers (1)
Main drivers:
Customer feedback about the need for
more powerful:
form processing and automatic data
binding
validation
business logic
Server and Site settings refactoring in
Jahia 7

5

© 2002 - 2014 Jahia Solutions Group SA
Why Spring Web Flow – Criteria (2)
Criteria:
Seamless integration into Jahia rendering system
Automatic data binding and form processing
Support for complex / custom validation
Advanced control over “page navigation”
Easy to learn and use

6

© 2002 - 2014 Jahia Solutions Group SA
Why Spring Web Flow – Result (3)
Spring Web Flow (SWF) comes into play:
matched our goals
comes from the Spring landscape (bean definitions, MVC,
type converters, binding, etc.)
control layer on top of MVC (Spring MVC, JSF, Struts, etc.)

→ content views based on Web Flow in Jahia

7

© 2002 - 2014 Jahia Solutions Group SA
What Is Spring Web Flow (1)
“Spring Web Flow builds on Spring MVC and allows
implementing the "flows" of a web application. A flow
encapsulates a sequence of steps that guide a user
through the execution of some business task.”
(source: http://projects.spring.io/spring-webflow/)

History:
Started as an extension of Spring MVC by Erwin Vervaet in 2004
1.0 release in October 2006
2.3.2 release in January 2013

8

© 2002 - 2014 Jahia Solutions Group SA
What Is Spring Web Flow (2)
Introduced flow concept
Extended application scopes
Essential language elements: flow, view-state, transition,
end-state, ...
Actions (<evaluate>): can be executed on various flow
points

9

© 2002 - 2014 Jahia Solutions Group SA
How Is It Integrated in Jahia (1)
Rendering concepts:
Content node needs a template (full page view)
Template will define which elements to display and where
to display them: areas
Area renders a content node using a view

10

© 2002 - 2014 Jahia Solutions Group SA
How Is It Integrated in Jahia (2)
Request rendering flow:

11

© 2002 - 2014 Jahia Solutions Group SA
How Is It Integrated in Jahia (3)
To render a content node Jahia needs a script file(s)
called a view:
jnt_news/html/news.link.jsp

jnt_news/html/news.jsp

News item
(jnt:news)

default

jnt_news/html/news.large.jsp

large

12

© 2002 - 2014 Jahia Solutions Group SA
How Is It Integrated in Jahia (4)
View (script) types:
JSP (javax.servlet.RequestDispatcher)
JSR-223: Groovy, Velocity, FreeMarker, etc.
(javax.script.ScriptEngineManager)
Web Flow (javax.servlet.RequestDispatcher)
dispatching to a dedicated controller (/flow/*)

13

© 2002 - 2014 Jahia Solutions Group SA
How Is It Integrated in Jahia (5)
What Jahia does for you:
detects and registers/unregisters flow definitions in
modules
proper dispatching to controller, URL mappings, handler
mapping, view resolution, message source resolution
(i18n), etc.

14

© 2002 - 2014 Jahia Solutions Group SA
How Is It Integrated in Jahia (6)
What you need to use it:
have a Spring beans file (1)
a view (folder) of type “flow” (2)
flow definition file – flow.xml (3)
flow view template files
action handlers
validation
i18n resources

15

© 2002 - 2014 Jahia Solutions Group SA
Example – Job Application (1)
Flow-based view for job application (job.showcase-apply.flow):

(visualized by Spring Tool Suite 3.4.0.RELEASE)

Featuring:
form binding (model, <form:*/> tags)
file upload (Spring's MultipartResolver)
JSR-303 validation

16

© 2002 - 2014 Jahia Solutions Group SA
Example – Job Application (2)
Second view for application review (job.showcase-review.flow):

(visualized by Spring Tool Suite 3.4.0.RELEASE)

Example of classical drill-down use case:
overview → details → action → overview

17

© 2002 - 2014 Jahia Solutions Group SA
Example – Job Application (3)

Demo
https://github.com/shyrkov/jahia-spring-webflow-showcase

18

© 2002 - 2014 Jahia Solutions Group SA
Jahia Server / Site Settings (4)

Demo

19

© 2002 - 2014 Jahia Solutions Group SA
What Can Be Done With It
Flow-based data processing
Validation
Complex business logic
External data / service integration
...

20

© 2002 - 2014 Jahia Solutions Group SA
Summary and Next Steps
Summary:
Our goals met and needs covered :-)
New powerful mechanism for data processing
Next steps
It is a “first iteration”
Gather feedback
...

21

© 2002 - 2014 Jahia Solutions Group SA
Questions

22

© 2002 - 2014 Jahia Solutions Group SA
Thank you!
Sergiy Shyrkov - Senior Software Engineer
Jahia Solutions Group SA
(sergiy.shyrkov@jahia.com)
23

© 2002 - 2014 Jahia Solutions Group SA

Más contenido relacionado

La actualidad más candente

Sage Integration Cloud Technology Whitepaper
Sage Integration Cloud Technology WhitepaperSage Integration Cloud Technology Whitepaper
Sage Integration Cloud Technology WhitepaperSimon Berglund
 
Oracle bi 11.1.1.6.1 and adf integration
Oracle bi 11.1.1.6.1 and adf integrationOracle bi 11.1.1.6.1 and adf integration
Oracle bi 11.1.1.6.1 and adf integrationRavi Kumar Lanke
 
Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.
Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.
Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.Basant Kumar Yadav
 
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned ApproachSPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned ApproachNCCOMMS
 
Deploying and Managing Project Online and Project Server 2016
Deploying and Managing Project Online and Project Server 2016Deploying and Managing Project Online and Project Server 2016
Deploying and Managing Project Online and Project Server 2016Rolly Perreaux, PMP
 
SharePoint_Developer_Admin.PDF
SharePoint_Developer_Admin.PDFSharePoint_Developer_Admin.PDF
SharePoint_Developer_Admin.PDFYogesh Sahani
 
Ambikumar - Sharepoint Developer
Ambikumar - Sharepoint DeveloperAmbikumar - Sharepoint Developer
Ambikumar - Sharepoint DeveloperAmbi kumar
 
SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...
SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...
SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...NCCOMMS
 
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portalSAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portaltasmc
 
Patricia Todd SharePoint Resume
Patricia Todd SharePoint ResumePatricia Todd SharePoint Resume
Patricia Todd SharePoint ResumeCSharpGirl
 
Windows Azure SQL Database Federations
Windows Azure SQL Database FederationsWindows Azure SQL Database Federations
Windows Azure SQL Database FederationsNeil Mackenzie
 
Using Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsUsing Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsRandy Williams
 
Brochure - Microsoft Business Intelligence and Analytics
Brochure - Microsoft Business Intelligence and AnalyticsBrochure - Microsoft Business Intelligence and Analytics
Brochure - Microsoft Business Intelligence and AnalyticsLac Viet Computing Corporation
 
Power apps portal out for public review
Power apps portal  out for public reviewPower apps portal  out for public review
Power apps portal out for public reviewConcetto Labs
 
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best PracticesMostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best PracticesSharePoint Saturday NY
 
AX2012 Technical Track - Entreprise portal, Czesia Langoswka
AX2012 Technical Track -  Entreprise portal, Czesia LangoswkaAX2012 Technical Track -  Entreprise portal, Czesia Langoswka
AX2012 Technical Track - Entreprise portal, Czesia Langoswkadynamicscom
 
SharePoint Online App Model Guidance
SharePoint Online App Model GuidanceSharePoint Online App Model Guidance
SharePoint Online App Model GuidanceRyan Berg
 

La actualidad más candente (20)

Sage Integration Cloud Technology Whitepaper
Sage Integration Cloud Technology WhitepaperSage Integration Cloud Technology Whitepaper
Sage Integration Cloud Technology Whitepaper
 
Oracle bi 11.1.1.6.1 and adf integration
Oracle bi 11.1.1.6.1 and adf integrationOracle bi 11.1.1.6.1 and adf integration
Oracle bi 11.1.1.6.1 and adf integration
 
Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.
Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.
Technical Lead (Azure , SharePoint, ASP.Net ), 12+ years exp.
 
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned ApproachSPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
 
Deploying and Managing Project Online and Project Server 2016
Deploying and Managing Project Online and Project Server 2016Deploying and Managing Project Online and Project Server 2016
Deploying and Managing Project Online and Project Server 2016
 
W8/WP8 App Dev for SAP, Part 2: Microsoft OData Application Development
W8/WP8 App Dev for SAP, Part 2: Microsoft OData Application DevelopmentW8/WP8 App Dev for SAP, Part 2: Microsoft OData Application Development
W8/WP8 App Dev for SAP, Part 2: Microsoft OData Application Development
 
SharePoint_Developer_Admin.PDF
SharePoint_Developer_Admin.PDFSharePoint_Developer_Admin.PDF
SharePoint_Developer_Admin.PDF
 
Ambikumar - Sharepoint Developer
Ambikumar - Sharepoint DeveloperAmbikumar - Sharepoint Developer
Ambikumar - Sharepoint Developer
 
SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...
SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...
SPCA2013 - Best Practices & Considerations for Designing Your SharePoint Logi...
 
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portalSAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
 
Patricia Todd SharePoint Resume
Patricia Todd SharePoint ResumePatricia Todd SharePoint Resume
Patricia Todd SharePoint Resume
 
Windows Azure SQL Database Federations
Windows Azure SQL Database FederationsWindows Azure SQL Database Federations
Windows Azure SQL Database Federations
 
Using Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsUsing Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 Solutions
 
Brochure - Microsoft Business Intelligence and Analytics
Brochure - Microsoft Business Intelligence and AnalyticsBrochure - Microsoft Business Intelligence and Analytics
Brochure - Microsoft Business Intelligence and Analytics
 
Introduction to OBIEE 11g
Introduction to OBIEE 11gIntroduction to OBIEE 11g
Introduction to OBIEE 11g
 
Power apps portal out for public review
Power apps portal  out for public reviewPower apps portal  out for public review
Power apps portal out for public review
 
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best PracticesMostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
 
AX2012 Technical Track - Entreprise portal, Czesia Langoswka
AX2012 Technical Track -  Entreprise portal, Czesia LangoswkaAX2012 Technical Track -  Entreprise portal, Czesia Langoswka
AX2012 Technical Track - Entreprise portal, Czesia Langoswka
 
SharePoint Online App Model Guidance
SharePoint Online App Model GuidanceSharePoint Online App Model Guidance
SharePoint Online App Model Guidance
 
Shakthi_Resume
Shakthi_ResumeShakthi_Resume
Shakthi_Resume
 

Similar a JahiaOne - MVC in Jahia 7 Using Spring Web Flow

JahiaOne - Jahia7: New administration panels
JahiaOne - Jahia7: New administration panelsJahiaOne - Jahia7: New administration panels
JahiaOne - Jahia7: New administration panelsJahia Solutions Group
 
Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1Lai Yoong Seng
 
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformWebinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformEdureka!
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration Tauhidul Islam
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entityjordigilnieto
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entityToni Jara
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...Kunal Ashar
 
Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016Swapnil Shelke
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekShailen Sukul
 
SharePoint #MDU2012
SharePoint #MDU2012SharePoint #MDU2012
SharePoint #MDU2012unicunditech
 
Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satyaSatya Johnny
 
Hw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docx
Hw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docxHw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docx
Hw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docxSunil Kumar Gunasekaran
 

Similar a JahiaOne - MVC in Jahia 7 Using Spring Web Flow (20)

JahiaOne - Jahia7: New administration panels
JahiaOne - Jahia7: New administration panelsJahiaOne - Jahia7: New administration panels
JahiaOne - Jahia7: New administration panels
 
Ibrahim Ramadan CV
Ibrahim Ramadan CVIbrahim Ramadan CV
Ibrahim Ramadan CV
 
Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1
 
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformWebinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
 
yii framework
yii frameworkyii framework
yii framework
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
 
Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
 
Sharepoint Admin
Sharepoint AdminSharepoint Admin
Sharepoint Admin
 
IR-CV
IR-CVIR-CV
IR-CV
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
 
AnikResume
AnikResumeAnikResume
AnikResume
 
SharePoint #MDU2012
SharePoint #MDU2012SharePoint #MDU2012
SharePoint #MDU2012
 
Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satya
 
Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satya
 
Struts notes
Struts notesStruts notes
Struts notes
 
Hw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docx
Hw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docxHw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docx
Hw2 gap analysis linked_in mobile app_sunil kumar gunasekaran_12052012.docx
 

Más de 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 AuvrayJahia 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 MaherJahia 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 SolisJahia 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 SafranJahia 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 BarbaJahia 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 EvolutionJahia Solutions Group
 
Elasticsearch powered EDP by Cedric Mailleux
Elasticsearch powered EDP by Cedric MailleuxElasticsearch powered EDP by Cedric Mailleux
Elasticsearch powered EDP by Cedric MailleuxJahia 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 SafoutouJahia 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 HuberJahia 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 GauthierJahia 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 JahiaJahia 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 PetersenJahia 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 BabinetJahia 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 GroupJahia 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, TribalJahia 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 VociJahia Solutions Group
 

Más de 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
 

Último

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

JahiaOne - MVC in Jahia 7 Using Spring Web Flow

  • 1. MVC in Jahia 7 Using Spring Web Flow Sergiy Shyrkov - Senior Software Engineer Jahia Solutions Group SA (sergiy.shyrkov@jahia.com) © 2002 - 2014 Jahia Solutions Group SA
  • 2. Who Am I 2 © 2002 - 2014 Jahia Solutions Group SA
  • 3. Who Am I Sergiy Shyrkov Senior Software Engineer sergiy.shyrkov@jahia.com @Jahia since 2007 Web project development for 12+ years Integration of frameworks and external services Spring, Spring MVC – a solid integration basis 3 © 2002 - 2014 Jahia Solutions Group SA
  • 4. Outline Why Spring Web Flow What is Spring Web Flow How is it integrated in Jahia Examples and demo What can be done with it Summary and next steps Questions 4 © 2002 - 2014 Jahia Solutions Group SA
  • 5. Why Spring Web Flow – Drivers (1) Main drivers: Customer feedback about the need for more powerful: form processing and automatic data binding validation business logic Server and Site settings refactoring in Jahia 7 5 © 2002 - 2014 Jahia Solutions Group SA
  • 6. Why Spring Web Flow – Criteria (2) Criteria: Seamless integration into Jahia rendering system Automatic data binding and form processing Support for complex / custom validation Advanced control over “page navigation” Easy to learn and use 6 © 2002 - 2014 Jahia Solutions Group SA
  • 7. Why Spring Web Flow – Result (3) Spring Web Flow (SWF) comes into play: matched our goals comes from the Spring landscape (bean definitions, MVC, type converters, binding, etc.) control layer on top of MVC (Spring MVC, JSF, Struts, etc.) → content views based on Web Flow in Jahia 7 © 2002 - 2014 Jahia Solutions Group SA
  • 8. What Is Spring Web Flow (1) “Spring Web Flow builds on Spring MVC and allows implementing the "flows" of a web application. A flow encapsulates a sequence of steps that guide a user through the execution of some business task.” (source: http://projects.spring.io/spring-webflow/) History: Started as an extension of Spring MVC by Erwin Vervaet in 2004 1.0 release in October 2006 2.3.2 release in January 2013 8 © 2002 - 2014 Jahia Solutions Group SA
  • 9. What Is Spring Web Flow (2) Introduced flow concept Extended application scopes Essential language elements: flow, view-state, transition, end-state, ... Actions (<evaluate>): can be executed on various flow points 9 © 2002 - 2014 Jahia Solutions Group SA
  • 10. How Is It Integrated in Jahia (1) Rendering concepts: Content node needs a template (full page view) Template will define which elements to display and where to display them: areas Area renders a content node using a view 10 © 2002 - 2014 Jahia Solutions Group SA
  • 11. How Is It Integrated in Jahia (2) Request rendering flow: 11 © 2002 - 2014 Jahia Solutions Group SA
  • 12. How Is It Integrated in Jahia (3) To render a content node Jahia needs a script file(s) called a view: jnt_news/html/news.link.jsp jnt_news/html/news.jsp News item (jnt:news) default jnt_news/html/news.large.jsp large 12 © 2002 - 2014 Jahia Solutions Group SA
  • 13. How Is It Integrated in Jahia (4) View (script) types: JSP (javax.servlet.RequestDispatcher) JSR-223: Groovy, Velocity, FreeMarker, etc. (javax.script.ScriptEngineManager) Web Flow (javax.servlet.RequestDispatcher) dispatching to a dedicated controller (/flow/*) 13 © 2002 - 2014 Jahia Solutions Group SA
  • 14. How Is It Integrated in Jahia (5) What Jahia does for you: detects and registers/unregisters flow definitions in modules proper dispatching to controller, URL mappings, handler mapping, view resolution, message source resolution (i18n), etc. 14 © 2002 - 2014 Jahia Solutions Group SA
  • 15. How Is It Integrated in Jahia (6) What you need to use it: have a Spring beans file (1) a view (folder) of type “flow” (2) flow definition file – flow.xml (3) flow view template files action handlers validation i18n resources 15 © 2002 - 2014 Jahia Solutions Group SA
  • 16. Example – Job Application (1) Flow-based view for job application (job.showcase-apply.flow): (visualized by Spring Tool Suite 3.4.0.RELEASE) Featuring: form binding (model, <form:*/> tags) file upload (Spring's MultipartResolver) JSR-303 validation 16 © 2002 - 2014 Jahia Solutions Group SA
  • 17. Example – Job Application (2) Second view for application review (job.showcase-review.flow): (visualized by Spring Tool Suite 3.4.0.RELEASE) Example of classical drill-down use case: overview → details → action → overview 17 © 2002 - 2014 Jahia Solutions Group SA
  • 18. Example – Job Application (3) Demo https://github.com/shyrkov/jahia-spring-webflow-showcase 18 © 2002 - 2014 Jahia Solutions Group SA
  • 19. Jahia Server / Site Settings (4) Demo 19 © 2002 - 2014 Jahia Solutions Group SA
  • 20. What Can Be Done With It Flow-based data processing Validation Complex business logic External data / service integration ... 20 © 2002 - 2014 Jahia Solutions Group SA
  • 21. Summary and Next Steps Summary: Our goals met and needs covered :-) New powerful mechanism for data processing Next steps It is a “first iteration” Gather feedback ... 21 © 2002 - 2014 Jahia Solutions Group SA
  • 22. Questions 22 © 2002 - 2014 Jahia Solutions Group SA
  • 23. Thank you! Sergiy Shyrkov - Senior Software Engineer Jahia Solutions Group SA (sergiy.shyrkov@jahia.com) 23 © 2002 - 2014 Jahia Solutions Group SA