Note: This is issue is part of #2721129: Workflow Initiative and is only meant for planning and governance sign-offs. Work will happen in child issues of this plan.
This is the phase where we start adding some new small/medium size features to the Entity API in core, primarily adding parent revisions. None of the steps below depend on each other.
Revision parents
This step will implement API level support for parent revisions (no UI and no behavior change to the current Entity API). This will mean that each revision can have one or more parents. Multiple parents would be the result of a merge between multiple conflicting revisions (very much like Git).
Initially this API will only be used in a regular linear fashion. But later, when workspaces are implemented this will be used to handle conflicts and merge scenarios (see phase H).
Revision hash
It should be possible to identify revisions across multiple environments. And the same change to an entity on multiple environments should result in the same ID (see phase H). For this we need a revision hash field:
Sign-offs needed
Product manager
A product manager needs to sign-off on this plan because the revisioning user experience is not as polished as the non-revisioned user experience, so the planned work significantly affects the out-of-the-box experience of the product.
Framework manager
A framework manager needs to sign-off on this plan as the above phases introduces a small, but very significant, API addition (parent revisions).
Release manager
A release manager needs to sign off because the scope and impact of the work are significant for core, and because existing issues with revisions may impact the stability and technical debt of the developmental minor version.
Sub-system maintainers
The sub-system maintainers for the Entity API needs to sign-off on this plan as it significantly impacts the Entity API.
Sign-offs given
- Product manager - Pending completion of the issues listed above
- Framework manager - Pending specific implementation in phase A; not yet given for phase B
- Release manager - Pending completion of the issues listed above
- Sub-system maintainers - pending
Comments
Comment #2
timmillwoodThis is not a firm dependency for workspaces, although will be needed before we start replicating content between workspaces.
This will also need an upgrade path, we will need to create the revision hashes, and map the revision parents for each revision, so for that reason sounds like something we should try to get done ASAP.
Comment #4
yoroy commentedWill we get to this during 8.4 dev cycle?
Comment #5
timmillwood@yoroy - I don't think so.
Comment #6
yoroy commentedOk thanks, removing tag for now then. By all means add it back when needed. Maybe you can decide whether to postpone this or not (I'm fine either way)?
Comment #10
wim leersQuoting myself from #2725433-37: WI: Phase A: Use the revision API in more places:
AFAICT #2725523: Add a revision_parent field to revisionable entities is blocking API-First Initiative progress, see #2725523-10: Add a revision_parent field to revisionable entities for info.
Comment #11
wim leersComment #12
dixon_Comment #13
dixon_