Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Configuration Language Lock 1.0.2 Minor update available for module config_language_lock (1.0.2). Release: Canvas Override 1.0.1 Minor update available for module canvas_override (1.0.1). Release: Media Remote Image 8.x-1.2 Minor update available for module media_entity_remote_image (8.x-1.2). Release: IDNA Convert Service (punycode) 2.0.4 Minor update available for module idna (2.0.4). Release: Bootstrap Cloud 7.1.3 Minor update available for theme bootstrap_cloud (7.1.3). Release: Token Browser 1.0.2 Minor update available for module token_browser (1.0.2). Release: Varbase Project 11.0.8 Minor update available for module varbase_project (11.0.8). Release: Media Remote Image 2.0.0-beta1 First beta version released for module media_entity_remote_image (2.0.0-beta1). Usage Milestone: Term CSV Export Import Module term_csv_export_import crossed 1,000 active installs. Security Coverage: Module Scout Module module_scout now has official Drupal security advisory coverage.

This module provides compatibility for contributed modules that depend on the node body field. It ensures that modules can be installed on older Drupal versions where the body field is not yet a separate sub-module, while also working correctly on newer versions where it is.

This module is discontinued because it was supposed to be a matepackage, but that can't be done with module projects.

This module provides a forward-compatibility polyfill for the node_storage_body_field sub-module introduced in Drupal 11.3 (#3447617).

In Drupal 11.3, field.storage.node.body was moved out of the Node module into a new node_storage_body_field sub-module. Contributed modules that ship node types with a body field must now declare a dependency on node_storage_body_field to ensure the field storage config exists when their module is installed. However, this creates a compatibility problem: adding node_storage_body_field as a dependency breaks installation on Drupal 10.x and 11.0–11.2, where that sub-module does not exist.

What this module does

On Drupal 10.x / 11.0–11.2 (version 1.x):
Provides an empty shim node_storage_body_field module that satisfies the dependency. No config is shipped — the Node module already provides field.storage.node.body on these core versions.

On Drupal 11.3+ (version 2.x):
Empty metapackage. Core already provides node_storage_body_field, so this package is a no-op.
Important note: Unfortunately, metapackages without an info.yml won't work since the composer.json gets the drupal/core requirement based on the core_version_requirment key from the info.yml.

Why not config/optional?

Moving field.storage.node.body to config/optional does not work reliably. Drupal's ConfigInstaller::checkConfigurationToInstall() validates all config/install dependencies for all modules being installed in a single operation, including during install profile execution and drush en with dependencies. Optional config is either deferred (during profile install) or only processed after all config/install is validated, causing UnmetDependenciesException failures.

Usage

Add to your module's composer.json:

"require": {
    "drupal/backport_node_storage_body_field": "^1 || ^2"
}

Add to your module's .info.yml:

dependencies:
  - backport_node_storage_body_field:backport_node_storage_body_field

Requirements

  • 1.x: Drupal core >=10.3 <11.3
  • 2.x: Drupal core >=11.3

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
7
Tracked since
Mar 2026
Latest release
6 months ago
Releases (12 mo)
7 ▲ from 0
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
1.2.1 Stable Mar 11, 2026
2.1.1 Stable Mar 11, 2026
1.2.0 Stable Mar 11, 2026
1.1.0 Stable Mar 9, 2026
2.1.0 Stable Mar 9, 2026
2.0.0 Stable Mar 9, 2026
1.0.0 Stable Mar 9, 2026