What is decoupled

Last updated on
31 October 2022

This documentation needs work. See "Help improve this page" in the sidebar.

Who is this page for?

Anyone new to Decoupled Drupal who wants to get a high level overview of the how, what, when, and why. Aimed at people who are trying to decide if they should decouple, and if Drupal is the right CMS for their needs.

Then branches off to the frontend/backend guide so a reader can choose which direction they want to go.

Outline

  1. What is Decoupled?
    1. Standard Drupal vs. Decoupled Drupal
      1. Database (content) + Twig (frontend)
      2. Drupal + desired frontend
  2. When is Drupal a good choice for a decoupled application?
  3. When is Drupal a bad choice for a decoupled application?
  4. Explain key differences between decoupled and standard Drupal
    1. Layout is controlled on the frontend
    2. Backend only exposes content via an API for external consumption
    3. <Will not be able to use layout builder out of the box; https://www.drupal.org/project/ezcontent has a solution; but, not sure if it should be included here>
    4. <Drupal views and REST API>
    5. <Ref: Page 5 has a good comparison table. We should add a table as well; https://www.lullabot.com/sites/default/files/white-papers/1749/whitepape... >
  5. Key Concepts
    1. Coupled
    2. Progressively decoupled
    3. Fully decoupled static site
  6. Fully decoupled appKey Points
    1. Why JSON:API and not GraphQL in core?
      1. Drupal core has a native support for JSON:API.
      2. Dries wrote a great article comparing REST, JSON:API, and GraphQL. Many points of comparison in there.
      3. GraphQL is available as a contrib module: https://www.drupal.org/project/graphql
      4. Bringing GraphQL module to the core is out of scope of this initiative and it would require a huge amount of work
      5. There are other decoupled API contrib modules on Drupal.org
      6. https://www.drupal.org/project/openapi
      7. https://www.drupal.org/project/relaxed
      8. https://www.drupal.org/project/decoupled_toolbox
      9. <figure out how to link to other frontend API modules; filtered view, search filter, something else?> <Same need for the backend guide>
  7. Links to case-studies
  8. Branch Out/Choose Your own adventure (cater to personas discussed below)
    1. Backend Guide
    2. FrontEnd Guide

Help improve this page

Page status: Needs work

You can: