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

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