SlideShare a Scribd company logo
1 of 29
A real ADF experience
by Manolo Swerts
Mano(lo) Swerts
A Strategic Alfresco Partner
Working with Alfresco since Alfresco v0.6
Over 140 Alfresco implementations
Alfresco & WCM Architecture Design Patterns
First worldwide implementation of the first Alfresco WCM product in 2007
Excellent Alfresco knowledge and highly trained and experienced staff
Alfresco Certified Engineers and Alfresco Certified Administrators
Authoring of leading Alfresco books
Alfresco Technical blogs http://www.ixxus.com/blog/
Multiple speaking engagements at the Alfresco Conferences (2011-2014),
Alfresco Days and BeeCon 2016
Alfresco Million $ Club (May 2012) – Only 2 companies awarded
Alfresco Solution Partner of the Year 2013 and 2014
Alfresco Best Solution 2015 and Partner of the Year 2015 (Northern Europe)
What we’ll cover
• What is ADF?
• The benefits of ADF in Alfresco architectures
• ADF at Ixxus
• Our Experience
• What does the future hold?
What is ADF?
Evolution of Alfresco Development
Ant
SDK
Community
Maven
SDK
Alfresco
SDK
ADF
Alfresco Development Framework
Alfresco Development Framework
AlfrescoADFapplication
Custom AngularJS Components
Alfresco AngularJS Components
Alfresco Unified JS API
Servicelayer
REST API
Alfresco
REST API
Activiti
Alfresco Development Framework
Why ADF?
• Rapid Application Development in environments that don’t use Share
• Freedom of development
• Focused User Experience
• Responsive Design
• Integrate with Alfresco Share for best of both worlds
ADF at Ixxus
All In One Edit
Requirements
Configurable User Friendly Easy to Deploy
How?
Architecture
ADF
Custom action
AOE Component (View)
Edit Form Component
TinyMCE Component
Alfresco File View
Component
Share
Custom action
/all-in-one-edit/<nodeId>
<authentication ticket>
Prepare Environment
• Alfresco 5.2+ / 201609 EA+
• Install enablecors module for Activiti and Alfresco
• Activiti 1.5.2.1+
• Update default Activiti username and password
• Node.js (5.x.x / npm 3.x.x)
Generate ADF app
$> docker-compose up
$> n 6.9.2
$> npm install -g yo
$> npm install -g generator-ng2-alfresco-app
$> yo ng2-alfresco-app
$> npm install
$> npm start
Create Edit Form Component
• Based on Activiti Forms component
• Configurable
Edit Form AngularJS 2 Component
all-in-one-
edit.ts
all-in-one-
edit.html
all-in-one-
edit.css
index.ts
app.modul
e.ts
Widgets
Edit Form Component Config
[{
"id": 1013,
"name": "pt:article",
"formDefinition": {
"fields": [{
"fieldType": "ContainerRepresentation",
"id": "1470062843702",
"type": "container",
"numberOfColumns": 2,
"fields": {
"1": [{
"fieldType": "FormFieldRepresentation",
"id": "title",
"propertyName": "cm:title",
"name": "Title",
"type": "text",
"value": null,
"required": true,
"readOnly": false,
[ ... ]
}],
"2": [{
"fieldType": "FormFieldRepresentation",
"id": "nativeAd",
"propertyName": "pt:nativeAd",
"name": "Native Advertising/Marketing",
"type": "checkbox",
[ ... ]
}]
}
}]
}
}]
Create AOE Component (View)
AOE AngularJS 2 Component
index.ts
app.modul
e.ts
app.routes
.ts
all-in-one-
edit.ts
all-in-one-
edit.html
all-in-one-
edit.css
Edit Form Component TinyMCE Component
Alfresco File Viewer
Component
Add AOE Action
• Update Files Component to add new Action
Files Component
files.comp
onent.html
files.comp
onent.ts
Result
Let’s reflect…
Our Experience
✅ Low learning curve for AngularJS developers
✅ Flexible
✅ Quickly create an Alfresco application
✅ Open Source
➖ Needs more components
➖ Not available for older Alfresco / Activiti
versions
What does the future hold?
• Bringing the full-fledged AOE experience to ADF:
• Convert TinyMCE component to a form widget for inline placement and one-click editing
• Alfresco File Viewer inline
• Support more view and editing formats
• More components
• Get more Ixxus modules on the ADF bandwagon
• What about integrating Angular 2 code in Share?
Speaker contacts
mano.swerts@ixxus.com
@manoswerts

More Related Content

What's hot

Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018Fabio Biondi
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupMatt Ray
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopNitin Bhojwani
 
