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.

Target version for beta stability: Drupal 8.6

This phase will introduce the concept of workspaces through a new experimental module.

Content entities always belong to a workspace (there is one main exception, which is the user entity type). A workspace is a silo/container of content on a site. However, this phase mostly introduces the underlying concept with one single workspace available, without many supporting APIs around it (see later phases).

Implementation

Required before stable release

Already completed tasks

Must-have

Complete feature set

Finish integration with core modules

Should-have

Could-have

Required before beta release

Must-have

Should-have

Could-have

  • ?

Sign-offs needed

Product manager

A product manager needs to sign-off on this plan because the concept of workspaces constitutes a significant addition to Drupal core.

Framework manager

A framework manager needs to sign-off on this plan as the above phases introduces very significant API additions.

Release manager

A release manager needs to sign off because the scope and impact of the work are significant for core.

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
  • Framework manager - pending
  • Release manager - pending
  • Sub-system maintainers - pending

Comments

dixon_ created an issue. See original summary.

dixon_’s picture

Issue summary: View changes
dixon_’s picture

Status: Active » Needs work

Making it clearer that we are still working on the plan.

dixon_’s picture

Issue summary: View changes

Adding notes about needed sign-offs.

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

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

timmillwood’s picture

Issue summary: View changes
dixon_’s picture

Title: WI: Workspace API and entity revision indexes » WI: Phase F: Workspace API and entity revision indexes
Issue summary: View changes
dixon_’s picture

Issue summary: View changes
timmillwood’s picture

Issue summary: View changes

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.

dixon_’s picture

Title: WI: Phase F: Workspace API and entity revision indexes » WI: Phase G1: Workspace API and entity revision indexes
dixon_’s picture

Issue summary: View changes
dixon_’s picture

Issue summary: View changes
dixon_’s picture

Title: WI: Phase G1: Workspace API and entity revision indexes » WI: Phase G1: Workspace module

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

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

Version: 8.5.x-dev » 8.6.x-dev

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

amateescu’s picture

Issue summary: View changes

Updated the target Drupal version to 8.6.

The main implementation issue #2784921: Add Workspaces experimental module has received a lot of reviews already from framework maintainers, but this one says that all the sign-offs are still pending :)

amateescu’s picture

Title: WI: Phase G1: Workspace module » WI: Workspace module roadmap
Issue summary: View changes
Status: Needs work » Active

Revamped the issue summary so we can use this issue to track the path to beta stability for the new Workspace module.

amateescu’s picture

Issue summary: View changes

We already know that we have two hard blockers for beta, and they are already included in the IS as "must have":

#2958752: Refactor workspace content replication plugin system to three services
#2949991: Add workspace UI in top dialog

Besides those two, there are few more open issues that need to be triaged into must/should/could have, but I'll leave that triage to a framework or release manager. These issues are currently open in the Workspace contrib module issue queue for the 8.x-2.x branch and will need to be moved to core once #2784921: Add Workspaces experimental module is committed.

#2968452: Add a way to execute a function in the context of a specific workspace
#2968165: Finish the Views integration
#2962764: Better explain _initialPublished process
#2934354: Expose cacheability metadata in WorkspaceCacheContext
#2926472: Add test for basic remote replication
#2924218: Clearing the persistent entity cache every time we switch between workspaces is super wasteful
#2916780: Rename to "workspaces"

catch’s picture

Issue summary: View changes
amateescu’s picture

Component: entity system » workspace.module
andrewmacpherson’s picture

Issue summary: View changes

Adding an accessibility should-have - #2940677: Support prefers-reduced-motion in off-canvas dialog.

This is already described in detail on the UI child issue #2949991-3: Add workspace UI in top dialog.

webchick credited plach.

webchick credited yoroy.

webchick’s picture

A few of us jumped on a Zoom today to run through the current state of things and try and surface any remaining beta blockers. (There's a recording I'll try and figure out how to extract a bit later.)

Notes are at https://docs.google.com/document/d/1WD3_ujkxi492-U_sRe8dxq6Luc6cgBIdV3X2...

Here's what we came up with:

- #2949991: Add workspace UI in top dialog is still a beta blocker, but the demoed patch is looking close. There were a few additional "must-have" sub-points here which were:
- Make the space usage more compact; since much of the functionality of the full mocks isn't implemented yet, the extra space for looks confusing. Remove the space between active workspace name and the button/links below it. [must have]
- Add a link to show list of more Workspaces (another compact tab to the right of the 4 inactive workspaces with "Show all"). [must have]
- Remove "Status" column from overview page; relabel "Set active" to e.g. "Switch to $workspace" [must have]
- #2958752: Refactor workspace content replication plugin system to three services was already identified as a beta-blocker by @catch, and the team agrees.
- #2975334: Prevent changes that would leak into the Live workspace @plach also raised this one to a beta-blocker, at least from an API POV, as there are data integrity concerns with e.g. the live site's configuration being mistakenly overridden.
- #2971699: Content Moderation and Workspace don't work together @effulgentsia noted that at least some mechanism to address this is a beta-blocker, though it could be very simplistic, such as simply not allowing both modules to be turned on at the same time.
- #2934354: Expose cacheability metadata in WorkspaceCacheContext This one was also raised, as there could be information exposure concerns. A quick fix is fine for beta.

Additionally:

- #2916780: Rename to "workspaces" isn't a beta blocker, but it is a "beta deadline."
- #2931067: Add a ContentRepository config entity so we can store fully configured repository handlers, which can be reused for the upstream values of a workspace is currently blocked on a beta blocker (I believe #2958752: Refactor workspace content replication plugin system to three services) and may itself get escalated once that one is fixed.

webchick’s picture

Issue summary: View changes

Got a couple of confirmations that what's written above is more-or-less correct, so updating the issue summary to reflect that.

plach’s picture

Let's see some updated colors in the IS.

effulgentsia’s picture

Same as #29 :)

effulgentsia’s picture

Sorry for the noise, but just adding another comment to refresh the colors of the must-have issues in the summary. (prior to me saving this comment, all 3 are wrong)

amateescu’s picture

@effulgentsia, I made all the must-have issues children of this one, so we can see the colors properly in the right sidebar block :)

Also, one more down!

plach’s picture

And the last beta-blocker has been committed!

Release managers might still decide to remove Workspace from the 8.6.x branch before tagging alpha, since formally it's not been marked beta yet, but at this point I think there's no risk for it not to make 8.6.

andrewmacpherson’s picture

Issue summary: View changes

Added #2986193: Workspace toolbar item fails WCAG Use-of-color at narrow breakpoint as a stable blocker. This was actually fixed in #2949991: Add workspace UI in top dialog, but it regressed before the final commit there. It addresses a WCAG level-A failure.

