SERVE THEM ALL!!!111
Headless Drupal for multiple frontends
About
Evgeniy Maslovskiy (@Spleshka)
- CTO @ SystemSeed
- Active Drupal contributor

Kate Marshalkina (@kalabro)
- Tech Lead @ SystemSeed
- Active Drupal contributor

What is the talk about?
Falcon

empowering charities
Open source
&
Drupal-based
API-first
SERVE THEM ALL!!
Multi-site
One command install
> make install
Problem 1: Flexible Content Building
Paragraphs
Flexible solution for content editors?
Problem 2:
API Solution for Content
What all cool kids use?
JSON:API
or
GraphQL
What all cool kids use?
JSON:API
or
GraphQL
NOT OUR CASE
GO AGAINST THE FLOW
REST from Drupal Core
ARE YOU SERIOUS?!!
GO AGAINST THE FLOW
REST from Drupal Core
ARE YOU SERIOUS?!!
NOT EXACTLY :)
GO AGAINST THE FLOW
REST Entity Recursive
REST from core on steroids
GO AGAINST THE FLOW
Old REST:
/node/1?_format=json
New REST:
/node/1?_format=json_recursive
Problem 3:
Drupal Routing
❤️ Aliases
❤️ Pathauto
❤️ Redirects
/node/1?_format=json
↓
/about/team?_format=json
/about/team?_format=json_recursive
Everything is endpoint
Problem 4:
Sites Configuration
Site configuration
↓
Site-wide content
REST Entity Recursive
https://www.drupal.org/project/rest_entity_recursive
Config Pages
https://www.drupal.org/project/config_pages
Field Permissions
https://www.drupal.org/project/field_permissions
Entity References (media, menu, paragraphs, etc)
/config_pages/my_site?_format=json_recursive
Problem 5:
E-Commerce
Drupal Commerce
❤️
Commerce
Decoupled Checkout
POST /commerce/order/create
POST
/commerce/payment/capture/{order_id}/{payment_id}
Commerce
Decoupled Checkout
Problem 6:
SEO & Metatags
STILL NEEDS PATCH
[#2945817]
Multi-sites problem
<head>
<title>Page title | Site Name</title>
</head>
2 solutions
Consumers Token
or
Config Pages
Problem 7:
Advanced Content Serving
Node 1
Site A
Site B
Site C
Node 2
Page type:
News
Potential Solution?
Consumer Field
Does not exist yet :)
Problem 8:
Advanced Routing
/about
Node 1
Site A
Site B
/about
Node 2
Potential Solution?
Use Consumer to differentiate URLs per app
Again, does not exist yet :)
SystemSeed VS Issues
6 : 2

Thank you
SERVE THEM ALL. Headless Drupal for multiple frontends
By Evgeniy Maslovskiy
SERVE THEM ALL. Headless Drupal for multiple frontends
- 555