SlideShare a Scribd company logo
USING EZ PLATFORM

AS A HEADLESS CMS
JANI TARVAINEN, EZ SYSTEMS
www.ez.nowww.ez.no
Using eZ Platform as a Headless CMS
๏ Web Summer Camp
๏ September 1st, 2016
๏ Jani Tarvainen, eZ Systems
www.ez.nowww.ez.no
What is a headless CMS setup?
๏ A CMS provides the content as a feed
๏ You have a client application that consumes this feed
๏ Web client application
๏ Web server application
๏ Mobile application
www.ez.nowww.ez.no
Some example use cases
๏ An enterprise content repository
๏ Give agencies access to the content feed to create campaign sites
๏ A static site generator to generate documentation shipped with a product
๏ Mobile application that as content such as documentation
www.ez.nowww.ez.no
History of headless content management
๏ From read only to read and write
๏ AJAX+RSS demo from 2005: http://www.nigelcrawley.co.uk/bbc/
๏ REST popularisation, JSON nowadays the most common format
www.ez.nowww.ez.no
State of the use of headless today
๏ The hype is over, now it's popping up where it's appropriate
๏ Plenty of mature options for consuming Content APIs with site generators,
front end tools, content
๏(still) not the standard for new content driven sites
www.ez.nowww.ez.no
Pros for using headless for site creation
๏ You get complete freedom to use whatever tool for the experience
๏ Absolutely no limitations for front end application
๏ Reuse of content across different properties
www.ez.nowww.ez.no
Cons for using headless for site creation
๏ You loose a lot of what people expect from a CMS: Layout management,
๏ Navigation management, Banner management, Template helpers....
๏ Can lead to solving problems that have already been solved, for no
particular good reason.
๏ Feedback forms and other interactive elements still need to be handled
www.ez.nowww.ez.no
What does eZ offer for headless?
๏ A solid, comprehensive and extensible REST API for the content repository
๏ A JavaScript Client library for the REST API
๏ Symfony and Public API for custom APIs
๏ Freedom to choose whatever JavaScript toolchain you want
www.ez.nowww.ez.no
Back end options
๏ Use the built in REST API and extend it
๏ Roll your own with Public API
๏ Public API + Symfony Options
www.ez.nowww.ez.no
Examples of headless eZ Platform
๏ The most common headless eZ application is the eZ Platform admin
๏ We'll take a a look at how to turn a static site into a simple decoupled
interface for the bike ride demo
www.ez.nowww.ez.no
Time to get our hands dirty
๏ We'll convert the bike ride tutorial static template
๏ Using Vue.js 2.0 (RC3)
๏ Using eZ CAPI
www.ez.nowww.ez.no
Time to get our hands dirty
๏ Six steps:
๏ 1. Ground zero, static HTML
๏ 2. Add Vue.js basics
๏ 3. Login to eZ
๏ 4. List content
๏ 5. Add simple form
๏ 6. Merge as hybrid
www.ez.nowww.ez.no
Time to get our hands dirty
๏ First of all
๏ git pull
๏ ./installation/reset.sh
www.ez.nowww.ez.no
Step 1: Static HTML
๏ What we have:
๏ A static HTML version here: http://headless.websc/static/index.html
๏ A readily configured eZ installation: http://headless.websc/ez
๏ Completed: git checkout step-1
www.ez.nowww.ez.no
Step 2: Adding Vue.js basics
๏ Load library and app scripts
๏ Create app
๏ Define app container and template
๏ Help: http://vuejs.org/guide/
๏ Completed: git checkout step-2
www.ez.nowww.ez.no
Step 3: Add CAPI and login
๏ Add CAPI script
๏ Add constructor
๏ Log in to eZ
๏ Help: https://doc.ez.no/display/DEVELOPER/Using+the+JavaScript+REST+API
+Client
๏ Completed: git checkout step-3
www.ez.nowww.ez.no
Step 4: Load content using CAPI and simplify values
๏ Do content query
๏ Manage complex output values to ensure appropriate display
๏ Help:
๏ https://github.com/ezsystems/ezpublish-kernel/tree/v6.5.0/eZ/Publish/
Core/REST/Server/Input/Parser/Criterion
๏ http://ezsystems.github.io/javascript-rest-client/classes/
ContentService.html
๏Completed: git checkout step-4
www.ez.nowww.ez.no
Step 5: Add a simple form to create new rides
๏ Add form and set action
๏ Add action to create content using CAPI
๏ Refresh view after creation
๏ Help: http://ezsystems.github.io/javascript-rest-client/classes/
ContentService.html
๏Completed: git checkout step-5
www.ez.nowww.ez.no
Step 6: Merge into a hybrid
๏ Define layout matching for root
๏ Create Twig template
๏ Copy template and add some backend
๏ Completed: git checkout step-6
www.ez.nowww.ez.no
Conclusion
๏ Going headless is no silver bullet
๏ The CAPI abstracts the default backend
๏ It's very generic and not the best for public facing reads
๏ Hybrid approach is probably the most practical
๏ Sites with dynamic snippets
๏ Apps, etc. using content via API
www.ez.nowww.ez.no
Bonus: An alternative API with GraphQL
๏ GraphQL is similar to what REST is
๏ A high level transport layer with basic query format
๏ It is more defined and exchangeable than different REST APIs
๏ Has methods for read and writes (mutations)
www.ez.nowww.ez.no
Bonus: An alternative API with GraphQL
๏ eZ Platform and Studio currently do not have support for GraphQL
๏ You can work with Symfony Bundles and the eZ Public API to create a
GraphQL API without writing it all
๏ Leverages the awesome Youshido GraphQL Bundle
๏ GraphiQL Client: http://headless.websc/static/graphiql.html
๏ Example: git checkout step-7
www.ez.nowww.ez.no
The end
๏ Questions? No?
๏ Thank you.

