SlideShare a Scribd company logo
1 of 34
A path from Share to ADF
David Webster
Director of Engineering, Exari
A path from Share to ADF
David Webster
Director of Engineering, Exari
Learn. Connect. Collaborate.
A path from
Share to
ADF: Agenda
• Background context
• The problem
• A solution
• Questions
• Plug: Exari are hiring
Learn. Connect. Collaborate.
Exari
Learn. Connect. Collaborate.
Data flow
Learn. Connect. Collaborate.
User journey flow
Import Analyze View Amend Approve Send
Learn. Connect. Collaborate.
Import Analyze View Amend Approve Send
Learn. Connect. Collaborate.
Forrester
Wave - CLM
Q1 2019
Learn. Connect. Collaborate.
Usability
scores
Learn. Connect. Collaborate.
Import Analyze View Amend Approve Send
Tip:
Develop in-house UX and UI
expertise
The Solution
A Solution
Learn. Connect. Collaborate.
But first:
Micro-UIs
UI
API
Server
UI
API
µ µµ
UI
API
µ µµ
UI UI
monoliths
micro
service
micro UI
Details: https://www.softwarearchitekt.at
Learn. Connect. Collaborate.
Exari
Contracts UI
ShareDocGen
ExariCM
UI
Activity
Manager
Activiti-
app
Mass
Actions
Entities
DocQ
AMP
Learn. Connect. Collaborate.
Exari
Contracts UI
ShareDocGen
ExariCM
UI
Activity
Manager
Activiti-
app
Mass
Actions
Entities
DocQ
AMP
SSO
Wrapper
Tip:
Consider UI architecture
and micro apps
Learn. Connect. Collaborate.
“Material
Design” is
not enough
Tip:
Create a style guide
Tip:
Use common UI
components across apps
Learn. Connect. Collaborate.
My tips:
Take UX
seriously
• Develop in-
house
expertise to
ensure you’re
building the
right things
Split UI into
micro apps
• Allows partial
upgrades
without full
rewrite
Create style
guide for
consistency
• Skin existing
apps
• Use MD as a
starting point if
leveraging ADF
Use UI
components
that work across
frameworks
• E.g. Angular
elements?
A path from ADF to Share
David.Webster@Exari.com
@davidcognite
David.Webster@Exari.com
@davidcognite
We’re hiring
Learn. Connect. Collaborate.
Coffee Break
Please join us in the Cromdale Hall (-2) for a break,
sponsored by:

More Related Content

What's hot

Alfresco/Activiti Modeler Application - Andras Popovics - 2019
Alfresco/Activiti Modeler Application - Andras Popovics - 2019Alfresco/Activiti Modeler Application - Andras Popovics - 2019
Alfresco/Activiti Modeler Application - Andras Popovics - 2019András Popovics
 
Azure Functions Overview
Azure Functions OverviewAzure Functions Overview
Azure Functions OverviewJoe Raio
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowVincent Biret
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and howRiza Fahmi
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullServerlessConf
 
Charity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth FairyCharity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth FairyServerlessConf
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent Biret
 
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"Fwdays
 
Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"Fwdays
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices M A Hossain Tonu
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsKen Tabor
 
Ansible role reuse - promising but hard
Ansible role reuse - promising but hardAnsible role reuse - promising but hard
Ansible role reuse - promising but hardMartin Maisey
 
Version Control, Writers, and Workflows
Version Control, Writers, and WorkflowsVersion Control, Writers, and Workflows
Version Control, Writers, and Workflowsstc-siliconvalley
 
Salesforce Apex Hours : Node red for salesforce
Salesforce Apex Hours : Node red for salesforceSalesforce Apex Hours : Node red for salesforce
Salesforce Apex Hours : Node red for salesforceAmit Chaudhary
 
LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...
LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...
LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...LF_APIStrat
 
PowerShell Data as File System
PowerShell Data as File SystemPowerShell Data as File System
PowerShell Data as File SystemRavikanth Chaganti
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSCodeOps Technologies LLP
 
Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldIain Hull
 

