logo

Palette - Make it Colorful🎨

Palette - Visual Page Builder, no design degree required.

Live Demo Download Palette

Scroll

Comparison of modules for content deployment

15/04/2025, by Ivan

This page is incomplete. See also the comparison page in the old documentation section.

Default Content

https://www.drupal.org/project/default_content

Uses the Serialization and HAL modules.
Default content is exported into a folder within the module directory.
Entities are exported as JSON files, one file per entity.
Entities can be exported either individually using Drush, or declared in bulk within the module’s info file.
Core improvements related to serialization unfortunately introduce undesired side effects in this module: https://www.drupal.org/project/default_content/issues/2933777
Content is only imported when the module is installed, but there is a patch that allows manual import per module: https://www.drupal.org/project/default_content/issues/2640734
This module can be extended with the Content Deploy module, which alters some functionality.

Default Content Deploy

https://www.drupal.org/project/default_content_deploy

Extends the Default Content module.
Uses a single content folder for the entire site, similar to the config folder.
Provides Drush commands to export specific content entities by type, bundle, or specific entity ID.
All entities are imported together; no granularity.

Structure Sync

https://www.drupal.org/project/structure_sync

Allows exporting content entities to database-stored configuration, which can then be exported to configuration files.
Requires additional Drush commands in the development workflow: entities are not automatically imported/exported during config sync.
Limited to certain types of entities only.
Exports all entities of a given type at once.
All exported content is stored in a single configuration item, so no granularity.

YAML Content

https://www.drupal.org/project/yaml_content

Content is stored in YAML files.
Any number of entities of any type can be stored in one file, and any number of files can be used.
Content can be imported from modules, profiles, or arbitrary folders.

No need to export content entities.