Problem/Motivation

Currently, the state of a given revision is tracked as an Entity-Reference field on the entity pointing to a state. This is simple, easy, and integrates nicely with other modules such as the in-progress Scheduled Updates.

However, that means that every time you touch moderation state you're creating a new revision. That implies that just approving an entity cannot be differentiated from editing its content. That pollutes the revision history, causes the moderation state to be included in serialized versions of an entity (rightly or wrongly), and various other pollution issues.

Proposed resolution

Investigate moving the state tracking to a new non-display content entity that references a single revision of an entity, likely using https://www.drupal.org/project/entity_reference_revisions. How much work is involved there, how much would it break, and would it be worth the effort? We don't know.

Remaining tasks

Adam Hoenich (phenaproxima) offered to run this question through Lightning and do some experimentation and user research there to determine if it's worth doing.

User interface changes

TBD.

API changes

TBD.

Data model changes

TBD.

Comments

Crell created an issue.

jibran’s picture

Now that we have a first stable release I don't think we can make his change in 1.x. We should move it to 2.x now because it will change the whole architecture design of the module. Or we can won't fix it now. ;-)