What's hot (20)

Alfresco/Activiti Modeler Application - Andras Popovics - 2019
Alfresco/Activiti Modeler Application - Andras Popovics - 2019Alfresco/Activiti Modeler Application - Andras Popovics - 2019
Alfresco/Activiti Modeler Application - Andras Popovics - 2019
 
Azure Functions Overview
Azure Functions OverviewAzure Functions Overview
Azure Functions Overview
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to Servicefull
 
Charity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth FairyCharity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth Fairy
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"Dylan Beattie "Architecture: The Stuff That's Hard to Change"
Dylan Beattie "Architecture: The Stuff That's Hard to Change"
 
Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web Components
 
Ansible role reuse - promising but hard
Ansible role reuse - promising but hardAnsible role reuse - promising but hard
Ansible role reuse - promising but hard
 
Version Control, Writers, and Workflows
Version Control, Writers, and WorkflowsVersion Control, Writers, and Workflows
Version Control, Writers, and Workflows
 
Salesforce Apex Hours : Node red for salesforce
Salesforce Apex Hours : Node red for salesforceSalesforce Apex Hours : Node red for salesforce
Salesforce Apex Hours : Node red for salesforce
 
LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...
LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...
LF_APIStrat17_Contract-first API Development: A Case Study in Parallel API Pu...
 
PowerShell Data as File System
PowerShell Data as File SystemPowerShell Data as File System
PowerShell Data as File System
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
 
Intro to Azure Webjobs
Intro to Azure WebjobsIntro to Azure Webjobs
Intro to Azure Webjobs
 
Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native World
 

Similar to A path from Share to ADF

Accessibility in the Engineering Village CSUN 2019
Accessibility in the Engineering Village CSUN 2019Accessibility in the Engineering Village CSUN 2019
Accessibility in the Engineering Village CSUN 2019Ted Gies
 
Ionic Advisory: Your partner at every stage of development
Ionic Advisory: Your partner at every stage of development Ionic Advisory: Your partner at every stage of development
Ionic Advisory: Your partner at every stage of development Ionic Framework
 
AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...Heitor Lessa
 
Agencies Developer Products
Agencies Developer ProductsAgencies Developer Products
Agencies Developer ProductsJeff Eddings
 
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...Amazon Web Services
 
Visibuild
VisibuildVisibuild
Visibuilddoeko
 
Scaling Software Delivery.pdf
Scaling Software Delivery.pdfScaling Software Delivery.pdf
Scaling Software Delivery.pdfTiffany Jachja
 
An Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAn Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAtlassian
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDave Malouf
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB
 
Navigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with TreejackNavigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with Treejackpatricia_gale
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)J V
 
Collaboration Beyond Code
Collaboration Beyond CodeCollaboration Beyond Code
Collaboration Beyond CodeDavid E. Weekly
 
Challenging The Role Of The Architect
Challenging The Role Of The ArchitectChallenging The Role Of The Architect
Challenging The Role Of The ArchitectKevin Francis
 
How to Build a Successful AWS Consulting Practice
How to Build a Successful AWS Consulting PracticeHow to Build a Successful AWS Consulting Practice
How to Build a Successful AWS Consulting PracticeAmazon Web Services
 
Driving Developers To Your API
Driving Developers To Your APIDriving Developers To Your API
Driving Developers To Your APICarlo Longino
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design WorkflowShivanku Kumar
 

Similar to A path from Share to ADF (20)

Accessibility in the Engineering Village CSUN 2019
Accessibility in the Engineering Village CSUN 2019Accessibility in the Engineering Village CSUN 2019
Accessibility in the Engineering Village CSUN 2019
 
Ionic Advisory: Your partner at every stage of development
Ionic Advisory: Your partner at every stage of development Ionic Advisory: Your partner at every stage of development
Ionic Advisory: Your partner at every stage of development
 
Objective Digital Case Studies
Objective Digital Case StudiesObjective Digital Case Studies
Objective Digital Case Studies
 
AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...
 
