keensoft angelborroy @AngelBorroy
How to Write Alfresco
Addons that Last Forever
Angel Borroy
Developer at USTGlobal
Learn. Connect. Collaborate.
Living in a
Changing
World
Learn. Connect. Collaborate.
Alfresco Add-ons
Repository
Share
ADF
Learn. Connect. Collaborate.
Alfresco Add-ons
Repository
Share
ADF
SHARE
2008-2018
ADF 1.X
2016-2017
ADF 2.X
2017-2019
REPO
Born 2007
ADF 3.X
Born 2019
Learn. Connect. Collaborate.
Alfresco Add-ons… Workflows!
Learn. Connect. Collaborate.
Alfresco Add-ons… Workflows!
jBPM
2008-2015
Activiti embedded
2011-2017 Activiti Cloud
Born 2019?
Learn. Connect. Collaborate.
Alfresco Integrations
REST
Learn. Connect. Collaborate.
Alfresco Integrations
REST
SOAP
2006-2015
REST 1.X
2008-2016
REST 2.X
Born 2016
CMIS
2010-2017?
Micro Services
Born 2019?
Learn. Connect. Collaborate.
Repository – Extension Points
• Content Model
• Actions
• Web Scripts
• Behaviors & Policies
• Metadata Extractors
• Scheduled Jobs
• Authentication
• Subsystems
• Patches
100%
Use
Extension
Points
Learn. Connect. Collaborate.
Repository – Java Libraries
Jackson
Learn. Connect. Collaborate.
Repository – Java Libraries
docx4j
Apache xmlsec
Learn. Connect. Collaborate.
Repository – Best practices
• Keep your code as smaller as possible
– One module per feature
• Don’t use private APIs
• Don’t use deprecated APIs
• Don’t re-use Alfresco properties
– Create your own set of configuration properties
• Use JARs instead of AMPs when possible
• Use Alfresco SDK or at least Maven based
project
• Don’t overwrite original resources (when
possible)
– Override selected features
Learn. Connect. Collaborate.
Share
* Probably only Alfresco Government Services team… and a handful of customers!
Learn. Connect. Collaborate.
ADF
TIME
NLY
ADF
3.X
Learn. Connect. Collaborate.
ACA
• Extension format
• Routes
• Components
• Actions
• Application actions
• Rules
• Application features
• Registration
• Evaluators
• Redistributable libraries
Learn. Connect. Collaborate.
Workflows
BPMN Diagrams
Scripting Code
(Partial) Java Code
Forms
Content Model
Learn. Connect. Collaborate.
Integrations
SOAP
SOAP was designed in 1998
The SOAP specification was closed in 2009
Are you still using SOAP in 2019?
REST
Share still works with REST API 1.X
ADF works with REST API 2.X
Custom Web Scripts remain working for Repo
Learn. Connect. Collaborate.
Integrations
Learn. Connect. Collaborate.
Listing your Addons
Learn. Connect. Collaborate.
The Path to Immortality
ACA
Alfresco Content Application
(based in ADF)
Repository
Moving from
actions & behaviors to
Micro Services
Learn. Connect. Collaborate.
Sharing your
experience in
a Changing
World
keensoft angelborroy @AngelBorroy
How to Write Alfresco
Addons that Last Forever
Angel Borroy
Developer at USTGlobal

How to Write Alfresco Addons that Last Forever