Angular meetup 2 2019-08-29
Angular meetup 2   2019-08-29Angular meetup 2   2019-08-29
Angular meetup 2 2019-08-29Nitin Bhojwani
 
Beautiful Builds - Roy Osherove at Microsoft Swit
Beautiful Builds - Roy Osherove at Microsoft SwitBeautiful Builds - Roy Osherove at Microsoft Swit
Beautiful Builds - Roy Osherove at Microsoft SwitRoy Osherove
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Dimitri Gielis
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” HYS Enterprise
 
Single Page Applications in Angular (italiano)
Single Page Applications in Angular (italiano)Single Page Applications in Angular (italiano)
Single Page Applications in Angular (italiano)Fabio Biondi
 
Demystifying Angular Animations
Demystifying Angular AnimationsDemystifying Angular Animations
Demystifying Angular AnimationsGil Fink
 

What's hot (11)

Introduction to angular 4
Introduction to angular 4Introduction to angular 4
Introduction to angular 4
 
Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018Angular Best Practices @ Firenze 19 feb 2018
Angular Best Practices @ Firenze 19 feb 2018
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
 
Angular js
Angular jsAngular js
Angular js
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
Angular meetup 2 2019-08-29
Angular meetup 2   2019-08-29Angular meetup 2   2019-08-29
Angular meetup 2 2019-08-29
 
Beautiful Builds - Roy Osherove at Microsoft Swit
Beautiful Builds - Roy Osherove at Microsoft SwitBeautiful Builds - Roy Osherove at Microsoft Swit
Beautiful Builds - Roy Osherove at Microsoft Swit
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture”
 
Single Page Applications in Angular (italiano)
Single Page Applications in Angular (italiano)Single Page Applications in Angular (italiano)
Single Page Applications in Angular (italiano)
 
Demystifying Angular Animations
Demystifying Angular AnimationsDemystifying Angular Animations
Demystifying Angular Animations
 

Similar to A Real ADF Experience

Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework BasicMario Romano
 
Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5WSO2
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0Eugenio Romano
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfxJenkins NS
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Building websites with Node.ACS
Building websites with Node.ACSBuilding websites with Node.ACS
Building websites with Node.ACSralcocer
 
Building websites with Node.ACS
Building websites with Node.ACSBuilding websites with Node.ACS
Building websites with Node.ACSRicardo Alcocer
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdfMauricio (Salaboy) Salatino
 
Google Cloud Endpointsによる API構築
Google Cloud Endpointsによる API構築Google Cloud Endpointsによる API構築
Google Cloud Endpointsによる API構築Keiji Ariyama
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Codemotion
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4Jon Galloway
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?The Software House
 
eZ Publish Norwegian Public User Group
eZ Publish Norwegian Public User GroupeZ Publish Norwegian Public User Group
eZ Publish Norwegian Public User GroupRoland Benedetti
 
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franziniwalk2talk srl
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 

Similar to A Real ADF Experience (20)

Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework Basic
 
Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfx
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Building websites with Node.ACS
Building websites with Node.ACSBuilding websites with Node.ACS
Building websites with Node.ACS
 
Building websites with Node.ACS
Building websites with Node.ACSBuilding websites with Node.ACS
Building websites with Node.ACS
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
 
Google Cloud Endpointsによる API構築
Google Cloud Endpointsによる API構築Google Cloud Endpointsによる API構築
Google Cloud Endpointsによる API構築
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?
 
eZ Publish Norwegian Public User Group
eZ Publish Norwegian Public User GroupeZ Publish Norwegian Public User Group
eZ Publish Norwegian Public User Group
 
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 

