SlideShare a Scribd company logo
Decoupled/Headless Drupal
Ahmad Hassan
Drupal:drupalmind
twitter@drupalmind123
Decoupled Drupal
● What is Decoupled/Headless Drupal.
● How it is different from normal drupal architecture.
● How drupal connect to Frontend.
● Which Drupal version provide more flexibility for decoupling
● A case study, a drupal based shops where drupal act as headless drupal with
symfony as frontend!
What is Headless/decouple Drupal?
A decoupled Drupal may allows developers to use other technologies to render
the front-end experience.
With decoupled Drupal, the Drupal serves as content provider to other front-end
systems such as:
● Native mobile applications
● conversational UIs,
● applications built in JavaScript frameworks.
Real world example
● How we communicate to each other in real world send messages via
voice/writing or signalling. This is our request.
● And what we got from other is response.
● It can be in any format doesn't’t matter.
● But everything is based on request/response pattern.
Real world to Technology
● Web is also using the pattern, there is some request as URL. And server
produces responses.
● Until Drupal 7 we behave a bit differently but drupal 8 we have already same
pattern using Symfony.
● Each URL/request is attached with some Route in Symfony which is attach
with Controllers and so on .
● But this is only how world communicate to us.
● Let See now how This pattern is helping us.
What is Headless/decouple Drupal?
● Drupal can behave as back-end applications and native applications, single-
page applications, digital signage, and many others.
● Drupal Services such as the core REST API, JSON API, and GraphQL are
actually Drupal customers.
● Other Applications are consuming Drupal as service provider.
● It can be content, configuration or authentication but everything get by
request and response method
Normal Drupal Architecture
Drupal
Theme Layer
Data
Theme layer
Frontend/htmlFrontend
(tpl/twigs etc.)
Normal Drupal Architecture
● Drupal generate Contents
● We can define its structure, roles
and permission's according to
design
● Define block, views, context,
paragraph
● This builds Drupal structure
Drupal
Theme Layer
Data
Theme layer
Frontend/htmlFrontend
(tpl/twigs etc.)
Normal Drupal Architecture
● Then comes the theme layer.
● Define your images, presets.
● Template file, tpl or twig files.
● Or define and use theme
functions to redefine some
elements.
● Custom modules to override
normal behavior according to
design.Drupal
Theme Layer
Data
Theme layer
Frontend/htmlFrontend
(tpl/twigs etc.)
Real world example
● How we communicate to each other in real world send messages via
voice/writing or signalling. This is our request.
● And what we got from other is response.
● It can be in any format doesn't’t matter.
● But everything is based on request/response pattern.
Headless Drupal
First step is again same to define Drupal structure according to design.
But…
Drupal
Headless Drupal
But…
Now we will output new data
type instead of HTML
produced by Drupal…
Drupal uses REST API to
output data as jsonDrupal
REST API
Data
Frontend/html
Json
Front-end Application
Templates
Decoupled drupal
Decoupled drupal
Decouple Drupal Architecture
Drupal
serves as Content
provider
Drupal 8 output is also
possible as json,
hal_json
Theme Layer
Front-end - client
request
Json response
html
Connect to multiple Frontend
Drupal
Theme layer
Front-end
request
APP
request
Json response
HTML
HTML
Decouple Drupal Architecture
Drupal
REST API
Data
Frontend/html
Json
Java Script Libraries
(React, Angular!!!)
Templates
request
response
Decouple Drupal Architecture
Drupal
REST API
Data
Frontend/html
Json
Apps
request
response
Which Drupal version provide more flexibility for
decoupling
● Drupal 7… we can even achieve it with contrib modules
● Drupal 8 provide services as core module, with different output options.
Case sudy: Drupal 7
Drupal 7
Act as content provider.
Json translation
Front-end
Theme Layer ---
Custom modules Generate
Json files for contents,
Menus, other configuration
Json Files
Case study: Drupal 7
Drupal 7
Act as content provider.
Symfony Application
translate the Json
files into HTML
Front-end
● On content creation or updation
in drupal.
● create /update json file.
● It runs jenkin-jobs to transfer
these files from drupal to front-
end.
● These files are translated to
html in Symfony.
Theme Layer ---
Custom modules Generate
Json files for contents,
Menus, other configuration
Json Files
Case study: Drupal 7, 8
Drupal-7
Act as product provider.
Drupal 8, Checkout
Create hash key from
product data and
authenticate with checkout.
And post Product to
checkout.
Submit
label
label
label
label
label
Get products by page request
Give hash keys of product
Future of Drupal Decoupling-presented in
drupalcon Wien
Dries Views of Future of Decoupling:
https://dri.es/should-we-decouple-drupal-with-a-
client-side-framework
Decoupled drupal
Questions

