SlideShare a Scribd company logo
Exciting New Alfresco REST APIs
Jan Vonka
BeeCon 2017
(Zaragoza)
REST API Agenda
• Introduction
• Overview & Architecture
• Documentation
• What’s New & Changed ?
• Demo
• What’s Next ?
• Summary
Introduction
Introduction
Jan Vonka
• Senior Developer @ Alfresco
• Balloonist
• http://www.slideshare.net/jvonka
Disclaimer
The information and features
presented are subject to change.
We look forward to collaborating with you to
improve and extend the Alfresco APIs J
Overview & Architecture
Alfresco Digital Business Platform
Alfresco API Overview
Content	
Services
(Repository)
Process	
Services
(Activiti)
REST	APIREST	API
Alfresco	Platform	
Micro-Services	/	Containers
Search
Services
(Solr)
Governance	Services	(RM)
RM
ECMBPM
CMIS	(Browser	Binding)
ADF
JavaScript	Client	Binding
HTTPS	/	JSON	/Binary
Java	Client	Binding	(EA) Other	– Python,	Go,	… ?
RM
Apps	&	Integrations Apps	&	Integrations Apps	&	Integrations
REST API components
REST API Introduction
• The remote public API for all new clients
– enabler for Alfresco Digital Business Platform
– client-driven features
– contract-first design
• Open API
– consistent, documented, functional, …
– performant, secure, reliable …
REST API Introduction
• RESTful Framework
– pragmatic, consistent, well-defined guidelines
– option for custom / private APIs
• eg. https://github.com/covolution/quick-api
• CMIS is still a good option
– eg. heterogeneous environments (I = interoperability)
• WebScripts
– custom (”roll-your-own”)
Context & Use-cases
• Digital Business Platform
– Applications & integrations
– pick & mix services (*)
– configure &/or discover …
• what’s enabled
• incremental new features
– Enterprise vs Core
• User Roles / Groups
– End-User vs Administrators
– Managers – Sites, Records
– Other Permissions
Process
(1.6+)
Governance
(2.6+)
Content
(5.2+)
Search
(1.0+)
URL Structure
https://host:port/alfresco/api/-default-/public/alfresco/versions/1/…
Scope API	Name Version
Entity Relationship	(or	Operation**)
Tenant
/nodes
/nodes/{id}
/nodes/{id}/children
/nodes/{id}/copy
* Where applicable
** Operations are new for 5.2 (used for specific scenarios where relationship does not make sense)
GET, POST
GET, PUT, DELETE
GET, POST
POST
Deployed	Environment
Method	(*)
Documentation
• Is your friend !
• Single source of truth
• Open API Spec (~ Swagger)
• Generate client-side bindings
• Developer resource
– http://api-explorer.alfresco.com
– https://github.com/Alfresco/rest-
api-explorer
– http://artifacts.alfresco.com
• GAV: org.alfresco.api-explorer (5.2.e/5.2.0)
API Explorer
Content Services API (v5.2 +)
Activities
Comments
Favorites
Networks
Nodes (& Associations)
People
Preferences
Queries (Simple)
Ratings
Renditions
Shared-links
Search (Advanced)
Sites
Tags
Trashcan
Versions
Process Services API (v1.6 +)
Deployments
Process Definitions
Process Instances
Models
Executions
Task Instances
History
Forms
Signals
Management (Tables, Prop’s, Jobs)
Identity (Users, Groups)
…
PS Engine API PS Enterprise API
Governance Services API (v2.6 +)
GS Core API GS Classification Guide API
File plans, record categories, record folders, records, etc.
Community: Blog Post Series
• Alfresco v1 REST API by Gavin Cornwell (includes Postman collections)
– Part 1 - Introduction
– Part 2 - Navigation
– Part 3 - Creating Nodes & Uploading Content
– Part 4 - Managing Nodes & Download Content
– Part 5 - Versioning & Locking
– Part 6 - Associations
– Part 7 - Collaboration (Comments, Ratings, Tags, ...)
– Part 8 - Sites
– Part 9 - Queries & Search
– Part 10 - People
https://community.alfresco.com/community/ecm/blog/2016/10/11/v1-rest-api-part-1-introduction
https://community.alfresco.com/docs/DOC-6532-alfresco-52-rest-apis
Community links - REST APIs
• Links to lots of resources
– Blogs
– Videos
– Presentations
– Bindings
– Sample clients
– Docs
What’s New
& Changed ?
What’s New – Content Services 5.2
• 56 new endpoints
– Core API
– Authentication API
– Discovery API
– Search API
• REST Framework enhancements
– return less => fields query param
– return more => include query param (API specific)
– operations (eg. /copy, /move, /lock, /unlock, /revert, /restore, …)
– @WebApiNoAuth
Upload content
curl -utest:test –X POST
http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/-my-/children -F filedata=@test.docx
Download content
curl -utest:test -X GET
http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/99a40be1-268f-4b8e-ab49-866747bbd660/content
Simple Content Example
Core API
…/alfresco/api/-default-/public/alfresco/versions/1/…
• /nodes/{nodeId}
– Navigation
– Content
– Information
– Operations include: Copy, Move, Lock, Unlock
– Associations
• /nodes/{nodeId}/renditions
• /nodes/{nodeId}/versions
– Operations include: Revert
Core API
…/alfresco/api/-default-/public/alfresco/versions/1/…
• /deleted-nodes
– Operations: Restore
• /queries
– /nodes
– /people
– /sites
• /shared-links
– public share, unshare, find, …
– expiration (new)
Authentication API
…/alfresco/api/-default-/public/authentication/versions/1/…
• /tickets
– Login
– Logout
– Validate
Discovery API
…/alfresco/api/…
• /discovery
– Version information
– License information (Enterprise only)
– Status
• isReadOnly
• isQuickSharedEnabled
• …
– Installed modules
Search API
…/alfresco/api/-default-/public/search/versions/1/...
• /search
– Low level search API (effectively exposes Java API)
– AFTS, CMIS, Lucene support
– Faceting
– Spellcheck
– Term highlighting
– Search nodes, versions or deleted-nodes
Enhanced APIs
…/alfresco/api/-default-/public/alfresco/versions/1/…
• /sites
– Create site (no custom preset support yet)
– Update site details
– Delete site
• /people
– List people (no filtering)
– Create person
– Update person
• Enable/Disable (admin only)
Demo
Postman Collection
• File -> Import -> Import From Link
https://www.getpostman.com/collections/3b55c5964cdf44c4836c
Simple File Sharing prototype (new APIs)
Files	&	Folders
Upload	&	Download
Preview
Live	Search
Shared	Links
Move	&	Copy
Delete	& Undo
….
Client Bindings & Example Apps
• JavaScript Client + ADF
– ADF 101 tutorial blogs
– HealthCare Demo App
• Java Client (Early Access)
– Java Client blogs
– basis for new Android client(s)
• Developer Ecosystem - Partners & Community J
What’s Next ?
Futures
• More Services exposed
– Content 5.2.x - Groups, … Audit, Repo Actions, Avatar ?
– Governance 2.6.x – Core & Classification Guide
– REST Framework improvements (eg. Batch)
• Other Enhancements
– Event Streams / Change Log
– Callbacks - eg. Queues, Web Hooks, Server-Sent Events ?
Futures
• Your feedback
– which services to expose next
– new features driven by your key use-cases
• Contribute ? – pull/merge requests (via git)
– API spec – consistent with existing style & guidelines
– Implementation code
– Test code to validate behaviour (+ve & -ve)
Summary
References
• Alfresco REST APIs (with more links)
https://community.alfresco.com/docs/DOC-6532-alfresco-52-rest-apis
• API Explorer
https://api-explorer.alfresco.com
https://github.com/Alfresco/rest-api-explorer
• Intro Video
https://www.youtube.com/watch?v=XiU9MMw8LG0
Thank You
Jan Vonka
https://www.slideshare.net/jvonka