More Related Content

PPTX
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
PDF
First Step Into NodeJS World
PDF
Why NodeJS
PDF
Back to the future with static site generators
PDF
Introduction to Phoenix Web Framework
PDF
Modern Web Application Development Workflow - EclipseCon France 2014
PPTX
JS digest, March 2017
PPTX
DevDay 2018 - Blazor
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
First Step Into NodeJS World
Why NodeJS
Back to the future with static site generators
Introduction to Phoenix Web Framework
Modern Web Application Development Workflow - EclipseCon France 2014
JS digest, March 2017
DevDay 2018 - Blazor

What's hot (19)

PPTX
JS digest. Mid-Summer 2017
PPTX
Super tools to boost productivity in React dev env!
PPTX
PDF
Serverless NodeJS With AWS Lambda
PDF
JS digest. May 2017
PDF
Node @ flipkart
PDF
Isomorphic React Applications: Performance And Scalability
PPTX
React in production (react global summit 2021)
PPTX
MAUI Blazor - One App that runs everywhere
PPTX
An Angular developer moving to React
PPTX
PPTX
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
PDF
The Thick Front-End
PPTX
Testing your Single Page Application
PPTX
.NET Fest 2017. Сергей Калинец. Функциональная веб-разработка на F#
PPTX
PPTX
Architecture & Workflow of Modern Web Apps
PPTX
Modern WebSites with JSF and jQuery
PPTX
WebGL: Yesterday, Today, Tomorrow
JS digest. Mid-Summer 2017
Super tools to boost productivity in React dev env!
Serverless NodeJS With AWS Lambda
JS digest. May 2017
Node @ flipkart
Isomorphic React Applications: Performance And Scalability
React in production (react global summit 2021)
MAUI Blazor - One App that runs everywhere
An Angular developer moving to React
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
The Thick Front-End
Testing your Single Page Application
.NET Fest 2017. Сергей Калинец. Функциональная веб-разработка на F#
Architecture & Workflow of Modern Web Apps
Modern WebSites with JSF and jQuery
WebGL: Yesterday, Today, Tomorrow
Ad

Similar to Using eZ Platform as a Headless CMS (with Vue.js) (20)