More Related Content

PPTX
Drupal 8 customized checkout system
PDF
Drupal 8 customized checkout system
ODP
Golang Template
PDF
web Based Application Devlopment using PHP
PPT
IT Club @ NCP - PHP Workshop May 10, 2011
PPT
Introduction to XML
ODP
Php1
Drupal 8 customized checkout system
Drupal 8 customized checkout system
Golang Template
web Based Application Devlopment using PHP
IT Club @ NCP - PHP Workshop May 10, 2011
Introduction to XML
Php1

What's hot (20)

PPTX
Codeigniter
PPTX
1 introductin to HTML
PPTX
PHP Variables and scopes
PPT
Control Structures In Php 2
PPS
PDF
Xml tutorial
 
PPTX
Html tag html 10 x10 wen liu art 2830
PPTX
Xml ppt
PPTX
Web programming
PPTX
PPT
PPTX
Xml & scripting
PPTX
PHP slides
Codeigniter
1 introductin to HTML
PHP Variables and scopes
Control Structures In Php 2
Xml tutorial
 
Html tag html 10 x10 wen liu art 2830
Xml ppt
Web programming
Xml & scripting
PHP slides
Ad

Similar to Decoupled drupal (20)

PDF
Decoupled drupal DcRuhr
PPT
Building Websites of the Future With Drupal 7
PPT
Building Websites of the Future With Drupal 7
PDF
HeadLess Drupal
PDF
Drupal + composer = new love !?
PPTX
Drupal
PPTX
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
PDF
Introduction to drupal
PDF
Building a Custom Theme in Drupal 8
PPTX
Lazy Coder Camp Edition 1
PDF
Decoupled Drupal: What This Means for Developers
PDF
Building Your Own Drupal Distribution
PDF
How to Migrate Drupal 6 to Drupal 8?
PPTX
Drupalcampatl d7
PDF
Drupal 8 - Corso frontend development
PDF
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
PDF
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
PDF
Headless Drupal: A modern approach to (micro)services and APIs
Decoupled drupal DcRuhr
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
HeadLess Drupal
Drupal + composer = new love !?
Drupal
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
Introduction to drupal
Building a Custom Theme in Drupal 8
Lazy Coder Camp Edition 1
Decoupled Drupal: What This Means for Developers
Building Your Own Drupal Distribution
How to Migrate Drupal 6 to Drupal 8?
Drupalcampatl d7
Drupal 8 - Corso frontend development
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
Headless Drupal: A modern approach to (micro)services and APIs
Ad

Recently uploaded (20)

PDF
Cost to Outsource Software Development in 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Website Design Services for Small Businesses.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Patient Appointment Booking in Odoo with online payment
PPTX
assetexplorer- product-overview - presentation
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
history of c programming in notes for students .pptx
PDF
Autodesk AutoCAD Crack Free Download 2025
Cost to Outsource Software Development in 2025
Odoo Companies in India – Driving Business Transformation.pdf
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Advanced SystemCare Ultimate Crack + Portable (2025)
Design an Analysis of Algorithms II-SECS-1021-03
Designing Intelligence for the Shop Floor.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Website Design Services for Small Businesses.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
CHAPTER 2 - PM Management and IT Context
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Patient Appointment Booking in Odoo with online payment
assetexplorer- product-overview - presentation
17 Powerful Integrations Your Next-Gen MLM Software Needs
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
history of c programming in notes for students .pptx
Autodesk AutoCAD Crack Free Download 2025