Agencies Developer Products
Agencies Developer ProductsAgencies Developer Products
Agencies Developer Products
 
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
 
Visibuild
VisibuildVisibuild
Visibuild
 
Ektron - Suyati Technologies
Ektron - Suyati TechnologiesEktron - Suyati Technologies
Ektron - Suyati Technologies
 
Scaling Software Delivery.pdf
Scaling Software Delivery.pdfScaling Software Delivery.pdf
Scaling Software Delivery.pdf
 
An Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAn Exploration of Cross-product App Experiences
An Exploration of Cross-product App Experiences
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
 
Navigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with TreejackNavigating Help - Testing Information Architecture with Treejack
Navigating Help - Testing Information Architecture with Treejack
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)
 
Collaboration Beyond Code
Collaboration Beyond CodeCollaboration Beyond Code
Collaboration Beyond Code
 
Case Studies
Case StudiesCase Studies
Case Studies
 
Challenging The Role Of The Architect
Challenging The Role Of The ArchitectChallenging The Role Of The Architect
Challenging The Role Of The Architect
 
How to Build a Successful AWS Consulting Practice
How to Build a Successful AWS Consulting PracticeHow to Build a Successful AWS Consulting Practice
How to Build a Successful AWS Consulting Practice
 
Driving Developers To Your API
Driving Developers To Your APIDriving Developers To Your API
Driving Developers To Your API
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design Workflow
 

More from David Webster

Process backed governance
Process backed governanceProcess backed governance
Process backed governanceDavid Webster
 
Amazon Macie hackathon presentation
Amazon Macie hackathon presentationAmazon Macie hackathon presentation
Amazon Macie hackathon presentationDavid Webster
 
Why search and rescue is like software development
Why search and rescue is like software developmentWhy search and rescue is like software development
Why search and rescue is like software developmentDavid Webster
 
Internationalising a Share Customisation
Internationalising a Share CustomisationInternationalising a Share Customisation
Internationalising a Share CustomisationDavid Webster
 
Records Management - the api story
Records Management -  the api storyRecords Management -  the api story
Records Management - the api storyDavid Webster
 
Extending share: from the outside in
Extending share: from the outside inExtending share: from the outside in
Extending share: from the outside inDavid Webster
 
BeeCon 2016 Alfresco Engineering lightning talk
BeeCon 2016 Alfresco Engineering lightning talkBeeCon 2016 Alfresco Engineering lightning talk
BeeCon 2016 Alfresco Engineering lightning talkDavid Webster
 
Extending Share: Real World Examples
Extending Share: Real World ExamplesExtending Share: Real World Examples
Extending Share: Real World ExamplesDavid Webster
 
OxSAR Water Safety - June 2015
OxSAR Water Safety - June 2015OxSAR Water Safety - June 2015
OxSAR Water Safety - June 2015David Webster
 
Dynamic Risk Assessment, March 2013
Dynamic Risk Assessment, March 2013Dynamic Risk Assessment, March 2013
Dynamic Risk Assessment, March 2013David Webster
 
OxSAR Water Safety - Nov 2014
OxSAR Water Safety - Nov 2014OxSAR Water Safety - Nov 2014
OxSAR Water Safety - Nov 2014David Webster
 
Alfresco Records Management Tech Talk Live September 2015
Alfresco Records Management Tech Talk Live September 2015Alfresco Records Management Tech Talk Live September 2015
Alfresco Records Management Tech Talk Live September 2015David Webster
 
Aikau testing tech talk live 83 20150204
Aikau testing tech talk live 83 20150204Aikau testing tech talk live 83 20150204
Aikau testing tech talk live 83 20150204David Webster
 

More from David Webster (14)

Do no Evil?
Do no Evil?Do no Evil?
Do no Evil?
 
Process backed governance
Process backed governanceProcess backed governance
Process backed governance
 
Amazon Macie hackathon presentation
Amazon Macie hackathon presentationAmazon Macie hackathon presentation
Amazon Macie hackathon presentation
 
Why search and rescue is like software development
Why search and rescue is like software developmentWhy search and rescue is like software development
Why search and rescue is like software development
 
Internationalising a Share Customisation
Internationalising a Share CustomisationInternationalising a Share Customisation
Internationalising a Share Customisation
 
Records Management - the api story
Records Management -  the api storyRecords Management -  the api story
Records Management - the api story
 
Extending share: from the outside in
Extending share: from the outside inExtending share: from the outside in
Extending share: from the outside in
 
BeeCon 2016 Alfresco Engineering lightning talk
BeeCon 2016 Alfresco Engineering lightning talkBeeCon 2016 Alfresco Engineering lightning talk
BeeCon 2016 Alfresco Engineering lightning talk
 
Extending Share: Real World Examples
Extending Share: Real World ExamplesExtending Share: Real World Examples
Extending Share: Real World Examples
 
OxSAR Water Safety - June 2015
OxSAR Water Safety - June 2015OxSAR Water Safety - June 2015
OxSAR Water Safety - June 2015
 
Dynamic Risk Assessment, March 2013
Dynamic Risk Assessment, March 2013Dynamic Risk Assessment, March 2013
Dynamic Risk Assessment, March 2013
 
OxSAR Water Safety - Nov 2014
OxSAR Water Safety - Nov 2014OxSAR Water Safety - Nov 2014
OxSAR Water Safety - Nov 2014
 
Alfresco Records Management Tech Talk Live September 2015
Alfresco Records Management Tech Talk Live September 2015Alfresco Records Management Tech Talk Live September 2015
Alfresco Records Management Tech Talk Live September 2015
 
Aikau testing tech talk live 83 20150204
Aikau testing tech talk live 83 20150204Aikau testing tech talk live 83 20150204
Aikau testing tech talk live 83 20150204
 

Recently uploaded

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 

