Convert to Liferay Forms!
Transcript of Convert to Liferay Forms!
Convert to Liferay Forms!
Sébastien Le MarchandFreelance Technical Consultant
@slemarchand
MARCH 10, 2021
Sébastien Le Marchand
13 years of experience on Liferay (since version 4.3 in 2007)
Co-organizer of meetup Liferay France User Group
@slemarchand linkedin.com/in/slemarchand
Freelance Technical Consultant
Agenda
(Re-)discovering Liferay Forms
The need to convert
Liferay Forms: behind the scenes
Tools we made
Next steps for our tools?
Forms: Should I Stay or Should I go?
Custom tools and feedback
presented in this session come
from real-world projects
performed by...
Liferay at the core of each project
Official Liferay training partner
An accomplished team that supports you towards autonomy
www.nysis.com
Consulting Expertise Training
(Re-)discovering Liferay Forms
LIFERAY FORMS: THE BIG PICTURE
Inspired from Google FormsFind everything you love about Google Forms
Keep full control on your dataDon’t let any SaaS vendor control your data… A kind of “Signal” of Forms 😉
Deeply integrated into LiferayRe-use your Liferay security model and seamlessly embed forms into your websites
ExtensibleThanks to OSGi, you can add any exotic feature you need… Sky is the limit!
Give direct control to business users
Liferay Forms is a real game changer
Reduce delay Reduce costs
€
History of forms in Liferay
7.2 7.37.0 7.16.26.1
Liferay Forms
Liferay Web Form
Age of maturity
Available separately on Marketplace for EE
Defining form
01
End users fill form instances
02
Analyze results
03
Advanced field types
And much more besides...▪ Advanced behavior rules on fields
▪ Repeatable fields
▪ Flexible display layout▪ Pages▪ Fields width▪ Fields position (rows and columns)▪ Fields group
▪ Customizable success page
Custom development
https://help.liferay.com/hc/en-us/articles/360029030711-Introduction-to-Liferay-Forms
StorageAdapter DDMFormFieldType
DDMFormFieldTypeSettings
DDMFormFieldTemplateContextContributor
DDMFormFieldValueValidator
Custom Storage Backend
Custom Field Type
Customvalidation rules
+ Service override
+ MVC Command override
The need to convert
How to take advantage of Liferay Forms for a great number of “legacy” forms?
Use Case #1
7.2 7.37.0 7.16.26.1
Liferay Forms
Liferay Web Form
Age of maturity
Available separately on Marketplace for EE
Upgrade Liferay 6.1 → 7.2
A significant amount of Web From portlets:
▪ 47 forms▪ 40 fields on the biggest form▪ 6 fields by form on average
Web Form no more available for Liferay 7.2
No upgrade process provided by Liferay
Web Form : our historical context
Use Case #2
... ...
Upgrade { other technologies → Liferay 7.2 }
A Liferay portal is often an opportunity to replace many old forgotten small apps of the Information System!
Any techno can be concerned:
▪ PHP▪ CGI / Perl▪ ColdFusion▪ JSP▪ ASP▪ ...
Third party technologies: infinity of contexts !
Liferay Forms: behind the scenes
Server side ...
...
serializedFormBuilderContext :+ 4 000 lines of JSON
Tools we made
GENERAL PIECE OF ADVICE
Consider to encapsulate and adapt Liferay native API which not fit the context of your project.
nysis-ddm-form-generator
Liferay
nysis-web-form-converterWeb Form Portlets
DDM Form InstancesDDM Form Portlets
Use Case #1
UPGRADE PROCESS
SIMPLIFIED API
▪ End-to-end automated
▪ No manual operations required to get ready-to-go forms *
Converting Web Forms 6.x
* : Unless there is some custom JS validator on the web forms
Liferay 6.1 Liferay 7.2
Use Case #2
nysis-ddm-form-generator
Liferay
nysis-json-form-converter
DDM Form Instances
SIMPLIFIED API
JSON
htmlform2jsonSCRIPT NODE.JS
Static HTML
Web crawler
Web Application
▪ HTML extraction prevent server-side technology dependency and so allow any server-side technology
▪ Only semi-automated: some forms definitions must be completed using GUI to be fully compliant to the original form
▪ JSON pivot format open all possibilities for future upstream of the conversion chain, for example to deal with non-web technologies
Any website → Liferay Forms: conversion chain
Static HTML
JSON
Liferay Forms
Web App / Website
Get more information, enroll as tester and
share your feedback:
forms.nysis.com
Next steps for our tools?
Transverse improvementsTransverse improvements in the roadmap of nysis-ddm-form-generator :
▪ Additional field type support▪ File upload ▪ Number▪ Date
▪ Form layouting support▪ Multi pages▪ Advanced field positioning
▪ Field advanced properties support▪ Placeholder▪ Data provider▪ ...
With the “keep it simple” spirit
→ All new features are optional and
preserve simple format for basic
features
New converters consideredUpstream of nysis-json-form-converter or nysis-ddm-form-generator, we consider new converters to take some new kind of input :
▪ Source code JSF, Spring MVC or JSP + Liferay tags to increase automation compared to conversion from final HTML
▪ Forms from PDF files
▪ SaaS forms like Google Forms or Typeform
▪ Prototypes form tools like Figma, Axure, Balsamiq
According to your
expectations…
Talk with us!
👇
forms.nysis.com
Forms: Should I Stay or Should I Go
Liferay Forms
Custom development
Aligned context
▪ Short delivery time required▪ High frequency small changes▪ Low budget▪ OOTB features match requirements
How to evaluate relevance of Liferay Forms?
Non-aligned context
▪ Certified QA endorsement ▪ Need for changes history▪ Very-high business complexity▪ Business users don’t want use the form
builder UI
It’s my personal subjective
decision grid
All criteria should be evaluated and weighted according each project’s context : Here is the challenge!
Maybe you need bigger size for no-code/low-code ?
Forms
App Builder
https://learn.liferay.com/dxp/7.x/en/developing-applications/developing-low-code-applications/app-builder-overview.html
What did we learn?
Take away
Consider Liferay Forms for your projects
Evaluate Liferay Forms relevance in the context
Consider automated conversion opportunities
Test our converters: forms.nysis.com