SlideShare a Scribd company logo
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
A Real ADF Experience
A Real ADF Experience
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?
A Real ADF Experience
Speaker contacts
mano.swerts@ixxus.com
@manoswerts

More Related Content

PPTX
JavaFX meetup
PDF
Angular coding: from project management to web and mobile deploy
PDF
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
PDF
Introduction for Master Class "Amazing Reactive Forms"
PPTX
React Native & NativeScript
PPTX
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
PDF
Angular animation
PDF
Can You Do That with APEX? Building Not So Straightforward Pages
JavaFX meetup
Angular coding: from project management to web and mobile deploy
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
Introduction for Master Class "Amazing Reactive Forms"
React Native & NativeScript
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
Angular animation
Can You Do That with APEX? Building Not So Straightforward Pages

What's hot (11)

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

Similar to A Real ADF Experience (20)

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

Recently uploaded (20)

PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
assetexplorer- product-overview - presentation
PDF
Digital Strategies for Manufacturing Companies
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Nekopoi APK 2025 free lastest update
PDF
Odoo Companies in India – Driving Business Transformation.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
CHAPTER 2 - PM Management and IT Context
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Digital Systems & Binary Numbers (comprehensive )
Operating system designcfffgfgggggggvggggggggg
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Understanding Forklifts - TECH EHS Solution
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
assetexplorer- product-overview - presentation
Digital Strategies for Manufacturing Companies
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
L1 - Introduction to python Backend.pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Nekopoi APK 2025 free lastest update
Odoo Companies in India – Driving Business Transformation.pdf

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
  • 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?

Editor's Notes

  • #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
  • #8: 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
  • #9: 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
  • #10: 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
  • #11: 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
  • #13: https://ixxuswiki.atlassian.net/wiki/display/techtalk/All+in+One+Edit+-+Product+Owner