More Related Content

What's hot (20)

PPTX
Next.js vs React | what to choose for frontend development_
ForceBolt
 
PPTX
Moving Gigantic Files Into and Out of the Alfresco Repository
Jeff Potts
 
PDF
Running Apache NiFi with Apache Spark : Integration Options
Timothy Spann
 
PPTX
Bulk Export Tool for Alfresco
Richard McKnight
 
PDF
Next.js Introduction
Saray Chak
 
PDF
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
PPTX
Alfresco tuning part1
Luis Cabaceira
 
PDF
Webinar "Introduction to OpenStack"
CREATE-NET
 
PDF
Docker on Docker
Docker, Inc.
 
PDF
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Databricks
 
PPTX
Cloud computing and OpenStack
Edgar Magana
 
PPTX
Alfresco CMIS
Alfresco Software
 
PDF
Introduction to Kibana
Vineet .
 
PPTX
Sizing your alfresco platform
Luis Cabaceira
 
PPTX
Microservices in the Apache Kafka Ecosystem
confluent
 
PDF
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
PPT
Intro To Alfresco Part 1
Jeff Potts
 
PDF
Intro to Terraform
Josh Michielsen
 
PPTX
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Simplilearn
 
PPTX
Docker 101 - High level introduction to docker
Dr Ganesh Iyer
 
