a real adf experience-3 - beecon 2017beecon.buzz/2017/assets/files/f42/a real adf...

28
A real ADF experience by Manolo Swerts

Upload: phungdien

Post on 06-Mar-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

A real ADF experience by Manolo Swerts

Page 2: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Mano(lo) Swerts

Page 3: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

What we’ll cover• What is ADF?

• The benefits of ADF in Alfresco architectures

• ADF at Ixxus

• Our Experience

• What does the future hold?

Page 4: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

What is ADF?

Page 5: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Evolution of Alfresco Development

AntSDK

CommunityMavenSDK

AlfrescoSDK

ADF

Page 6: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Alfresco Development Framework

Page 7: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Alfresco Development Framework

Alfre

sco

ADF

appl

icat

ion

Custom AngularJS Components

Alfresco AngularJS Components

Alfresco Unified JS API

Serv

ice

laye

r

REST API

Alfresco

REST API

Activiti

Page 8: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Alfresco Development Framework

Page 9: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

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

Page 10: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

ADF at Ixxus

Page 11: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

All In One Edit“Bring efficiency to content creation and manual enrichment tasks in an editorial workflow by being able to read / edit content and metadata in one single interface.”

Page 12: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Requirements

Configurable User Friendly Easy to Deploy

Page 13: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

How?

Page 14: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

ArchitectureADF

Custom action

AOE Component (View)

Edit Form Component

TinyMCE Component Alfresco File View Component

Share

Custom action

/all-in-one-edit/<nodeId>

<authentication ticket>

Page 15: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

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)

Page 16: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

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

Page 17: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

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

Page 18: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

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",[ ... ]

}]}

}]}

}]

Page 19: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Create AOE Component (View)AOE AngularJS 2 Component

index.ts app.module.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

Page 20: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Add AOE Action• Update Files Component to add new Action

Files Component

files.component.html

files.component.ts

Page 21: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Result

Page 22: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience
Page 23: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience
Page 24: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Let’s reflect…

Page 25: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

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

Page 26: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

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?

Page 27: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience
Page 28: A real ADF experience-3 - BeeCon 2017beecon.buzz/2017/assets/files/F42/A real ADF experience-3.pdf · Low learning curve for AngularJS ... • Bringing the full-fledged AOE experience

Speaker contacts

[email protected]

@manoswerts