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.

Step 1: 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:

Step 2: 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).

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

dixon_ created an issue. See original summary.

timmillwood’s picture

This 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.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

yoroy’s picture

Will we get to this during 8.4 dev cycle?

timmillwood’s picture

@yoroy - I don't think so.

yoroy’s picture

Ok 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)?