SlideShare a Scribd company logo
1 of 29
5.2 REST APIs
Tech Talk Live
8th February 2017
Gavin Cornwell (@gcornwell), Software Architect
Agenda
• REST API Recap
• Documentation
• What’s New
• Enhanced APIs
• Demo
• What’s Coming
• Questions
Agenda
REST API Recap
REST API Recap
• Not that new ;-)
• v1 “Public” API first added back in 4.2!
• “v1” naming introduced in 5.1
• Next slide shows how to identify a v1 API
• Framework built on top of webscript engine
• Set of internal RESTful guidelines
• Versioned API
• Consistent URLs, parameters & responses
• Proper use of HTTP status codes
• The API for all new clients
Recap
URL Structure
…/-default-/public/alfresco/versions/1/sites/{id}/members
Recap
Scope API Name Version Entity RelationshipTenant
Documentation
API Explorer
• http://api-explorer.alfresco.com
• https://github.com/Alfresco/rest-
api-explorer
• http://artificats.alfresco.com
– GAV: org.alfresco.api-explorer
(5.2.e/5.2.0)
• Source of truth
• Generate client side binding
7
Blog Post Series
• http://community.alfresco.com
• Postman collections
• 7 so far, more planned:
– Sites
– Search
– People
– Discovery
– Trashcan
– Permissions & Groups
8
New APIs
What’s New
• 56 new endpoints!
• Framework enhancements
– fields query parameter
– include query parameter (API specific)
– Operations
• Authentication API
• Discovery API
• Search API
New
URL Structure - Operation
…/-default-/public/alfresco/versions/1/nodes/{id}/copy
New
Scope API Name Version Entity OperationTenant
Core API
• /nodes/{nodeId}
– Navigation
– Content
– Information
– Associations
– Copy, Move, Lock
• /nodes/{nodeId}/renditions
• /nodes/{nodeId}/versions
New
Core API
• /deleted-nodes
• /queries
– Simple pre-canned queries designed for “live” search
– /nodes
– /people
– /sites
• /shared-links
– /shared-links/{sharedId}/email
– Expiration
New
Authentication
• /alfresco/api/-default-/public/authentication/versions/1/tickets
– Login
– Logout
– Validate
New
Discovery
• /alfresco/api/discovery
– Version information
– License information (Enterprise only)
– Status
• isReadOnly
• isQuickSharedEnabled
• …
– Installed modules
New
Search
• /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
New
Enhanced APIs
Enhanced APIs
• /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)
Enhanced
Demo
Postman Collection
• https://www.getpostman.com/collections/e28cf833734602fb4609
• File -> Import -> Import From Link
Demo
What’s Coming
Coming in 5.2.1
• Groups
• Downloads
• Audit
• Repository Actions
• Enhancements
– Avatar support for person
– Retrieve content & renditions of deleted nodes
– relativePath property for nodes
– score property for /queries/nodes (EA feedback)
Coming
Questions
Why is the API Explorer released separately?
• We wanted something for 4.2 -> 5.1
• Allowed us to get api-explorer.alfresco.com launched quickly
• Fix spec issues without requiring a product release
• API first approach, not generated
• Weren’t sure if embedding was the best way forward
– Now realised it is!
– Re-use of common models
– Dynamic based on installed modules
Questions
What about CMIS?
• Not going anywhere
• Still fully supported
• Great option for homogeneous environments
• We didn’t want to force people to learn/handle two APIs
• Performance first approach
Questions
Where’s the AMP?
• Not just a thin layer
• Core services were changed to support requirements
– NodeService
• Canned queries
– LockService
– QuickShareService
• Overriding core services in an AMP is a bad idea!!
Questions
Can we extend the API?
• Yes and No
– New APIs can be added using @annotations
– No official extension points
• Consistent, stable, documented, upgrade proof API
• Hopefully flexible enough for most requirements
– If not, please let us know!!
• You can still use webscripts and mimic v1 structure
– /search API is implemented this way
– Extract helpers to aid in building responses
Questions
Are you going to expose other services?
• Definitely!
• 5.2.1 should add groups, audit, actions
• 6.0 will add many more
• Again, feedback more than welcome!
Questions
Any live questions?
Questions

