Items from Vienna sprint.
Copied from #2784921-79: Add Workspaces experimental module.


A. General

  1. Remove all UI from initial patch
    • Keep upstream and replication plugins in patch
  2. #2924216: The module can not be uninstalled
  3. #2924218: Clearing the persistent entity cache every time we switch between workspaces is super wasteful
  4. #2917545: General code cleanup
  5. #2916781: Allow off-canvas dialog to be rendered at the top of the page
  6. #2917660: Fix /admin/content
  7. #2924311: Move /admin/structure/workspace
  8. #2917628: After replication the revision should be the same on both workspaces
  9. #2925140: Add complete test coverage for creating and deploying content across workspaces

B. Testing

  1. Add test to assert that one revision can belong to multiple workspaces - #2917628: After replication the revision should be the same on both workspaces

C. New name for content_workspace entity

  1. Ask Jozef for suggestions
  2. Possibly content_workspace_link ?

D. New name for workspace module

  1. #2916780: Rename to "workspaces"

E. Upstream plugins

#2916791: Update upstream plugins

  1. Upstream should extend configurable plugin base
  2. More properties on the plugin annotation
    • remote
    • label
    • description

F. Changes service

#2916841: Changes service updates

  1. Use more descriptive method names
  2. Better documentation
  3. Use documentation from CouchDB

G. Deployment controller

#2917791: Fix the deployment form

  1. Remove DeploymentController
  2. Keep the deployment form as a separate from, add cancel button
  3. Deployment form fixes
    • Remove collapsible
    • Alignment issue with the buttons

H. ContentWorkspaceLinkInterface

I. ReplicationLog

#2917894: Clean up the ReplicationLog entity type and the ReplicationHistoryItem field type

  1. Remove local=TRUE
  2. Keep the ReplicationLog entity as revisionable
  3. Clean-up base fields and inherit from base class
  4. Rename ‘ok’ field to ‘success’
  5. Rename instances of “last_seq” to something more descriptive

J. ReplicationHistoryItem

#2917894: Clean up the ReplicationLog entity type and the ReplicationHistoryItem field type

  1. Document why we need this
  2. Rename “docs” to “entities” in all properties
  3. Remove non-MVP properties
    • missing_found
    • missing_checked

K. WorkspaceFieldItemList

#2917984: Clean up WorkspaceFieldItemList

  1. Compare with changes in the equivalent class from Content Moderation

L. WorkspaceInterface

#2917981: Clean up the workspace entity type

  1. Consider moving methods from the WorkspaceManager to the repository
  2. Use trait for created time etc.

M. Activation form

#2917795: Fix the activation form

  1. Remove activate form base
  2. Needs to extend confirmation form base instead

N. Switcher form

Fixed in #2917545: General code cleanup: https://www.drupal.org/commitlog/commit/446/7233ab547636310e8360b8f77f6f...

  1. Needs to extend form base
  2. Needs to be a select list

O. SequenceIndex

#2917969: Clean up SequenceIndex

  1. Look into extending base classes?
  2. The sequence index should be considered “immutable”, document this
  3. When a workspace is deleted, the entire key/value collection should be deleted

P. DatabaseStorageSortedSet

#2917966: Clean up the sorted set key/value implementation

  1. Look into extending base classes?

Q. KeyValue factories

#2917966: Clean up the sorted set key/value implementation

  1. Revisit the factor pattern in core for key/value factories

R. Workspace negotiator

#2921621: Update Workspace negotiator

  1. Remove container parameter
  2. Just return the string ‘live’
  3. Remove parameter negotiator
  4. Remove negotiator base class

S. EntityRevisionConverter

#2917989: Remove \Drupal\workspace\ParamConverter\EntityRevisionConverter

  1. Remove entierly (separate patch already exists)

T. Workspace deriver

#2922189: Clean up the upstream plugins

  1. Better documentation

U. ReplicationInterface

#2922155: Better document repliation

  1. More documentation and why it’s a tagged service

V. Default replicator

  1. Break out the revision diff logic into protected method
  2. Use the load multiple revision functionality
  3. When replicating to non-live
    • Don’t save the entity, only save content_entity_link
  4. When replicating to live
    • Set to default revision
    • Set an arbritray property on the entity object so that storage knows to not create a new revision in this case
  5. Implement more properties of the replication history field

W. Everything access related

  1. Andrei to review
  2. Find a better way to handle access exceptions and testing
    • Only check access when switching workspace via forms?
    • Consider the access use case for Relaxed module

X. Workspace cache context

#2922788: Fix the workspace cache context

  1. More testing
  2. Ask Wim to review

Y. WorkspaceManager and its interface

#2921836: Clean up WorkspaceManager and its interface

  1. Remove entityCanBelongToWorkspace() method
  2. More documentation
  3. Add documentation to the updateOrCreateFromEntity() method

Comments

timmillwood created an issue. See original summary.

timmillwood’s picture

Issue summary: View changes
timmillwood’s picture

Issue summary: View changes
timmillwood’s picture

Issue summary: View changes

Marking "remove all UI" as done.

timmillwood’s picture

Issue summary: View changes

Add seperate issues for settings tray, and renaming "workspace" to "workspaces".

timmillwood’s picture

Issue summary: View changes

Adding upstream plugin sub issue.

timmillwood’s picture

Issue summary: View changes

Adding a sub issue for the changes service updates.

amateescu’s picture

Issue summary: View changes

Added an issue for tracking general code cleanups.

timmillwood’s picture

amateescu’s picture

amateescu’s picture

amateescu’s picture

timmillwood’s picture

Issue summary: View changes

Adding #2921621: Update Workspace negotiator to the issue summary.

timmillwood’s picture

Issue summary: View changes
timmillwood’s picture

timmillwood’s picture

Issue summary: View changes
Related issues: +#2922189: Clean up the upstream plugins

Adding #2922189: Clean up the upstream plugins to the issue summary.

amateescu’s picture

amateescu’s picture

timmillwood’s picture

timmillwood’s picture

Trying to get referenced link statuses to update.

amateescu’s picture

timmillwood’s picture

1.x items which are not yet in 2.x, discovered by @jeqq:

  • Changes page and the changes button in the toolbar
  • Update button in the toolbar
  • The option to set a target workspace (form on workspace page)
  • The option to set replication filters (form on workspace page)
  • The permission to configure the replication filters (added recently in 8.x-1.x)
  • There is not a way to delete a workspace (maybe this is just work in progress?)
amateescu’s picture

Status: Active » Fixed

This issue has run its course, we're now tracking the path to beta stability in core over at #2732071: WI: Workspace module roadmap.

Status: Fixed » Closed (fixed)

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