Recently uploaded (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 

A path from Share to ADF

Editor's Notes

  1. Hello, good afternoon, for those of you I don’t know yet, I’m David Webster. I’m currently the Director of Engineering at Exari, but the last time I was at an Alfresco event like this, I was on the Alfresco Engineering team. I was at Alfresco for over 8 years - I spent a good chunk of that time working on Share, before moving to the records management or governance services team. Now, I lead the engineering team at one of Alfresco’s OEM partners, Exari, which gives me both the internal perspective on how we got here, and the external view on why it’s a problem - it’s the fact that I’m at the intersection of those perspectives that made me want to come and present a session here.
  2. I hope to provide you a treasure map of sorts, helping you answer the question of how do I from A to B, where A is Share, the app development platform we’ve been using for the last decade or so - I’ll let that timeframe sink in for a bit. Yes it’s been that long -  & B is ADF, which is the future, or the present, depending on who you talk to!  To be honest, while I’ve got ADF in the title of this session, the tips apply regardless of your tech choices. If you feel ADF isn’t mature enough yet, or that Angular or Material Design aren’t the direction you want to go in, then that’s not a problem - this session should still be useful. Perhaps even more useful. When Alfresco started focusing on being a platform and on the builder experience, they didn’t put a high priority on existing customers, and the partner & community ecosystem and on the experience for those already loyal and already using Alfresco as a platform.  They recognise that now & they’re starting to make amends - towards the end of last year, they announced that they’ve got an out of the box UI, the digital workspace, with vitally, support for extension points - for quite a while I thought that wasn’t going to happen & also vitally, they’re now supporting the SDK. But some things are falling through the cracks - the new identity service looks useful, but won't work with Share in 6.1 so isn't really usable for now in my mind. So, anyway, where we are now is at A, but we want to get to B. There’s still no officially recommended route for customers already invested in Share for getting from A to B, to take the advice in this session as a series of hopefully helpful tips as to how you might implement it.
  3. The Agenda for the next half hour is fairly straight forward: I’m going to give you some background context on the problem so we’re all on the same page to begin with, then I’ll explore the problem in more detail. Exari’s situation is just one example I could use, but I think it’s a useful one as we’ve been invested in the Alfresco ecosystem for quite some time. Then - and hopefully this will be the most useful part, I’m going to talk you through some potential solutions to that problem. At the end, assuming I don’t waffle too much, there should be some time for questions, so if you think of any while I’m talking, make a note of them and we can address them all at the end. And I've added it here so I don’t forget - I’m also going to point out that Exari are hiring, and you should come talk to me if that interests you.
  4. {TIME: 4min} At Exari we're an OEM partner of Alfresco's and we use customised versions of ACS and APS (but not yet AGS) as part of our suite of tools that allow us to provide end to end contract lifecycle management.  We do that for top international banks, insurance, energy and healthcare companies. Basically any organisation whose business model is dependent on being able to make sense of the data that’s typically locked up in complex contracts.  Using our product suite and concepts we’ve created, like the Universal Contract Model or UCM, and combine that with the AI powered data extraction engine our team has built and we provide what our marketing team like to call "100% Contract Certainty” to our customers. So that’s the marketing spiel 
  5. From a technical perspective, on to this slide, which was drawn up to show the data flow within our system shows how embedded Alfresco is. We’ve got the DocGen application here, which is entirely Exari code, but then that is fed from, and feeds into this box, which is a heavily customised version of ACS, extending both the Repo and Share. We’re currently stuck on the 5.x branch waiting for the SDK upgrades before we move. That part of the system links through to some more of our custom code and external systems, but also to APS. Now you’ve seen that picture, let’s look at what that looks like from an end user’s perspective.
  6. {Time: 6:30 } This is the user journey we’re going to cover, it’s clearly intentionally chosen to touch all the bases, but I don’t think this scenario is too contrived. Our user, let’s call him David, imports some pre-existing contracts. Our system analyses them and then he then wants to make some changes to them. Those changes hit some of the compliance rules we’ve got set up, so they trigger a workflow that sends them off for review. Once they’ve been approved, David then wants to send one of those specific contracts to the counter party, through DocuSign for their signature. Now, I’m not going to demo that all live, but I do have screenshots to give you some idea of the the problem.
  7. {Time: 7:30} So, we’ll start off in DocQ DocQ - This is a new Angular UI we’ve built using Material Design from our own components. DocQ takes the contracts we’ve uploaded and submits them to DocGen for processing.
  8. Then over to DocGen, that’s an old school web app, which was themed to look like like Share circa v3.2 or 4.0. That wasn’t done through any retro nostalgia or anything, that’s just what was current when that work was done, but clearly when that theming was done, the form behaviours weren’t modified. So there are some inconsistencies there. After DocGen, we move over to contracts. 
  9. Contracts is a customised version of Share, so this dashboard should look familiar to most people here – although we’ve added a few dashlets ourselves
  10. We’ve got some more customisations on the contract details page. Which you can use to view all the contract specific metadata and associated content. Then if you want to amend that contract, 
  11. you can do that in our Mass Actions tool, which we’ve built out recently and uses Angular and Material Design, with a mixture of ADF components and custom ones - this one, we’re pretty proud of. We designed and built this ourselves, and the user experience in this is better than anywhere else in the app. Ok, but say that amendment triggered one of our compliance rules,
  12. Well, you’re back in Share. Compliance Manager which is an entirely custom UI we’ve built inside Share, but it looks like Share, And then our workflows, which compliance manager triggers, are using APS, so we’ve got two whole new UI styles here. 
  13. Workflows are modelled and administered using activiti-app, which is a entirely different to anything else as it was built in isolation, using an old version of Angular that is incompatible with the latest stuff.
  14. {Time: 10mins} And to complete the workflow, you’re dropped into a modified version of the “Process Workspace”, which I’m sure is a wonderful showcase of ADF components, and built on top of Material Design, but from a UX perspective is littered with as many inconsistencies as Share.
  15. Then once the contract is reviewed, you’ll get the email notification. You might then go back to Contracts and search for the document. Congratulations, you’ve found the one Share page that managed to use Aikau before that project was mothballed.
  16. Put all these things together and you’re no-where near the coherent cohesive app suite that we need to be for the level we’re operating at. We started off with Angular & Material Design - move on to old school Share with funky forms, back to current Share, then to ADF, through Share and Angular v1 to a different Angular Material Design app, before coming back to Aikau. This isn’t demoware. We’re selling this. People are using this, and are being successful with our products. We’re getting good recognition from the industry. 
  17. In its latest report, Forrester analysts called out Exari as one of the leaders in the CLM space, with hands-down the best strategy, but if you look past that and read the full report, they said we’re there in-spite of the usability, which receives below average scores.
  18. We scored 3 on this graph.
  19. Now remember, that user journey I went through. That touched a lot of different areas, most of them, most of our UI interactions are using design concepts that we’ve inherited from Alfresco, and we’re at the point now where that’s not good enough. Exari are expanding and growing and we’ve realised that we need to increase our focus on both UX and UI architecture - we can’t just focus on the business logic and the intelligence behind the scenes - we need in-house expertise to provide a tailored user experience to our customers. That’s my first tip:
  20. Develop in-house UX and UI expertise That way you can focus on building the products your customers need, the way that’s most suited to their requirements. Our customers may not be the same as Alfresco’s customers and we shouldn’t rely on their decisions. One of the many things that I learnt at The Place in Maidenhead, where Alfresco builds its software, is that UX is much more than what a product looks like - it’s about building the right product for the right people. If you outsource that, you’re capping your potential, so take UX seriously and invest in in-house capabilities.  {Time: 14mins} Now, let’s step back a bit. I may bemoan our inconsistent UI, but the pragmatist in me is pointing back to the history of our products. I’ve only been at Exari a few months, and haven’t been directly involved in the decisions behind some of these technology adoptions, but for the most part, it’s working. Exari is a thriving, growing company and doing so due to our software innovation. The Engineering team I lead is going flat out. We’ve not stopped to catch our breath and rewrite our entire UI. We won’t, we’ve got too many ideas on how to continue innovating for customers like Uber who have lots of contracts to create on the fly and use our tech to achieve that.
  21. {Time: 15:30mins } {Quick time check. Should be about half way through now ~ 15:15} The solution, or I should say A solution, 
  22. because this is just one idea, and there are many other potential options and routes you could go down and I don’t want to give you the wrong idea that this is the only options. But before we get to the solution, let’s discuss UI architecture. Let me look at an architectural concept that’ll help us: Micro UIs aka micro apps, or micro frontends.
  23. I could spend the whole session talking about this, but I won’t, I’ll cover the idea briefly and look at how it can help us. I first came across the term “Micro Frontends” in the 2016 ThoughtWorks’ Tech Radar, where they bemoan monolithic UI applications and set up this concept as a natural pairing to back end microservices, allowing independent development, iteration and deployment of slices of the front end.  To me, this feels like a natural side effect of UI development maturing and being taken more seriously. People are increasingly thinking about UI architecture as something that needs to be designed and considered in its own right and are creating reusable architectural patterns as a result. {Time:17mins} There’s a website called micro-frontends.org that goes through lots of technical details about how you can actually implement a micro UI architecture, but one of the best sources of information I’ve found is Manfred Steyer’s blog (softwarearchitekt.at) - he ran a series of articles on Micro Apps last year and goes through many worked examples. He also gave a brief primer on it at the AngularConnect conference in London a couple of months back. I’m not going to repeat all of his explanation here, but suffice to say that it’s a way of splitting up one large, unmanageable UI project into smaller more maintainable chunks. I’d advocate making that split based on user persona, or feature set or some other logical separation between parts of the UI. However you split it, he identified two main techniques for working with micro apps. UI Composition via hyperlinks or a Single Page Application (SPA) shell app that embeds other applications, either with iframes if you want strong isolation, or some other, like multiple modules.
  24. At Exari we’ve got a mixture of those approaches. This diagram shows roughly how our UI architecture currently is set up. We’ve got a few logical apps that are composed together via URLs DocGen UI Share. ExariCM UI Activity Manager Activiti-app And additionally, ExariCM UI is our container app, for the other UI apps to manage Mass Actions, Legal Entities, DocQ, and other apps - this allows state to be shared between those apps & means we can benefit from combined tree shaking, faster load times, etc, but in future we may break those out into their own applications if we want to be able to release updates those features independently.
  25. To get around issues with Single Sign On, we’re actually deploying them slightly differently - as per this picture, we’re deploying ExariCM UI and Activity Manager inside Share. The way we’ve achieved that is that the index page for those applications is bundled up as a WebScript & Share extension module, that WebScript controller also passes the some useful variables from the server to the client, like the auth token. At build time, npm packages it into a JAR and pops it inside our existing Share AMP. Which then gets applied to the Share WAR during deployment. That works really well for now, but longer term, we’d be much happier to see a proper SSO option across all the UIs. Including Share.
  26. For second tip. Consider your UI architecture, and whether micro apps would be useful. {Time: 21mins} Ok, so, that’s the UI architecture, now let’s look at the UX for the end-user. Our first concern should be consistency of their experience - we need to make things appear cohesive and not confuse the user. This requires a style guide that’s consistent across every UI app in our suite.
  27. Just using "material design" is not enough. These sites all use material design, they all look different. MD gives you a good starting point and helps you when you get to choices about how things should look or work, but if you’re just using MD components, that’s no guarantee that the button will be where the user expects it. Or that the information that a user needs to complete their task is on the page where they can access it. That’s where you need to be effectively wire framing and understanding your user’s expectations before you start writing the code. A style guide goes a long way to codifying some of those principals and helping promote consistency across your applications.
  28. So, that's my next tip. Ok, so if you've been following along thus far - you’ve got the UI architecture that allows you to incrementally update individual parts of your UI without having to do a Big Bang rewrite. You're building new micro apps in a visually consistent way, but how do you avoid having inconsistencies when going from the old to the new. First you have to invest a little bit more effort in the old and change how it looks. Skin the old app to look like the new one. It doesn’t need to be a huge investment, and this isn’t a time to focus on perfection. What you want is good enough. It also doesn’t need to be the full application that gets skinned. I went through Exari’s most common use cases with one of the team and we identified 3 pages that get hit by every user. If we just attacked and skinned those ones we’d hit a large percentage of use-cases. In the case of Share, the original authors were kind enough to make the themes sufficiently flexible that it can be skinned. So that’s my request to Alfresco: Can we please have a material design theme for Share?
  29. My final tip, and I hesitated with this one, because I’m speculating here and I don’t like recommending stuff I’ve not personally tried, but I’m optimistic that this is an idea that’s time has almost come. I remember before ADF was called ADF sitting down with Mario, discussing options. It’s fair to say that we didn’t agree on everything, but one thing we did agree on was that at that time WebComponents was a fantastic idea, but not usable in practice.  However, I believe Angular elements might be there now. So this is my final tip: consider using framework agnostic components, e.g. through Angular Elements, which creates native custom elements that render in the browser without requiring a full angular app. For example using this technique, you’d be able to write a header component that could be used across multiple applications regardless of whether one was written in Angular and the other used, I don’t know, YUI.
  30. So, those are my tips for how you can take your users on a journey from Share to ADF without having to down tools and rewrite everything: Take UX seriously and develop in-house expertise for it Split your UI up into Micro UIs Create a visual style guide for your apps and theme existing apps to match it as close as possible. Look at techniques like, Angular Elements to reuse components across technologies to enhance consistency. If you do all those, then you’ll find the path from Share to ADF is much easier to travel.
  31. So, almost question time, but first one more plug
  32. If you like Alfresco and want to work at a company that’s doing cool things with machine learning, and you’re based in Newbury/Reading or London or even Boston or Melbourne, please get in touch. I'm currently hiring for several roles including a dev ops lead, a full stack engineer and at least one more for the research team that manage the AI side of our products. My email address is on screen. And now, are there any questions?