SlideShare a Scribd company logo
Embracing the modern web using
Drupal as Headless CMS
with GatsbyJS
by Jesus Manuel Olivas / weKnow
#DecoupledDays
#DecoupledDays2019
$ whoami
Jesus Manuel Olivas
jmolivas@weknowinc.com
twitter.com/jmolivas
github.com/jmolivas
drupal.org/u/jmolivas
jmolivas.weknowinc.com
Mexicali

Mexico + California
Calexico

California + Mexico
$ ifconfig
weAre
weKnow
weGive
4,567,311
Drupal … Drupal … Drupal
When all you have is a
hammer, everything looks
like a nail.
Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC
Traditional Monolithic CMS
The Traditional Headless
+
Challenges
Performance Reliability Security Hosting
Performance
Visitor Server CMS Database
Reliability - The Traditional Stack
Reliability - The Traditional Stack + Cache
Reliability - The Headless Stack
Reliability - A more advanced Stack
Security
> Stack dependencies
> Platform dependencies core
> Custom modules dependencies
> Third party libraries
Hosting
> Managing a complex stack is not easy.
> Requires knowledge of managing servers,
databases, cache, DNS, backups, automation, and
much more.
> The more complex your stack is to support your
production site, the more expensive it becomes.
Is there anything else we can use?
Static Site Generators
Back to the flat-files
JavaScript
Any dynamic programming during the request/response cycle is handled by JavaScript, running entirely
on the client. This could be any frontend framework, library, or even vanilla JavaScript.
APIs
All server-side processes or database actions are abstracted into reusable APIs, accessed over HTTPS
with JavaScript. These can be custom-built or leverage third-party services.
Markup
Templated markup should be prebuilt at deploy time, usually using a site generator for content
sites, or a build tool for web apps.
Visitor CDN
The JAMStack Stack
Challenges
• Web Forms (CRM Integration , Serverless Function,
Form submission PaaS)
• E-Commerce (Shopify, Salsify, PXM, Headless
Commerce, Stripe, Paypal, Recurly)
• Comments (Disqus, Serverless functions)
• GUI (WYSIWYG for user to manage content)
Decoupling the
"Content Management System"
from the
“Production Environment".
●
Git Based / Headless CMS
●
CloudCannon
NetlifyCMS
Forestry
Blaze
Sanity
GraphCMS
Contentful
How about the Drop?
Drupal CMS + Tome to export as Flat Files
+ ● Build
Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC
Gatsby is a free and open source
framework based on React that
helps developers build blazing
fast websites and apps
The Content Mesh
● https://www.gatsbyjs.org/blog/2018-10-18-creating-compelling-content-experiences/
Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC
Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC
https://github.com/weknowinc/drupal-boina
# Clone repository
git clone git@github.com:weknowinc/drupal-boina.git
# Copy .env file
cp .env.dist .env
# Start containers
ahoy up
# Install Composer dependencies
ahoy composer install
# Install Boina distribution
ahoy drupal boina:install
https://github.com/weknowinc/gatsby-starter-drupal-boina
# Download Starter 

gatsby new boina https://github.com/weknowinc/gatsby-starter-drupal-boina
cd boina
# Copy environment file
cp .env.dist .env.development
# Update environment variables
DRUPAL_HOST=http://drupal-boina.develop/
# Start Gatsby in development mode
gatsby develop
Use theme
# Download Starter 

