Skip to content

Commit c5533fa

Browse files
webinistaAisha Blake
andauthored
docs/glossary: Add decoupled Drupal glossary entry. (#21243)
* docs/glossary: Add decoupled Drupal glossary entry. Also updated glossary page and sidebar with links to new entry. * Update docs/docs/glossary/decoupled-drupal.md Add a missing article, insert "itself." Co-Authored-By: Aisha Blake <[email protected]> * Update docs/docs/glossary/decoupled-drupal.md Change link text for the drupal-graphql module. Co-Authored-By: Aisha Blake <[email protected]> * Update docs/docs/glossary/decoupled-drupal.md Use relative instead of absolute link. Co-Authored-By: Aisha Blake <[email protected]>
1 parent f0b191a commit c5533fa

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

docs/docs/glossary.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ A database is a structured collection of data or content. Often a [CMS](#cms) wi
9898

9999
Decoupling describes the separation of different concerns. With [Gatsby](#gatsby) this most commonly means decoupling the [frontend](#frontend) from the [backend](#backend), like with [Decoupled Drupal](https://dri.es/how-to-decouple-drupal-in-2019) or [Headless WordPress](https://www.smashingmagazine.com/2018/10/headless-wordpress-decoupled/).
100100

101+
### [Decoupled Drupal](/docs/glossary/decoupled-drupal)
102+
103+
Decoupling refers to the practice of using Drupal as a [headless CMS](#headless-cms). A decoupled Drupal instance functions as a content API that returns JSON for your [frontend](#frontend) to consume.
104+
101105
### Deploy
102106

103107
The process of [building](#build) your website or app and uploading onto a [hosting provider](#hosting).
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
title: Decoupled Drupal
3+
disableTableOfContents: true
4+
---
5+
6+
Learn what <q>decoupled Drupal</q> means, how it differs from other ways of using Drupal, and how you can use decoupled Drupal with Gatsby.
7+
8+
## What is Decoupled Drupal?
9+
10+
_Decoupled Drupal_ is the practice of using Drupal as a [headless CMS](/docs/headless-cms/) for your [JAMstack](/docs/glossary/jamstack/) site. Decoupled Drupal separates the content layer from the presentation layer, so that you can use Drupal with whatever frontend you choose.
11+
12+
In a tightly coupled Drupal architecture, themes control your site's appearance. A theme is a collection of HTML-based template files, each of which manages the layout for a particular Drupal node or content type.
13+
14+
When a visitor requests a URL, Drupal retrieves the requested content from the database and merges it with the appropriate template to create an HTML response. The downside of such an architecture is that your site's content is only available as HTML. HTML limits where and how your content can be used.
15+
16+
In a decoupled architecture, Drupal's only responsibility is content. Rather than returning HTML documents, Drupal returns JSON from its [REST](https://www.drupal.org/docs/8/api/restful-web-services-api/restful-web-services-api-overview) or [JSON:API](https://www.drupal.org/docs/8/modules/jsonapi/api-overview) interfaces. Or you can use [GraphQL](/docs/glossary/graphql) by installing the [GraphQL module](https://www.drupal.org/docs/8/modules/graphql).
17+
18+
A decoupled Drupal architecture offers two key advantages over a tightly coupled one.
19+
20+
- **You can use one content management system to serve multiple frontends** &mdash; for example, your Gatsby site, your mobile application, and your smart TV application.
21+
- **You can develop, change, and upgrade the frontend and backend independently of each other. **Upgrading Drupal doesn't require you to modify your site's appearance.
22+
23+
To use Drupal as a content source for Gatsby, add the [`gatsby-source-drupal`](/packages/gatsby-source-drupal/) plugin to your project. As with Gatsby itself, you install the `gatsby-source-drupal` plugin using [npm](/docs/glossary/#npm).
24+
25+
```shell
26+
npm install --save gatsby-source-drupal
27+
```
28+
29+
A decoupled Drupal architecture lets you use the full power of Drupal's content management tools while gaining the performance advantages of a static Gatsby site.
30+
31+
## Learn more about decoupled Drupal
32+
33+
- Watch [Kyle Mathews’ presentation on Gatsby + Drupal](https://2017.badcamp.net/session/coding-development/beginner/headless-drupal-building-blazing-fast-websites-reactgatsbyjs)
34+
- Documentation for the [GraphQL Drupal module](https://drupal-graphql.gitbook.io/graphql/)
35+
- [Sourcing from Drupal](/docs/sourcing-from-drupal/) in the Gatsby docs

www/src/data/sidebars/doc-links.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,8 @@
736736
items:
737737
- title: Continuous Deployment
738738
link: /docs/glossary/continuous-deployment
739+
- title: Decoupled Drupal
740+
link: /docs/glossary/decoupled-drupal
739741
- title: GraphQL
740742
link: /docs/glossary/graphql
741743
- title: Headless CMS

0 commit comments

Comments
 (0)