More Related Content

What's hot

Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Software
 
Apache Flink First Half of 2015 Community Update
Apache Flink First Half of 2015 Community UpdateApache Flink First Half of 2015 Community Update
Apache Flink First Half of 2015 Community UpdateRobert Metzger
 
Alfresco Day Milano 2016 - Pernexas
Alfresco Day Milano 2016 - PernexasAlfresco Day Milano 2016 - Pernexas
Alfresco Day Milano 2016 - PernexasAlfresco Software
 
Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018Dennis Koch
 
Our First ADF Experience
Our First ADF ExperienceOur First ADF Experience
Our First ADF ExperienceHans De Bal
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices developmentChavdar Baikov
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewZia Consulting
 
Loading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-syncLoading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-syncShazron Abdullah
 
Flexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesFlexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesJeff Potts
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootChavdar Baikov
 
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?Francesco Corti
 
PhoneGap Day EU 2016 - Closing Remarks
PhoneGap Day EU 2016 -  Closing RemarksPhoneGap Day EU 2016 -  Closing Remarks
PhoneGap Day EU 2016 - Closing RemarksShazron Abdullah
 
SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
 
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
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketJeff Potts
 
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET Core
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET CoreTarabica 2019 - Migration from ASP.NET MVC to ASP.NET Core
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET CoreMiroslav Popovic
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for DevelopersJeff Potts
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media WorkflowMooYeol Lee
 

What's hot (20)

Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
 
Apache Flink First Half of 2015 Community Update
Apache Flink First Half of 2015 Community UpdateApache Flink First Half of 2015 Community Update
Apache Flink First Half of 2015 Community Update
 
Alfresco Day Milano 2016 - Pernexas
Alfresco Day Milano 2016 - PernexasAlfresco Day Milano 2016 - Pernexas
Alfresco Day Milano 2016 - Pernexas
 
Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018
 
Our First ADF Experience
Our First ADF ExperienceOur First ADF Experience
Our First ADF Experience
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices development
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 
Loading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-syncLoading native plugins using PhoneGap content-sync
Loading native plugins using PhoneGap content-sync
 
Flexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesFlexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL Templates
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring Boot
 
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
Alfresco DevCon 2019 - Do you know what the Alfresco heartbeat is?
 
PhoneGap Day EU 2016 - Closing Remarks
PhoneGap Day EU 2016 -  Closing RemarksPhoneGap Day EU 2016 -  Closing Remarks
PhoneGap Day EU 2016 - Closing Remarks
 
SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSky
 
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...
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM Market
 
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET Core
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET CoreTarabica 2019 - Migration from ASP.NET MVC to ASP.NET Core
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET Core
 
Alfresco 5.0 features
Alfresco 5.0 featuresAlfresco 5.0 features
Alfresco 5.0 features
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for Developers
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media Workflow
 

Viewers also liked

Internet of Everything & WebRTC
Internet of Everything & WebRTCInternet of Everything & WebRTC
Internet of Everything & WebRTCIgor Zboran
 
Actions rules and workflow in alfresco
Actions rules and workflow in alfrescoActions rules and workflow in alfresco
Actions rules and workflow in alfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
 
Alfresco Tech Talk Live #92 - Model Management
Alfresco Tech Talk Live #92 - Model ManagementAlfresco Tech Talk Live #92 - Model Management
Alfresco Tech Talk Live #92 - Model ManagementMike Farman
 
Alfresco 4.0 - A Complete Introduction
 Alfresco 4.0 - A Complete Introduction Alfresco 4.0 - A Complete Introduction
Alfresco 4.0 - A Complete IntroductionAjeet Singh
 