Also moving the other should-have accessibility issue from beta to stable (#2940677: Support prefers-reduced-motion in off-canvas dialog).

andrewmacpherson’s picture

Issue summary: View changes

Fixing heading structure in IS

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

amateescu’s picture

Component: workspace.module » workspaces.module

Fix component following module rename.

gábor hojtsy’s picture

Coming here from #3007166: [META] Stabilise and/or remove experimental modules as appropriate in/before Drupal 9 which is now also a parent :) While this issue looks like the best place to go for stability plans for workspaces, there is nothing listed yet in the issue summary for that. Needs a summary update :)

webchick’s picture

@amateescu, @catch, @plach, @timmillwood, @Gábor Hojtsy, and I were on a call this morning to discuss the remaining roadmap items and path to stability in Drupal 8.

Here is the outline/notes/conclusions from the meeting: https://docs.google.com/document/d/1Tm_ipsHAo-TEHtNUNVPSbyz1lXBMmysWb0Ka...

TL;DR: In general, we are aiming to support APIs for things at this point to make stuff possible in contrib vs. radically changing the current UI to include things like e.g. diffing/merging, etc.

The biggest things to hit in 8.7 (mid-March code freeze) are:

- More revisionable thingies (taxonomy terms, menu items, files[?])
- Parent revision support (enables sub-workspaces)
- Safe editing API (allows co-existence with Workspaces and other core features such as Layout + Quick Edit)
- Conflict resolution API (allows detection of conflicts in core; enables contrib to build off it)

Then finish remaining issues either between alpha and RC (where they're self-contained to Workspaces) or in 8.8. Hopefully though with the above groundwork in place, most of the other issues should be fairly small in comparison.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

webchick’s picture

Hm. Based on the current issue summary, at least, this module seems to be in pretty good shape! What more is left to get it to stable, and do you feel it is feasible to do it by 8.8?

amateescu’s picture

Issue summary: View changes

The issues that I think are stable blockers are all the child issues of this plan, but maybe it's easier if I put them in the issue summary as well. And yes, definitely feasible for 8.8 IMO :)

catch’s picture

Issue summary: View changes

Adding #3007661: Modernize the path alias system to the must-have section. While workspace module stability itself isn't really impacted in terms of the code base, it makes a big difference in terms of using the module.

Not sure how much of #2896457: Book/menu/path alias validation methods could point to the admin UIs and related issues as well but we should probably re-review them for the same reasons. This seems as much a product management as a release management decision, since it's about UX/feature expectations for what the module is expected to be able to do.

@amateescu pointed out these issues are also a problem for content_moderation - while this is true, we know that content_moderation is incapable of solving these issues by itself (unless it eventually uses workspaces as a backend). Whereas workspaces solves the issue of tracking multiple entity changes together, but can only do so once all core entities support revisions and publishing status properly.

sam152’s picture

There was a lengthy slack discussion about some of the potential issues with using workspaces as an engine for content moderation, but I'm afraid it would have been long purged by now. It might be worth spinning off a canonical issue for that so we can document some of the issues/wins with that.

In general though, for content authored inside the parent entity form (like menu links for example), content moderation does already support creating drafts for those entities. I think the same kind of integration could be applied to path aliases once the modernisation issue is in.

amateescu’s picture

@Sam152, we can use this issue for further discussion on that topic: #2972622: Split the workspaces UI into a separate module

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

amateescu’s picture

Issue summary: View changes
Status: Active » Needs review

Adding one more (and hopefully last) issue to the must have list: #3088643: Mark Workspaces as a stable core module

webchick’s picture

I'm a little confused because the must-have list here lists #3007661: Modernize the path alias system, which still has issues outstanding?

amateescu’s picture

@webchick, the sub-issues from #3007661: Modernize the path alias system that are relevant for Workspaces were only #2336597: Convert path aliases to full featured entities and #3007669: Add publishing status to path aliases, and they are done :) The other issues from the meta are all "should haves" for cleaning up after the initial conversion patch.

amateescu’s picture

amateescu’s picture

Issue summary: View changes

Oops, I placed it in the wrong must-have list.

xjm’s picture

Issue summary: View changes

@amateescu, @dixon_, and I discussed the roadmap and timeline more at DrupalCon Amsterdam. One of the other must-haves is to fix the few remaining "WI critical" issues.

We also discussed that we should be on a good track to fix them over the next several months along with the other remaining steps. Since this is about stabilization rather than new functionality, @catch and I agree that Workspaces can be marked stable in 8.9/9.0. (We agreed on that previously but I want to make sure it's clearly documented here.)

amateescu’s picture

Updating the colors of the must-haves since most of them are fixed now.

lauriii’s picture

I noticed that Workspaces doesn't work properly on Safari and IE 11 while I was working on #3090904: Workspace drawer CSS fix for better consistency. Some of the UIs are more or less unusable on some browsers. We should add a stable blocking issue to test cross-browser compatibility of Workspaces and determine if any of the problems should be stable blocking issues. The browser support policy can be found here: https://www.drupal.org/docs/8/system-requirements/browser-requirements.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

smustgrave’s picture

Status: Needs review » Postponed
amateescu’s picture

Issue summary: View changes
Status: Postponed » Active
Issue tags: -Needs issue summary update

@smustgrave, #3088643: Mark Workspaces as a stable core module is postponed on the list of issues from the issue summary here, so this one should be Active I think.

Updated the issue summary with the issues that will lead this module to a stable release, hopefully in Drupal 10.1.x.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

amateescu’s picture

Issue summary: View changes

Updated the IS and split up the remaining tasks into a single group so it's easier to scan what's left to do.

amateescu’s picture

Issue summary: View changes

The most important issue that was blocking a few others is done, updating the issue summary.

catch’s picture

Issue summary: View changes

Just noting the three issues currently tagged WI critical are all content_moderation issues so don't affect workspaces at all. Just committed two of the blockers, so moving them to the done section of the issue summary.

catch’s picture

Issue summary: View changes

Updating the done issues again - two more blockers down.

amateescu’s picture

Issue summary: View changes

#3300639: Improve and add explicit test coverage for the workspace conflict validator ended up with the 'WI critical' tag because it adds the test coverage requested in #3091481: Add explicit test coverage for EntityWorkspaceConflictConstraintValidator, so moving it up to the must-have list.

Also adding #2968165: Finish the Views integration to the should-have list.

catch’s picture

Issue summary: View changes

Moved the two completed must haves out.

That leaves no more must haves and three should haves.

amateescu’s picture

Status: Active » Fixed

Workspaces was just marked stable #3088643: Mark Workspaces as a stable core module, so.. 8 years later it's finally time to close this issue! :D

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.