Decoupled drupal

  • 2. Decoupled Drupal ● What is Decoupled/Headless Drupal. ● How it is different from normal drupal architecture. ● How drupal connect to Frontend. ● Which Drupal version provide more flexibility for decoupling ● A case study, a drupal based shops where drupal act as headless drupal with symfony as frontend!
  • 3. What is Headless/decouple Drupal? A decoupled Drupal may allows developers to use other technologies to render the front-end experience. With decoupled Drupal, the Drupal serves as content provider to other front-end systems such as: ● Native mobile applications ● conversational UIs, ● applications built in JavaScript frameworks.
  • 4. Real world example ● How we communicate to each other in real world send messages via voice/writing or signalling. This is our request. ● And what we got from other is response. ● It can be in any format doesn't’t matter. ● But everything is based on request/response pattern.
  • 5. Real world to Technology ● Web is also using the pattern, there is some request as URL. And server produces responses. ● Until Drupal 7 we behave a bit differently but drupal 8 we have already same pattern using Symfony. ● Each URL/request is attached with some Route in Symfony which is attach with Controllers and so on . ● But this is only how world communicate to us. ● Let See now how This pattern is helping us.
  • 6. What is Headless/decouple Drupal? ● Drupal can behave as back-end applications and native applications, single- page applications, digital signage, and many others. ● Drupal Services such as the core REST API, JSON API, and GraphQL are actually Drupal customers. ● Other Applications are consuming Drupal as service provider. ● It can be content, configuration or authentication but everything get by request and response method
  • 7. Normal Drupal Architecture Drupal Theme Layer Data Theme layer Frontend/htmlFrontend (tpl/twigs etc.)
  • 8. Normal Drupal Architecture ● Drupal generate Contents ● We can define its structure, roles and permission's according to design ● Define block, views, context, paragraph ● This builds Drupal structure Drupal Theme Layer Data Theme layer Frontend/htmlFrontend (tpl/twigs etc.)
  • 9. Normal Drupal Architecture ● Then comes the theme layer. ● Define your images, presets. ● Template file, tpl or twig files. ● Or define and use theme functions to redefine some elements. ● Custom modules to override normal behavior according to design.Drupal Theme Layer Data Theme layer Frontend/htmlFrontend (tpl/twigs etc.)
  • 10. Real world example ● How we communicate to each other in real world send messages via voice/writing or signalling. This is our request. ● And what we got from other is response. ● It can be in any format doesn't’t matter. ● But everything is based on request/response pattern.
  • 11. Headless Drupal First step is again same to define Drupal structure according to design. But… Drupal
  • 12. Headless Drupal But… Now we will output new data type instead of HTML produced by Drupal… Drupal uses REST API to output data as jsonDrupal REST API Data Frontend/html Json Front-end Application Templates
  • 15. Decouple Drupal Architecture Drupal serves as Content provider Drupal 8 output is also possible as json, hal_json Theme Layer Front-end - client request Json response html
  • 16. Connect to multiple Frontend Drupal Theme layer Front-end request APP request Json response HTML HTML
  • 17. Decouple Drupal Architecture Drupal REST API Data Frontend/html Json Java Script Libraries (React, Angular!!!) Templates request response
  • 18. Decouple Drupal Architecture Drupal REST API Data Frontend/html Json Apps request response
  • 19. Which Drupal version provide more flexibility for decoupling ● Drupal 7… we can even achieve it with contrib modules ● Drupal 8 provide services as core module, with different output options.
  • 20. Case sudy: Drupal 7 Drupal 7 Act as content provider. Json translation Front-end Theme Layer --- Custom modules Generate Json files for contents, Menus, other configuration Json Files
  • 21. Case study: Drupal 7 Drupal 7 Act as content provider. Symfony Application translate the Json files into HTML Front-end ● On content creation or updation in drupal. ● create /update json file. ● It runs jenkin-jobs to transfer these files from drupal to front- end. ● These files are translated to html in Symfony. Theme Layer --- Custom modules Generate Json files for contents, Menus, other configuration Json Files
  • 22. Case study: Drupal 7, 8 Drupal-7 Act as product provider. Drupal 8, Checkout Create hash key from product data and authenticate with checkout. And post Product to checkout. Submit label label label label label Get products by page request Give hash keys of product
  • 23. Future of Drupal Decoupling-presented in drupalcon Wien
  • 24. Dries Views of Future of Decoupling: https://dri.es/should-we-decouple-drupal-with-a- client-side-framework