Really Simple Document Management with Alfresco
Really Simple Document Management with AlfrescoReally Simple Document Management with Alfresco
Really Simple Document Management with AlfrescoAlfresco Software
 
Metadata Extraction and Content Transformation
Metadata Extraction and Content TransformationMetadata Extraction and Content Transformation
Metadata Extraction and Content TransformationAlfresco Software
 
Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMISJeff Potts
 
Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1Jeff Potts
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco Software
 

Viewers also liked (15)

Internet of Everything & WebRTC
Internet of Everything & WebRTCInternet of Everything & WebRTC
Internet of Everything & WebRTC
 
Actions rules and workflow in alfresco
Actions rules and workflow in alfrescoActions rules and workflow in alfresco
Actions rules and workflow in alfresco
 
Alfresco content model
Alfresco content modelAlfresco content model
Alfresco content model
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Alfresco Tech Talk Live #92 - Model Management
Alfresco Tech Talk Live #92 - Model ManagementAlfresco Tech Talk Live #92 - Model Management
Alfresco Tech Talk Live #92 - Model Management
 
Alfresco 4.0 - A Complete Introduction
 Alfresco 4.0 - A Complete Introduction Alfresco 4.0 - A Complete Introduction
Alfresco 4.0 - A Complete Introduction
 
Alfresco tuning part2
Alfresco tuning part2Alfresco tuning part2
Alfresco tuning part2
 
Really Simple Document Management with Alfresco
Really Simple Document Management with AlfrescoReally Simple Document Management with Alfresco
Really Simple Document Management with Alfresco
 
Metadata Extraction and Content Transformation
Metadata Extraction and Content TransformationMetadata Extraction and Content Transformation
Metadata Extraction and Content Transformation
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
 
Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMIS
 
Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1
 
Alfresco in an hour
Alfresco in an hourAlfresco in an hour
Alfresco in an hour
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
 

Similar to Tech Talk Live - 5.2 REST APIs

Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonQA or the Highway
 
Developing for the Atlassian Ecosystem
Developing for the Atlassian EcosystemDeveloping for the Atlassian Ecosystem
Developing for the Atlassian EcosystemAlex Henderson
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Hong Tat Yew
 
Spring Roo Add-On Development & Distribution
Spring Roo Add-On Development & DistributionSpring Roo Add-On Development & Distribution
Spring Roo Add-On Development & DistributionStefan Schmidt
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgePhil Pursglove
 
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEXApex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEXSergei Martens
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!Małgorzata Borzęcka
 
Migration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET CoreMigration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET CoreMiroslav Popovic
 
Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)AOE
 
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetAdvanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetCisco DevNet
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonSmartBear
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint FrameworkMałgorzata Borzęcka
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APIDavid Keener
 
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundDotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxGrace Jansen
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentalsAgileDenver
 
Modern websites in 2020 and Joomla
Modern websites in 2020 and JoomlaModern websites in 2020 and Joomla
Modern websites in 2020 and JoomlaGeorge Wilson
 
Emulators as an Emerging Best Practice for API providers
Emulators as an Emerging Best Practice for API providersEmulators as an Emerging Best Practice for API providers
Emulators as an Emerging Best Practice for API providersPostman
 

Similar to Tech Talk Live - 5.2 REST APIs (20)

Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave Sadlon
 
Developing for the Atlassian Ecosystem
Developing for the Atlassian EcosystemDeveloping for the Atlassian Ecosystem
Developing for the Atlassian Ecosystem
 
Velocity - Edge UG
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UG
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)
 
Spring Roo Add-On Development & Distribution
Spring Roo Add-On Development & DistributionSpring Roo Add-On Development & Distribution
Spring Roo Add-On Development & Distribution
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen Cambridge
 
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEXApex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
 
Migration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET CoreMigration from ASP.NET MVC to ASP.NET Core
Migration from ASP.NET MVC to ASP.NET Core
 
Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)
 
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetAdvanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundDotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentals
 
