SlideShare a Scribd company logo
1 of 20
Exploring
Content API
Options
Jani Tarvainen, 23.3.2016
About me
• Jani Tarvainen
• Fully Stuck Developer
• I do all kinds of things
• Current Corporate Affiliations
• PS Consultant at eZ Systems
• Principle Growth Hacker at Malloc Skunkworks
• Twitter: @velmu
Content APIs?
• A way of accessing pristine, unformatted Content via an API
• 99% of the time people think of JSON reads and REST
• Arguably a Content Marketing Buzz Byproduct
• If you've got a REST API you'll make money
• Content vs. Data
• Data is Collected
• Content is Created
Content and presentation decoupled
• This is new and awesome!
• Or is it?
• RSS Feeds and AJAX in 2005: http://www.nigelcrawley.co.uk/bbc/
• P.S. XML's not dead, it's different from JSON:
• <para>Go ahead and try to create <em>mark up</em> like this in <link
target=”123”>JSON</link></para>
So what are our options?
Data Platforms
• Some examples:
• Ruby Grape (Ruby): http://www.ruby-grape.org
• Spray (Scala): http://spray.io
• Nodal (JavaScript): http://www.nodaljs.com
• Maru (Elixir / Erlang): https://maru.readme.io
• API Platform (PHP): https://api-platform.com
API Platform usage demo (with
EasyAdminBundle)
• https://www.youtube.com/watch?v=SJ805S7rdFw
Data Platform Advantages
• Extremely flexible
• High performance
• Provide exactly what is needed
• 100% Control
• Can be used to aggregate Data and Content
Data Platform Disadvantages
• Content Management is a complex problem domain
• Very developer focused
• Crafting solutions to generic problems that Content API / CMS solves
• Stability of platform over 5-10 year span
Content Platform
• Examples
• Contentful: http://contentful.com/
• Box Content API: https://developers.box.com/content-api/
• Prismic: http://prismic.io/
• Medium API: https://medium.com/developers
• GatherContent: http://gathercontent.com
Contentful Usage Demo
• https://www.youtube.com/watch?v=5JITUIFLq2c
Content Platform Advantages
• Simplified content entry
• Simple to purchase and deploy
• Good developer APIs, SDKs and Documentation
• Scales globally without actions
• If the API does not work... you know who's to blame
Content Platform Disadvantages
• No control, features can be removed at any point
• Price can shoot up with large amounts of Content
• No tools for layout management
• Integrations (authentication, etc.) can be tricky
• You'll (probably) need to do layout management somewhere
Content Management System (CMS)
• Examples
• Craft CMS: http://craftcms.com
• Drupal: http://drupal.org/
• WordPress: http://wordpress.org/
• eZ Platform / Studio: http://ez.no/
• Plone: http://plone.org
eZ Studio API and Layout editing Demo
• https://www.youtube.com/watch?v=nIoGdyuiEnk
Content Management System Advantages
• Sitebuilding essentials: Content management, permissions, layout
management, etc..
• Tried and tested over decades
• Extensible and able to integrate
• Full control over installation (self hosted)
Content Management System Disadvantages
• Usability mileage varies
• Feature bloat: Forum, CRM, eCommerce...
• Can be old and crufty
• Development & hosting overhead (self hosted)
• Tempting to see everything as Content (vs. Data)
Conclusions
• Content Management is a melting pot of Content, Data and Control
• One size does not fit all
• Power is nothing without Control
• Don't over-engineer
Editor experience matters (Sway.com)
http://sway.com
The end
• Related Links:
• Exploring Content API Options (video and Sway Slides)
• The Content API Gold Rush
• Open Source and the Content Creation Experience
• Your CMS REST API should be WordPress Compatible
• Popular Symfony components used by CMSes
• Testing content editing with Sway

More Related Content

What's hot

Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersJohn Ferringer
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksFITC
 
Metaprogramming Go
Metaprogramming GoMetaprogramming Go
Metaprogramming GoWeng Wei
 
WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsPop Apps
 
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemDownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemFITC
 
Binding Objective-C Libraries in Xamarin.iOS
Binding Objective-C Libraries in Xamarin.iOSBinding Objective-C Libraries in Xamarin.iOS
Binding Objective-C Libraries in Xamarin.iOSPierce Boggan
 
SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101Greg Hurlman
 
Untangling - fall2017 - week6
Untangling - fall2017 - week6Untangling - fall2017 - week6
Untangling - fall2017 - week6Derek Jacoby
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...Geoff Varosky
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor StoryMarko Heijnen
 
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performanceJohn McCaffrey
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson
 
Olympya web-tools 2011
Olympya web-tools 2011Olympya web-tools 2011
Olympya web-tools 2011Paulo Mattos
 
Freelancing and side-projects on Rails
Freelancing and side-projects on RailsFreelancing and side-projects on Rails
Freelancing and side-projects on RailsJohn McCaffrey
 
WordPress APIs
WordPress APIsWordPress APIs
WordPress APIsmdawaffe
 
Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4Derek Jacoby
 
Demystifying WordPress
Demystifying WordPressDemystifying WordPress
Demystifying WordPressMykl Roventine
 

What's hot (20)

Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developers
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
 
Metaprogramming Go
Metaprogramming GoMetaprogramming Go
Metaprogramming Go
 
WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
 
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemDownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
 
Binding Objective-C Libraries in Xamarin.iOS
Binding Objective-C Libraries in Xamarin.iOSBinding Objective-C Libraries in Xamarin.iOS
Binding Objective-C Libraries in Xamarin.iOS
 
SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101
 
Presentation polyconf
Presentation polyconfPresentation polyconf
Presentation polyconf
 
Untangling - fall2017 - week6
Untangling - fall2017 - week6Untangling - fall2017 - week6
Untangling - fall2017 - week6
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor Story
 
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performance
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev ConfEdy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson Notes on SF HTML5 Dev Conf
 
Olympya web-tools 2011
Olympya web-tools 2011Olympya web-tools 2011
Olympya web-tools 2011
 
Freelancing and side-projects on Rails
Freelancing and side-projects on RailsFreelancing and side-projects on Rails
Freelancing and side-projects on Rails
 
WordPress APIs
WordPress APIsWordPress APIs
WordPress APIs
 
Presentation
PresentationPresentation
Presentation
 
Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4
 
Demystifying WordPress
Demystifying WordPressDemystifying WordPress
Demystifying WordPress
 

Viewers also liked

Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)Jani Tarvainen
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseEric Evans
 
Hydrogen
HydrogenHydrogen
Hydrogenkerra_s
 
Carlene White New Resume
Carlene White New ResumeCarlene White New Resume
Carlene White New ResumeLorenzo Pierson
 
Welcome Back Atualizado 2015 2
Welcome Back  Atualizado  2015 2Welcome Back  Atualizado  2015 2
Welcome Back Atualizado 2015 2Keila Ccbeu
 
Joan Paylor Resume 7-2014
Joan Paylor Resume 7-2014Joan Paylor Resume 7-2014
Joan Paylor Resume 7-2014Joan Paylor
 
Reed Smith Value Added Services
Reed Smith Value Added ServicesReed Smith Value Added Services
Reed Smith Value Added ServicesRobin Jeffcott
 
Sofia_rani_Jena_Informatica_updated
Sofia_rani_Jena_Informatica_updatedSofia_rani_Jena_Informatica_updated
Sofia_rani_Jena_Informatica_updatedSofia Jena
 
самуил яковлевич маршак
самуил яковлевич маршаксамуил яковлевич маршак
самуил яковлевич маршакmasha07041995
 
Sandy Becker Living History 2
Sandy Becker Living History 2Sandy Becker Living History 2
Sandy Becker Living History 2Sandy Becker
 
Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015Kelyon Srl
 
Ondernemen in frankrijk
Ondernemen in frankrijkOndernemen in frankrijk
Ondernemen in frankrijkondernemen
 
ondernemen frankrijk
ondernemen  frankrijkondernemen  frankrijk
ondernemen frankrijkondernemen
 
Got Talent Meeting 2015
Got Talent  Meeting 2015Got Talent  Meeting 2015
Got Talent Meeting 2015Keila Ccbeu
 

Viewers also liked (18)

Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-case
 
Hydrogen
HydrogenHydrogen
Hydrogen
 
Carlene White New Resume
Carlene White New ResumeCarlene White New Resume
Carlene White New Resume
 
R Vidrine Resume
R Vidrine ResumeR Vidrine Resume
R Vidrine Resume
 
Vinod kitusara
Vinod kitusaraVinod kitusara
Vinod kitusara
 
Welcome Back Atualizado 2015 2
Welcome Back  Atualizado  2015 2Welcome Back  Atualizado  2015 2
Welcome Back Atualizado 2015 2
 
Joan Paylor Resume 7-2014
Joan Paylor Resume 7-2014Joan Paylor Resume 7-2014
Joan Paylor Resume 7-2014
 
