Complex Composite Entities (incl. types, references and revisions)

Created on 27 October 2016, almost 9 years ago
Updated 2 July 2025, 29 days ago

Idea summary

What is the problem to solve?

I tried to build a workflow solution based on drupal which can create complex documents, revisionable, referencing each other. And I failed, because references are not really revisionable.

In a more complex enterprise environment we do need a lot of entity relationships. The bigger picture usually comprises different content types which reference each other. The bigger picture has to be managed individually e.g. when the master document gets published, or a sub content type gets changed one has to adjust the same setting on the referenced entites. Revisions can even confuse the picture because they are not managed together.

Who is this for?

(Evaluators, site visitors, content authors, site managers, (advanced) site builders, frontend developers, backend developers, core developers, site owners, other?)

Result: what will be the outcome?

Introduce the concept of composite Entities. Composite entities comprise entities, their relations and their revisions. I like the mentioned idea of composite entities very much. I think it should be a central concept of a revisionable workflow. It promises an entire new field for building complex applications using drupal.

How can we know the desired result is achieved?

(Usability test, a metric to track, feedback)

--- Original report ---

As a follow up to an improved workflow initiative I'd like to bring the idea of "Composite Entities" to everybody's attention:

Composite Entities comprise entities, their relations and their revisions .

In a more complex enterprise environment we do need a lot of entity relationships. The bigger picture usually comprises different content types which reference each other. The bigger picture has to be managed individually e.g. when the master document gets published, or a sub content type gets changed one has to adjust the same setting on the referenced entites. Revisions can even confuse the picture because they are not managed together.

There are some VERY useful modules but the references as they exist now lack an integrated approach for a workflow comprising referenced entities. They also require a lot of manual work instead of supporting the user by automating a lot of repeat work (like updating references manually):

1) Inline Entity Form helps A LOT! ( https://www.drupal.org/project/inline_entity_form )

2) Relationships that reference each other. Automatically makes a lot of sence. (see https://www.drupal.org/project/cer )

3) Relationships that keep track of the referenced revisions! (see https://www.drupal.org/project/entity_reference_revisions )

4) Relationships that update their revision when one of the referenced entities gets a new revision - more of this idea found here:
https://www.drupal.org/node/2800893 Better define and support composite entities
and here https://www.drupal.org/node/2726013 New revisions of a child entity should create new revisions for its parent

I like the mentioned idea of composite entities very much. I think it should be a central concept of a revisionable workflow. It promises an entire new field for building complex applications using drupal.

I posted here, because I tried to build a workflow solution based on drupal which can create complex documents, revisionable, referencing each other. And I failed, because references are not really revisionable.

Feature request
Status

Postponed: needs info

Version

11.0 🔥

Component

other

Created by

🇦🇹Austria maxilein

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇬🇧United Kingdom catch

    If this is for publishing changes, then the workspaces module handles some or most of what's in the issue summary - e.g. being able to update multiple different related (or unrelated) content items all together and track those changes.

    Workspaces does not use entity reference revisions, which for me are suitable only for auditing use-cases like Drupal commerce orders.

    The ideas queue is deprecated now, so moving this to core, but I think this needs updating to indicate a bit more above about which of the two use-cases above it's trying to solve.

Production build 0.71.5 2024