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.