Reed Smith Value Added Services
Reed Smith Value Added ServicesReed Smith Value Added Services
Reed Smith Value Added Services
 
Sofia_rani_Jena_Informatica_updated
Sofia_rani_Jena_Informatica_updatedSofia_rani_Jena_Informatica_updated
Sofia_rani_Jena_Informatica_updated
 
самуил яковлевич маршак
самуил яковлевич маршаксамуил яковлевич маршак
самуил яковлевич маршак
 
El impacto social de las revistas científicas. Dr. Alejandro Márquez Jiménez
El impacto social de las revistas científicas. Dr. Alejandro Márquez JiménezEl impacto social de las revistas científicas. Dr. Alejandro Márquez Jiménez
El impacto social de las revistas científicas. Dr. Alejandro Márquez Jiménez
 
Sandy Becker Living History 2
Sandy Becker Living History 2Sandy Becker Living History 2
Sandy Becker Living History 2
 
Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015
 
Re-Abhay
Re-AbhayRe-Abhay
Re-Abhay
 
Ondernemen in frankrijk
Ondernemen in frankrijkOndernemen in frankrijk
Ondernemen in frankrijk
 
ondernemen frankrijk
ondernemen  frankrijkondernemen  frankrijk
ondernemen frankrijk
 
Got Talent Meeting 2015
Got Talent  Meeting 2015Got Talent  Meeting 2015
Got Talent Meeting 2015
 

Similar to Exploring Content API Options - March 23rd 2016

WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management SystemsEmily Lewis
 
How to audit Drupal Sites for performance, content and best practices
How to audit Drupal Sites for performance, content and best practicesHow to audit Drupal Sites for performance, content and best practices
How to audit Drupal Sites for performance, content and best practicesJon Peck
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010Joel Gascoigne
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePointLouis-Philippe Lavoie
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
WordPress Rest API
WordPress Rest APIWordPress Rest API
WordPress Rest APIBrian Layman
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your websitehernanibf
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websitehernanibf
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterpriseTaylor Lovett
 
Documenting APIs (with many pictures of cats) - APIStrat
Documenting APIs (with many pictures of cats) - APIStratDocumenting APIs (with many pictures of cats) - APIStrat
Documenting APIs (with many pictures of cats) - APIStratAnya Stettler
 
Progressive Enhancement using WSGI
Progressive Enhancement using WSGIProgressive Enhancement using WSGI
Progressive Enhancement using WSGIMatthew Wilkes
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchExcella
 
Minimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good EnoughMinimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good EnoughRandy Shoup
 
Docs Like Code: Strategies and Stories
Docs Like Code: Strategies and StoriesDocs Like Code: Strategies and Stories
Docs Like Code: Strategies and StoriesAnne Gentle
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseTaylor Lovett
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Dave Wallace
 

Similar to Exploring Content API Options - March 23rd 2016 (20)

WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management Systems
 
Platform Selection
Platform SelectionPlatform Selection
Platform Selection
 
How to audit Drupal Sites for performance, content and best practices
How to audit Drupal Sites for performance, content and best practicesHow to audit Drupal Sites for performance, content and best practices
How to audit Drupal Sites for performance, content and best practices
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
Wp 3hr-course
Wp 3hr-courseWp 3hr-course
Wp 3hr-course
 
WordPress Rest API
WordPress Rest APIWordPress Rest API
WordPress Rest API
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your website
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your website
 
Platforms FTW!
Platforms FTW!Platforms FTW!
Platforms FTW!
 
Platforms FTW!
Platforms FTW!Platforms FTW!
Platforms FTW!
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterprise
 
Documenting APIs (with many pictures of cats) - APIStrat
Documenting APIs (with many pictures of cats) - APIStratDocumenting APIs (with many pictures of cats) - APIStrat
Documenting APIs (with many pictures of cats) - APIStrat
 
Progressive Enhancement using WSGI
Progressive Enhancement using WSGIProgressive Enhancement using WSGI
Progressive Enhancement using WSGI
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from Scratch
 
Minimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good EnoughMinimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good Enough
 
Docs Like Code: Strategies and Stories
Docs Like Code: Strategies and StoriesDocs Like Code: Strategies and Stories
Docs Like Code: Strategies and Stories
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
 

More from Jani Tarvainen

Aggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsAggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsJani Tarvainen
 
GraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSGraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSJani Tarvainen
 
Introduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationIntroduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationJani Tarvainen
 
Easy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsEasy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsJani Tarvainen
 
Doctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLDoctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLJani Tarvainen
 
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMPerformance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMJani Tarvainen
 
Isomorphic server side rendering with Twig
Isomorphic server side rendering with TwigIsomorphic server side rendering with Twig
Isomorphic server side rendering with TwigJani Tarvainen
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishJani Tarvainen
 

More from Jani Tarvainen (8)

Aggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsAggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam Wójs
 
GraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSGraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMS
 
Introduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationIntroduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI Customization
 
Easy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsEasy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.js
 
Doctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLDoctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQL
 
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMPerformance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
 
Isomorphic server side rendering with Twig
Isomorphic server side rendering with TwigIsomorphic server side rendering with Twig
Isomorphic server side rendering with Twig
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Exploring Content API Options - March 23rd 2016

  • 2. About me • Jani Tarvainen • Fully Stuck Developer • I do all kinds of things • Current Corporate Affiliations • PS Consultant at eZ Systems • Principle Growth Hacker at Malloc Skunkworks • Twitter: @velmu
  • 3. Content APIs? • A way of accessing pristine, unformatted Content via an API • 99% of the time people think of JSON reads and REST • Arguably a Content Marketing Buzz Byproduct • If you've got a REST API you'll make money • Content vs. Data • Data is Collected • Content is Created
  • 4. Content and presentation decoupled • This is new and awesome! • Or is it? • RSS Feeds and AJAX in 2005: http://www.nigelcrawley.co.uk/bbc/ • P.S. XML's not dead, it's different from JSON: • <para>Go ahead and try to create <em>mark up</em> like this in <link target=”123”>JSON</link></para>
  • 5. So what are our options?
  • 6. Data Platforms • Some examples: • Ruby Grape (Ruby): http://www.ruby-grape.org • Spray (Scala): http://spray.io • Nodal (JavaScript): http://www.nodaljs.com • Maru (Elixir / Erlang): https://maru.readme.io • API Platform (PHP): https://api-platform.com
  • 7. API Platform usage demo (with EasyAdminBundle) • https://www.youtube.com/watch?v=SJ805S7rdFw
  • 8. Data Platform Advantages • Extremely flexible • High performance • Provide exactly what is needed • 100% Control • Can be used to aggregate Data and Content
  • 9. Data Platform Disadvantages • Content Management is a complex problem domain • Very developer focused • Crafting solutions to generic problems that Content API / CMS solves • Stability of platform over 5-10 year span
  • 10. Content Platform • Examples • Contentful: http://contentful.com/ • Box Content API: https://developers.box.com/content-api/ • Prismic: http://prismic.io/ • Medium API: https://medium.com/developers • GatherContent: http://gathercontent.com
  • 11. Contentful Usage Demo • https://www.youtube.com/watch?v=5JITUIFLq2c
  • 12. Content Platform Advantages • Simplified content entry • Simple to purchase and deploy • Good developer APIs, SDKs and Documentation • Scales globally without actions • If the API does not work... you know who's to blame
  • 13. Content Platform Disadvantages • No control, features can be removed at any point • Price can shoot up with large amounts of Content • No tools for layout management • Integrations (authentication, etc.) can be tricky • You'll (probably) need to do layout management somewhere
  • 14. Content Management System (CMS) • Examples • Craft CMS: http://craftcms.com • Drupal: http://drupal.org/ • WordPress: http://wordpress.org/ • eZ Platform / Studio: http://ez.no/ • Plone: http://plone.org
  • 15. eZ Studio API and Layout editing Demo • https://www.youtube.com/watch?v=nIoGdyuiEnk
  • 16. Content Management System Advantages • Sitebuilding essentials: Content management, permissions, layout management, etc.. • Tried and tested over decades • Extensible and able to integrate • Full control over installation (self hosted)
  • 17. Content Management System Disadvantages • Usability mileage varies • Feature bloat: Forum, CRM, eCommerce... • Can be old and crufty • Development & hosting overhead (self hosted) • Tempting to see everything as Content (vs. Data)
  • 18. Conclusions • Content Management is a melting pot of Content, Data and Control • One size does not fit all • Power is nothing without Control • Don't over-engineer
  • 19. Editor experience matters (Sway.com) http://sway.com
  • 20. The end • Related Links: • Exploring Content API Options (video and Sway Slides) • The Content API Gold Rush • Open Source and the Content Creation Experience • Your CMS REST API should be WordPress Compatible • Popular Symfony components used by CMSes • Testing content editing with Sway