gatsby new boina https://github.com/weknowinc/gatsby-starter-drupal-boina
cd boina
# Copy environment file
cp .env.dist .env.development
# Update environment variables
DRUPAL_HOST=http://drupal-boina.develop/
# Start Gatsby in development mode
gatsby develop
Must have plugins
• gatsby-source-drupal
• gatsby-transformer-remark
• gatsby-remark-drupal (support drupal images)
• gatsby-remark-images
• gatsby-remark-external-links
• gatsby-plugin-sharp
• gatsby-plugin-react-helmet
TUI Editor (WYSIWYG for markdown)
Build Hooks (Trigger a external build hook)
What is Gone
• Twig
• Render array
• Theme layer
• Theme preprocessing
• *Views (use GraphQL instead)
• Data modeling.
• Content editor capabilities,
revisions, moderation and
scheduling.
• Pathauto
• Site Settings
What to keep using
● Build● API / GraphQL
Feel free to turn off your Drupal after build
●https://twitter.com/ckaotik/status/647020262001614848
Live Demo
Choose the right tool for
the job
Thank you … Questions?
Feel free ask here and via twitter @jmolivas
#DecoupledDays #DecoupledDays2019

More Related Content

PDF
How to keep Drupal relevant in the Git-based and API-driven CMS era Florida
PDF
How to keep Drupal relevant in the Git-based and API-driven CMS era DrupalCampNJ
PDF
Drupal South 2018 -  How to keep Drupal relevant in the Git-based and API-dri...
PDF
Best Friend || Worst Enemy: WordPress Multisite
PDF
Web101
PDF
The shift to the edge
ODP
Introduction to WordPress Multisite
PDF
WordPress 101
How to keep Drupal relevant in the Git-based and API-driven CMS era Florida
How to keep Drupal relevant in the Git-based and API-driven CMS era DrupalCampNJ
Drupal South 2018 -  How to keep Drupal relevant in the Git-based and API-dri...
Best Friend || Worst Enemy: WordPress Multisite
Web101
The shift to the edge
Introduction to WordPress Multisite
WordPress 101

What's hot (20)

PPTX
Webpack and Web Performance Optimization
PPT
WP-MU 101: How to Install and Avoid Common Mistakes
PDF
Easy WP Dev environments with VVV
PDF
CPAVMUG Presentation - Community Resources
PPTX
Wordpress customer support
KEY
Exploring WordPress Multisite
ODP
WordPress Multisite Q&A
PPTX
Word press development for non developers
PDF
Hidden Secrets For A Hack-Proof Joomla! Site
PPT
WordPress Multisite
PPTX
Just a millisecond_
PDF
How to Build Custom WordPress Blocks
KEY
Angels versus demons: balancing shiny and inclusive
PDF
Introduction to Wordpress
PDF
10 Cool Things You Can Do with Widgets
PDF
Meet The Family
PDF
How to Speed Up Your Joomla! Site
PDF
Building the next generation of themes with WP Rig 2.0
PPTX
HyperDB, MySQL Performance, & Flavors of MySQL
PDF
Intro to Node.js
Webpack and Web Performance Optimization
WP-MU 101: How to Install and Avoid Common Mistakes
Easy WP Dev environments with VVV
CPAVMUG Presentation - Community Resources
Wordpress customer support
Exploring WordPress Multisite
WordPress Multisite Q&A
Word press development for non developers
Hidden Secrets For A Hack-Proof Joomla! Site
WordPress Multisite
Just a millisecond_
How to Build Custom WordPress Blocks
Angels versus demons: balancing shiny and inclusive
Introduction to Wordpress
10 Cool Things You Can Do with Widgets
Meet The Family
How to Speed Up Your Joomla! Site
Building the next generation of themes with WP Rig 2.0
HyperDB, MySQL Performance, & Flavors of MySQL
Intro to Node.js
Ad

Similar to Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC (20)