Next.js vs React | what to choose for frontend development_
ForceBolt
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Jeff Potts
 
Running Apache NiFi with Apache Spark : Integration Options
Timothy Spann
 
Bulk Export Tool for Alfresco
Richard McKnight
 
Next.js Introduction
Saray Chak
 
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
Alfresco tuning part1
Luis Cabaceira
 
Webinar "Introduction to OpenStack"
CREATE-NET
 
Docker on Docker
Docker, Inc.
 
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Databricks
 
Cloud computing and OpenStack
Edgar Magana
 
Alfresco CMIS
Alfresco Software
 
Introduction to Kibana
Vineet .
 
Sizing your alfresco platform
Luis Cabaceira
 
Microservices in the Apache Kafka Ecosystem
confluent
 
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
Intro To Alfresco Part 1
Jeff Potts
 
Intro to Terraform
Josh Michielsen
 
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Simplilearn
 
Docker 101 - High level introduction to docker
Dr Ganesh Iyer
 

Similar to Exciting New Alfresco REST APIs (20)

PDF
Alfresco 5.2 REST API
J V
 
PPTX
Tech Talk Live - 5.2 REST APIs
Gavin Cornwell
 
PDF
Alfresco Day Vienna 2015 - Technical Track - REST API of the Future
Alfresco Software
 
PPTX
Alfresco Tech Talk Live - REST API of the Future
Gavin Cornwell
 
PPTX
Alfresco Process Services REST API - Alfresco DevCon 2018
Dennis Koch
 
PDF
Records Management - the api story
David Webster
 
PPTX
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Jeff Potts
 
PDF
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti
 
PPTX
Alfresco Tech Talk Live 106
Angel Borroy López
 
PDF
Alfresco REST API of the future ... is closer than you think
J V
 
PPT
2 Magma Introduction
vegamario
 
PDF
Tech talk live on new alfresco api
Alfresco Software
 
PPTX
Alfresco overview EDM
sang nguyen
 
PPTX
Intro to Alfresco for Developers
Jeff Potts
 
PDF
There is REST and then there is "REST"
Radovan Semancik
 
PPT
Alfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Software
 
PDF
REST APIs
Arthur De Magalhaes
 
PPT
Alfresco As SharePoint Alternative - Architecture Overview
Alfresco Software
 
PDF
BP-6 Repository Customization Best Practices
Alfresco Software
 
PDF
Zyncro rest api feb 2013
Zyncro
 
Alfresco 5.2 REST API
J V
 
Tech Talk Live - 5.2 REST APIs
Gavin Cornwell
 
Alfresco Day Vienna 2015 - Technical Track - REST API of the Future
Alfresco Software
 
Alfresco Tech Talk Live - REST API of the Future
Gavin Cornwell
 
Alfresco Process Services REST API - Alfresco DevCon 2018
Dennis Koch
 
Records Management - the api story
David Webster
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Jeff Potts
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti
 
Alfresco Tech Talk Live 106
Angel Borroy López
 
Alfresco REST API of the future ... is closer than you think
J V
 
2 Magma Introduction
vegamario
 
Tech talk live on new alfresco api
Alfresco Software
 
Alfresco overview EDM
sang nguyen
 
Intro to Alfresco for Developers
Jeff Potts
 
There is REST and then there is "REST"
Radovan Semancik
 
Alfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Software
 
Alfresco As SharePoint Alternative - Architecture Overview
Alfresco Software
 
BP-6 Repository Customization Best Practices
Alfresco Software
 
Zyncro rest api feb 2013
Zyncro
 
Ad

Recently uploaded (20)

PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Get Started with Maestro: Agent, Robot, and Human in Action – Session 5 of 5
klpathrudu
 
PDF
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Get Started with Maestro: Agent, Robot, and Human in Action – Session 5 of 5
klpathrudu
 
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Ad

Exciting New Alfresco REST APIs