Modern websites in 2020 and Joomla
Modern websites in 2020 and JoomlaModern websites in 2020 and Joomla
Modern websites in 2020 and Joomla
 
Emulators as an Emerging Best Practice for API providers
Emulators as an Emerging Best Practice for API providersEmulators as an Emerging Best Practice for API providers
Emulators as an Emerging Best Practice for API providers
 

Recently uploaded

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Tech Talk Live - 5.2 REST APIs

  • 1. 5.2 REST APIs Tech Talk Live 8th February 2017 Gavin Cornwell (@gcornwell), Software Architect
  • 2. Agenda • REST API Recap • Documentation • What’s New • Enhanced APIs • Demo • What’s Coming • Questions Agenda
  • 4. REST API Recap • Not that new ;-) • v1 “Public” API first added back in 4.2! • “v1” naming introduced in 5.1 • Next slide shows how to identify a v1 API • Framework built on top of webscript engine • Set of internal RESTful guidelines • Versioned API • Consistent URLs, parameters & responses • Proper use of HTTP status codes • The API for all new clients Recap
  • 7. API Explorer • http://api-explorer.alfresco.com • https://github.com/Alfresco/rest- api-explorer • http://artificats.alfresco.com – GAV: org.alfresco.api-explorer (5.2.e/5.2.0) • Source of truth • Generate client side binding 7
  • 8. Blog Post Series • http://community.alfresco.com • Postman collections • 7 so far, more planned: – Sites – Search – People – Discovery – Trashcan – Permissions & Groups 8
  • 10. What’s New • 56 new endpoints! • Framework enhancements – fields query parameter – include query parameter (API specific) – Operations • Authentication API • Discovery API • Search API New
  • 11. URL Structure - Operation …/-default-/public/alfresco/versions/1/nodes/{id}/copy New Scope API Name Version Entity OperationTenant
  • 12. Core API • /nodes/{nodeId} – Navigation – Content – Information – Associations – Copy, Move, Lock • /nodes/{nodeId}/renditions • /nodes/{nodeId}/versions New
  • 13. Core API • /deleted-nodes • /queries – Simple pre-canned queries designed for “live” search – /nodes – /people – /sites • /shared-links – /shared-links/{sharedId}/email – Expiration New
  • 15. Discovery • /alfresco/api/discovery – Version information – License information (Enterprise only) – Status • isReadOnly • isQuickSharedEnabled • … – Installed modules New
  • 16. Search • /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 New
  • 18. Enhanced APIs • /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) Enhanced
  • 19. Demo
  • 22. Coming in 5.2.1 • Groups • Downloads • Audit • Repository Actions • Enhancements – Avatar support for person – Retrieve content & renditions of deleted nodes – relativePath property for nodes – score property for /queries/nodes (EA feedback) Coming
  • 24. Why is the API Explorer released separately? • We wanted something for 4.2 -> 5.1 • Allowed us to get api-explorer.alfresco.com launched quickly • Fix spec issues without requiring a product release • API first approach, not generated • Weren’t sure if embedding was the best way forward – Now realised it is! – Re-use of common models – Dynamic based on installed modules Questions
  • 25. What about CMIS? • Not going anywhere • Still fully supported • Great option for homogeneous environments • We didn’t want to force people to learn/handle two APIs • Performance first approach Questions
  • 26. Where’s the AMP? • Not just a thin layer • Core services were changed to support requirements – NodeService • Canned queries – LockService – QuickShareService • Overriding core services in an AMP is a bad idea!! Questions
  • 27. Can we extend the API? • Yes and No – New APIs can be added using @annotations – No official extension points • Consistent, stable, documented, upgrade proof API • Hopefully flexible enough for most requirements – If not, please let us know!! • You can still use webscripts and mimic v1 structure – /search API is implemented this way – Extract helpers to aid in building responses Questions
  • 28. Are you going to expose other services? • Definitely! • 5.2.1 should add groups, audit, actions • 6.0 will add many more • Again, feedback more than welcome! Questions