PDF
Ez platform meetup, madrid 21 marzo 2018 english
PDF
eZ Platform and eZ Studio: Where We Are, Where We Are Going, and a Look Towar...
PDF
Look Towards 2.0 and Beyond - eZ Conference 2016
PDF
Unleash your Symfony projects with eZ Platform
PDF
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
PDF
Using WordPress as a Headless CMS
PDF
Headless cms architecture
ODP
Ez Content Staging for the rest of us
PDF
Headless Hosting for the Modern Web cms
PDF
eZ publish - Instant Publishing and Greater Traffic
PDF
eZ Accelerator v1
PDF
Start with Bolt and Go Ez - eZ Publish Summer Camp 2015
PDF
Ny symfony meetup may 2015
PPT
eZ Publish REST API v2
PPT
E zsc2012 rest-api-v2
PDF
Introduction to eZ Platform v2 UI Customization
PPTX
The Headless Block Editor
PDF
The Future of-the CMS (Twin Cities DrupalCamp 2015)
PDF
eZ Platform 2.1: product update
PDF
Ortus Solutions - Headless Content for the Win!
Ez platform meetup, madrid 21 marzo 2018 english
eZ Platform and eZ Studio: Where We Are, Where We Are Going, and a Look Towar...
Look Towards 2.0 and Beyond - eZ Conference 2016
Unleash your Symfony projects with eZ Platform
Talking to 25% of the web - In-depth report and analysis on the WordPress RES...
Using WordPress as a Headless CMS
Headless cms architecture
Ez Content Staging for the rest of us
Headless Hosting for the Modern Web cms
eZ publish - Instant Publishing and Greater Traffic
eZ Accelerator v1
Start with Bolt and Go Ez - eZ Publish Summer Camp 2015
Ny symfony meetup may 2015
eZ Publish REST API v2
E zsc2012 rest-api-v2
Introduction to eZ Platform v2 UI Customization
The Headless Block Editor
The Future of-the CMS (Twin Cities DrupalCamp 2015)
eZ Platform 2.1: product update
Ortus Solutions - Headless Content for the Win!
Ad

More from Jani Tarvainen (8)

PDF
Aggregation APi in Ibexa DXP by Adam Wójs
PDF
GraphQL APIs is with eZ Platform, a Symfony CMS
PDF
Easy Decoupled Sitebuilding with GraphQL and Next.js
PDF
Doctrine ORM with eZ Platform REST API and GraphQL
PPTX
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
PPTX
Exploring Content API Options - March 23rd 2016
PDF
Isomorphic server side rendering with Twig
PPTX
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Aggregation APi in Ibexa DXP by Adam Wójs
GraphQL APIs is with eZ Platform, a Symfony CMS
Easy Decoupled Sitebuilding with GraphQL and Next.js
Doctrine ORM with eZ Platform REST API and GraphQL
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Exploring Content API Options - March 23rd 2016
Isomorphic server side rendering with Twig
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced IT Governance
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Cloud computing and distributed systems.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Big Data Technologies - Introduction.pptx
Advanced IT Governance
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
GamePlan Trading System Review: Professional Trader's Honest Take
NewMind AI Monthly Chronicles - July 2025
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
Cloud computing and distributed systems.

