Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

field_inheritance

863 sites Security covered
View on drupal.org

The field inheritance module can be considered to be a field-level entity reference alternative. It allows site administrators to inherit any field from any entity into any other entity. For example, imagine a site has an entity, or content type, named 'employee' and each employee can work in a specific branch or location of the company. In order to display the address of their branch or location on their view page traditionally an administrator would either tag that user with a specific taxonomy term, which in turn would also be tagged to an entity, or content type, called 'location' - thus making a three-way connection from employee-to-term-to-location. Alternatively, using an entity reference, an administrator could directly link the employee to a location entity. Both approaches then require a developer to extract the address field from the location entity and display it on the employee entity.

Using field inheritance is different. An administrator sets up field inheritance mappings which dictate which fields of which entity bundles are inherited to which other entity bundles. In the example of the employee and location, a mapping would be made to inherit the address field from the location entity bundle to the employee entity bundle. Then, automatically, a new field will appear on the employee entity's manage display, which can be placed in whatever order using whatever appropriate field formatters available, as if it were a real field on the employee entity.

This will pull in the address field data directly into the view, and the administrator can use whatever field formatters are available for an address field when it comes to displaying that field in a specific view mode. With one field inheritance mapping, an address could be displayed in text, or as a map, on different display modes of the employee.

When editing a specific employee entity, a content editor can specify which entity to use as the source of the inheritance. So much like creating an entity reference to the location entity, a content editor can enter the name of the location and it will connect the dots, and inherit the data. This way, if the underlying address data of a location changes, it will update automatically to any employee entities that are inheriting from that entity - without the need for any changes to the employee(s) themselves.

Known Incompatibilities

There is 2 1 known incompatibility issue with Drupal Core at this time:

#2981047: Allow adding computed bundle fields in Views - This prevents inherited fields from being used in Views. However, applying the patch or MR within the issue does resolve this problem, depending on which core version is being used.

#2280639: Add the FieldStorageDefinition class to define field storage definitions in hook_entity_field_storage_info() - This prevents computed bundle fields from working as they expect to have a storage definition, which is not applicable. This issue has been circumvented with a custom FieldStorageDefinition which extends and modifies BaseFieldDefinition.

Activity

Total releases
5
First release
May 2025
Latest release
3 months ago
Release cadence
60 days
Stability
60% stable

Release Timeline

Releases

Version Type Release date
3.0.2 Stable Jan 14, 2026
3.0.1 Stable Jun 11, 2025
3.0.0 Stable Jun 10, 2025
3.0.0-beta1 Pre-release May 22, 2025
3.x-dev Dev May 21, 2025