Recently uploaded

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
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
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
(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
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
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
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Recently uploaded (20)

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
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
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
(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...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
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
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

A Real ADF Experience

  • 1. A real ADF experience by Manolo Swerts
  • 3. A Strategic Alfresco Partner Working with Alfresco since Alfresco v0.6 Over 140 Alfresco implementations Alfresco & WCM Architecture Design Patterns First worldwide implementation of the first Alfresco WCM product in 2007 Excellent Alfresco knowledge and highly trained and experienced staff Alfresco Certified Engineers and Alfresco Certified Administrators Authoring of leading Alfresco books Alfresco Technical blogs http://www.ixxus.com/blog/ Multiple speaking engagements at the Alfresco Conferences (2011-2014), Alfresco Days and BeeCon 2016 Alfresco Million $ Club (May 2012) – Only 2 companies awarded Alfresco Solution Partner of the Year 2013 and 2014 Alfresco Best Solution 2015 and Partner of the Year 2015 (Northern Europe)
  • 4. What we’ll cover • What is ADF? • The benefits of ADF in Alfresco architectures • ADF at Ixxus • Our Experience • What does the future hold?
  • 6. Evolution of Alfresco Development Ant SDK Community Maven SDK Alfresco SDK ADF
  • 8. Alfresco Development Framework AlfrescoADFapplication Custom AngularJS Components Alfresco AngularJS Components Alfresco Unified JS API Servicelayer REST API Alfresco REST API Activiti
  • 10. Why ADF? • Rapid Application Development in environments that don’t use Share • Freedom of development • Focused User Experience • Responsive Design • Integrate with Alfresco Share for best of both worlds
  • 12. All In One Edit
  • 14. How?
  • 15. Architecture ADF Custom action AOE Component (View) Edit Form Component TinyMCE Component Alfresco File View Component Share Custom action /all-in-one-edit/<nodeId> <authentication ticket>
  • 16. Prepare Environment • Alfresco 5.2+ / 201609 EA+ • Install enablecors module for Activiti and Alfresco • Activiti 1.5.2.1+ • Update default Activiti username and password • Node.js (5.x.x / npm 3.x.x)
  • 17. Generate ADF app $> docker-compose up $> n 6.9.2 $> npm install -g yo $> npm install -g generator-ng2-alfresco-app $> yo ng2-alfresco-app $> npm install $> npm start
  • 18. Create Edit Form Component • Based on Activiti Forms component • Configurable Edit Form AngularJS 2 Component all-in-one- edit.ts all-in-one- edit.html all-in-one- edit.css index.ts app.modul e.ts Widgets
  • 19. Edit Form Component Config [{ "id": 1013, "name": "pt:article", "formDefinition": { "fields": [{ "fieldType": "ContainerRepresentation", "id": "1470062843702", "type": "container", "numberOfColumns": 2, "fields": { "1": [{ "fieldType": "FormFieldRepresentation", "id": "title", "propertyName": "cm:title", "name": "Title", "type": "text", "value": null, "required": true, "readOnly": false, [ ... ] }], "2": [{ "fieldType": "FormFieldRepresentation", "id": "nativeAd", "propertyName": "pt:nativeAd", "name": "Native Advertising/Marketing", "type": "checkbox", [ ... ] }] } }] } }]
  • 20. Create AOE Component (View) AOE AngularJS 2 Component index.ts app.modul e.ts app.routes .ts all-in-one- edit.ts all-in-one- edit.html all-in-one- edit.css Edit Form Component TinyMCE Component Alfresco File Viewer Component
  • 21. Add AOE Action • Update Files Component to add new Action Files Component files.comp onent.html files.comp onent.ts
  • 23.
  • 24.
  • 26. Our Experience ✅ Low learning curve for AngularJS developers ✅ Flexible ✅ Quickly create an Alfresco application ✅ Open Source ➖ Needs more components ➖ Not available for older Alfresco / Activiti versions
  • 27. What does the future hold? • Bringing the full-fledged AOE experience to ADF: • Convert TinyMCE component to a form widget for inline placement and one-click editing • Alfresco File Viewer inline • Support more view and editing formats • More components • Get more Ixxus modules on the ADF bandwagon • What about integrating Angular 2 code in Share?
  • 28.

Editor's Notes

  1. https://ixxusdev.atlassian.net/browse/IPMAOE-203 https://ixxusdev.atlassian.net/browse/IPMAOE-204 https://ixxuswiki.atlassian.net/wiki/display/techtalk/All+In+One+Edit+based+on+angularJS+2
  2. https://ixxusdev.atlassian.net/browse/IPMAOE-203 https://ixxusdev.atlassian.net/browse/IPMAOE-204 https://ixxuswiki.atlassian.net/wiki/display/techtalk/All+In+One+Edit+based+on+angularJS+2
  3. https://ixxusdev.atlassian.net/browse/IPMAOE-203 https://ixxusdev.atlassian.net/browse/IPMAOE-204 https://ixxuswiki.atlassian.net/wiki/display/techtalk/All+In+One+Edit+based+on+angularJS+2
  4. https://ixxusdev.atlassian.net/browse/IPMAOE-203 https://ixxusdev.atlassian.net/browse/IPMAOE-204 https://ixxuswiki.atlassian.net/wiki/display/techtalk/All+In+One+Edit+based+on+angularJS+2
  5. https://ixxusdev.atlassian.net/browse/IPMAOE-203 https://ixxusdev.atlassian.net/browse/IPMAOE-204 https://ixxuswiki.atlassian.net/wiki/display/techtalk/All+In+One+Edit+based+on+angularJS+2
  6. https://ixxuswiki.atlassian.net/wiki/display/techtalk/All+in+One+Edit+-+Product+Owner