Using eZ Platform as a Headless CMS (with Vue.js)

  • 1. USING EZ PLATFORM
 AS A HEADLESS CMS JANI TARVAINEN, EZ SYSTEMS
  • 2. www.ez.nowww.ez.no Using eZ Platform as a Headless CMS ๏ Web Summer Camp ๏ September 1st, 2016 ๏ Jani Tarvainen, eZ Systems
  • 3. www.ez.nowww.ez.no What is a headless CMS setup? ๏ A CMS provides the content as a feed ๏ You have a client application that consumes this feed ๏ Web client application ๏ Web server application ๏ Mobile application
  • 4. www.ez.nowww.ez.no Some example use cases ๏ An enterprise content repository ๏ Give agencies access to the content feed to create campaign sites ๏ A static site generator to generate documentation shipped with a product ๏ Mobile application that as content such as documentation
  • 5. www.ez.nowww.ez.no History of headless content management ๏ From read only to read and write ๏ AJAX+RSS demo from 2005: http://www.nigelcrawley.co.uk/bbc/ ๏ REST popularisation, JSON nowadays the most common format
  • 6. www.ez.nowww.ez.no State of the use of headless today ๏ The hype is over, now it's popping up where it's appropriate ๏ Plenty of mature options for consuming Content APIs with site generators, front end tools, content ๏(still) not the standard for new content driven sites
  • 7. www.ez.nowww.ez.no Pros for using headless for site creation ๏ You get complete freedom to use whatever tool for the experience ๏ Absolutely no limitations for front end application ๏ Reuse of content across different properties
  • 8. www.ez.nowww.ez.no Cons for using headless for site creation ๏ You loose a lot of what people expect from a CMS: Layout management, ๏ Navigation management, Banner management, Template helpers.... ๏ Can lead to solving problems that have already been solved, for no particular good reason. ๏ Feedback forms and other interactive elements still need to be handled
  • 9. www.ez.nowww.ez.no What does eZ offer for headless? ๏ A solid, comprehensive and extensible REST API for the content repository ๏ A JavaScript Client library for the REST API ๏ Symfony and Public API for custom APIs ๏ Freedom to choose whatever JavaScript toolchain you want
  • 10. www.ez.nowww.ez.no Back end options ๏ Use the built in REST API and extend it ๏ Roll your own with Public API ๏ Public API + Symfony Options
  • 11. www.ez.nowww.ez.no Examples of headless eZ Platform ๏ The most common headless eZ application is the eZ Platform admin ๏ We'll take a a look at how to turn a static site into a simple decoupled interface for the bike ride demo
  • 12. www.ez.nowww.ez.no Time to get our hands dirty ๏ We'll convert the bike ride tutorial static template ๏ Using Vue.js 2.0 (RC3) ๏ Using eZ CAPI
  • 13. www.ez.nowww.ez.no Time to get our hands dirty ๏ Six steps: ๏ 1. Ground zero, static HTML ๏ 2. Add Vue.js basics ๏ 3. Login to eZ ๏ 4. List content ๏ 5. Add simple form ๏ 6. Merge as hybrid
  • 14. www.ez.nowww.ez.no Time to get our hands dirty ๏ First of all ๏ git pull ๏ ./installation/reset.sh
  • 15. www.ez.nowww.ez.no Step 1: Static HTML ๏ What we have: ๏ A static HTML version here: http://headless.websc/static/index.html ๏ A readily configured eZ installation: http://headless.websc/ez ๏ Completed: git checkout step-1
  • 16. www.ez.nowww.ez.no Step 2: Adding Vue.js basics ๏ Load library and app scripts ๏ Create app ๏ Define app container and template ๏ Help: http://vuejs.org/guide/ ๏ Completed: git checkout step-2
  • 17. www.ez.nowww.ez.no Step 3: Add CAPI and login ๏ Add CAPI script ๏ Add constructor ๏ Log in to eZ ๏ Help: https://doc.ez.no/display/DEVELOPER/Using+the+JavaScript+REST+API +Client ๏ Completed: git checkout step-3
  • 18. www.ez.nowww.ez.no Step 4: Load content using CAPI and simplify values ๏ Do content query ๏ Manage complex output values to ensure appropriate display ๏ Help: ๏ https://github.com/ezsystems/ezpublish-kernel/tree/v6.5.0/eZ/Publish/ Core/REST/Server/Input/Parser/Criterion ๏ http://ezsystems.github.io/javascript-rest-client/classes/ ContentService.html ๏Completed: git checkout step-4
  • 19. www.ez.nowww.ez.no Step 5: Add a simple form to create new rides ๏ Add form and set action ๏ Add action to create content using CAPI ๏ Refresh view after creation ๏ Help: http://ezsystems.github.io/javascript-rest-client/classes/ ContentService.html ๏Completed: git checkout step-5
  • 20. www.ez.nowww.ez.no Step 6: Merge into a hybrid ๏ Define layout matching for root ๏ Create Twig template ๏ Copy template and add some backend ๏ Completed: git checkout step-6
  • 21. www.ez.nowww.ez.no Conclusion ๏ Going headless is no silver bullet ๏ The CAPI abstracts the default backend ๏ It's very generic and not the best for public facing reads ๏ Hybrid approach is probably the most practical ๏ Sites with dynamic snippets ๏ Apps, etc. using content via API
  • 22. www.ez.nowww.ez.no Bonus: An alternative API with GraphQL ๏ GraphQL is similar to what REST is ๏ A high level transport layer with basic query format ๏ It is more defined and exchangeable than different REST APIs ๏ Has methods for read and writes (mutations)
  • 23. www.ez.nowww.ez.no Bonus: An alternative API with GraphQL ๏ eZ Platform and Studio currently do not have support for GraphQL ๏ You can work with Symfony Bundles and the eZ Public API to create a GraphQL API without writing it all ๏ Leverages the awesome Youshido GraphQL Bundle ๏ GraphiQL Client: http://headless.websc/static/graphiql.html ๏ Example: git checkout step-7