Skip to content

Content.
Ready to ship.

Bring Drupal content into your deployment workflow. Read and write JSON content specs, review drafts, and ship content changes alongside your code.

For Drupal 11.3+ · PHP 8.3+

Content, in version control.
changesets/0001_opening_hours.json
{
  "description": "Update opening hours",
  "entities": [{
    "entity_type": "node",
    "bundle": "landing",
    "uuid": "0a8ba38b-c932-40ca-bd7f-f28a87686ac8",
    "title": "Opening hours"
  }]
}
Written as a draft. Ready for review.

Illustrative changeset · use your site's bundle and entity UUID.

From content to changeset.

One format for your content. A deliberate path to production.

Describe

Read a page, its Paragraphs tree, its media and its translations as a JSON content spec. Update it through Drush or Tool API plugins.

Explore content specs

Review

Writes land as drafts. A person reviews the result and decides what goes live. Retire content by unpublishing or archiving it.

Understand the review flow

Deploy

Stage changes in a workspace, export them to the repository, and run them once per environment. Fingerprints preserve intervening live edits.

Work with changesets

Make content part
of your next deploy.

Install the module, put the bundles you write to under a workflow, and give editors access to review and publish drafts.

Installation and site setup

Install with Composer and Drush
composer require drupal/content_deployment
drush pm:install content_deployment

Start with the main module. Enable the export module on development sites when you are ready to ship changesets.

Find your next step.

Content specs

The JSON format, entity fields, translations, Drush commands and review flow.

Changesets

Stage, export and deploy content changes. Understand patches, files and conflicts.

Tool API plugins

Expose content operations to tools, with the invoking account's permissions. Experimental while Tool API is in beta.

Development

Set up DDEV, run the checks, and test across Drupal core versions.