PDF
Embracing the modern web using Drupal as a Headless CMS with Gatsby BADCamp
PDF
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
PDF
What is Headless and headless 101 at Acquia.pdf
PPTX
What is Headless and headless 101 at Acquia
PDF
Blazing fast sites using Blaze, Hybrid CMS NYC
PPTX
Introduction to basics of drupal
PDF
How to Successfully Implement Headless Drupal
PDF
Beyond Static: Building a Dynamic Application with Gatsby
PDF
Drupal Recipe
PPTX
In the Pursuit of Headless with Contenta
PDF
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
PDF
Pump up the JAM with Gatsby
PDF
Decoupled Drupal and Gatsby in the Real World
PDF
Vskills certified open source cms drupal professional sample material
PDF
Using React.js to extend your CMS
PDF
Showcasing drupal
KEY
Choosing an Open Source CMS
PDF
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
PDF
Drupal as a Rapid Application Development (RAD) Framework for Startups
PDF
Introduction to Drupal
Embracing the modern web using Drupal as a Headless CMS with Gatsby BADCamp
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
What is Headless and headless 101 at Acquia.pdf
What is Headless and headless 101 at Acquia
Blazing fast sites using Blaze, Hybrid CMS NYC
Introduction to basics of drupal
How to Successfully Implement Headless Drupal
Beyond Static: Building a Dynamic Application with Gatsby
Drupal Recipe
In the Pursuit of Headless with Contenta
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Pump up the JAM with Gatsby
Decoupled Drupal and Gatsby in the Real World
Vskills certified open source cms drupal professional sample material
Using React.js to extend your CMS
Showcasing drupal
Choosing an Open Source CMS
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Drupal as a Rapid Application Development (RAD) Framework for Startups
Introduction to Drupal
Ad

More from Jesus Manuel Olivas (18)

PDF
Remix & GraphQL: A match made in heaven with type-safety DX
PDF
Drupal 10 Party GraphQL
PDF
How to use Drupal to create editorial experiences your content creators will...
PDF
Drupal, GraphQL, Views, View Modes and Gatsby for a US Gov site CMS Philly
PDF
Embracing the modern web using a Headless CMS with GatsbyJS CMS Philly
PDF
Embracing the modern web using a Headless CMS with GatsbyJS Stanford
PDF
Building a modern application using Symfony API Platform and GatsbyJS PHP QRO
PDF
Building a dynamic application with GatsbyJS-Tec-Mexicali
PDF
Building a modern web application in the cloud partnercon
PDF
Writing a slack chatbot seattle
PDF
Building a Modern Web Application in the Cloud TecNerd
PDF
Tools and Projects Dec 2018 Edition
PDF
Creating a modern web application using Symfony API Platform Atlanta
PDF
Battle of the CMS DrupalCampLA
PDF
Creating a modern web application using Symfony API Platform, ReactJS and Red...
PDF
Writing a slack chatbot DrupalCampLA
PDF
Improving your Drupal 8 development workflow DrupalCampLA
PDF
Writing a slack chatbot mxlos
Remix & GraphQL: A match made in heaven with type-safety DX
Drupal 10 Party GraphQL
How to use Drupal to create editorial experiences your content creators will...
Drupal, GraphQL, Views, View Modes and Gatsby for a US Gov site CMS Philly
Embracing the modern web using a Headless CMS with GatsbyJS CMS Philly
Embracing the modern web using a Headless CMS with GatsbyJS Stanford
Building a modern application using Symfony API Platform and GatsbyJS PHP QRO
Building a dynamic application with GatsbyJS-Tec-Mexicali
Building a modern web application in the cloud partnercon
Writing a slack chatbot seattle
Building a Modern Web Application in the Cloud TecNerd
Tools and Projects Dec 2018 Edition
Creating a modern web application using Symfony API Platform Atlanta
Battle of the CMS DrupalCampLA
Creating a modern web application using Symfony API Platform, ReactJS and Red...
Writing a slack chatbot DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
Writing a slack chatbot mxlos

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Weekly Chronicles - August'25-Week II
DOCX
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Network Security Unit 5.pdf for BCA BBA.
“AI and Expert System Decision Support & Business Intelligence Systems”
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine learning based COVID-19 study performance prediction
NewMind AI Weekly Chronicles - August'25-Week II
The AUB Centre for AI in Media Proposal.docx

Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC