Items from Vienna sprint.
Copied from #2784921-79: Add Workspaces experimental module.
A. General
- Remove all UI from initial patch
- Keep upstream and replication plugins in patch
- #2924216: The module can not be uninstalled
- #2924218: Clearing the persistent entity cache every time we switch between workspaces is super wasteful
- #2917545: General code cleanup
- #2916781: Allow off-canvas dialog to be rendered at the top of the page
- #2917660: Fix /admin/content
- #2924311: Move /admin/structure/workspace
- #2917628: After replication the revision should be the same on both workspaces
- #2925140: Add complete test coverage for creating and deploying content across workspaces
B. Testing
- 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
- Ask Jozef for suggestions
- Possibly content_workspace_link ?
D. New name for workspace module
E. Upstream plugins
#2916791: Update upstream plugins
- Upstream should extend configurable plugin base
- More properties on the plugin annotation
- remote
- label
- description
F. Changes service
#2916841: Changes service updates
- Use more descriptive method names
- Better documentation
- Use documentation from CouchDB
G. Deployment controller
#2917791: Fix the deployment form
- Remove DeploymentController
- Keep the deployment form as a separate from, add cancel button
- 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
- Remove local=TRUE
- Keep the ReplicationLog entity as revisionable
- Clean-up base fields and inherit from base class
- Rename ‘ok’ field to ‘success’
- Rename instances of “last_seq” to something more descriptive
J. ReplicationHistoryItem
#2917894: Clean up the ReplicationLog entity type and the ReplicationHistoryItem field type
- Document why we need this
- Rename “docs” to “entities” in all properties
- Remove non-MVP properties
- missing_found
- missing_checked
K. WorkspaceFieldItemList
#2917984: Clean up WorkspaceFieldItemList
- Compare with changes in the equivalent class from Content Moderation
L. WorkspaceInterface
#2917981: Clean up the workspace entity type
- Consider moving methods from the WorkspaceManager to the repository
- Use trait for created time etc.
M. Activation form
#2917795: Fix the activation form
- Remove activate form base
- Needs to extend confirmation form base instead
N. Switcher form
Fixed in #2917545: General code cleanup: https://www.drupal.org/commitlog/commit/446/7233ab547636310e8360b8f77f6f...
- Needs to extend form base
- Needs to be a select list
O. SequenceIndex
#2917969: Clean up SequenceIndex
- Look into extending base classes?
- The sequence index should be considered “immutable”, document this
- When a workspace is deleted, the entire key/value collection should be deleted
P. DatabaseStorageSortedSet
#2917966: Clean up the sorted set key/value implementation
- Look into extending base classes?
Q. KeyValue factories
#2917966: Clean up the sorted set key/value implementation
- Revisit the factor pattern in core for key/value factories
R. Workspace negotiator
#2921621: Update Workspace negotiator
- Remove container parameter
- Just return the string ‘live’
- Remove parameter negotiator
- Remove negotiator base class
S. EntityRevisionConverter
#2917989: Remove \Drupal\workspace\ParamConverter\EntityRevisionConverter
- Remove entierly (separate patch already exists)
T. Workspace deriver
#2922189: Clean up the upstream plugins
- Better documentation
U. ReplicationInterface
#2922155: Better document repliation
- More documentation and why it’s a tagged service
V. Default replicator
- Break out the revision diff logic into protected method
- Use the load multiple revision functionality
- When replicating to non-live
- Don’t save the entity, only save content_entity_link
- 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
- Implement more properties of the replication history field
W. Everything access related
- Andrei to review
- 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
- More testing
- Ask Wim to review
Y. WorkspaceManager and its interface
#2921836: Clean up WorkspaceManager and its interface
- Remove entityCanBelongToWorkspace() method
- More documentation
- Add documentation to the updateOrCreateFromEntity() method
Comments
Comment #2
timmillwoodComment #3
timmillwoodComment #4
timmillwoodMarking "remove all UI" as done.
Comment #5
timmillwoodAdd seperate issues for settings tray, and renaming "workspace" to "workspaces".
Comment #6
timmillwoodAdding upstream plugin sub issue.
Comment #7
timmillwoodAdding a sub issue for the changes service updates.
Comment #8
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAdded an issue for tracking general code cleanups.
Comment #9
timmillwoodAdding #2917660: Fix /admin/content and #2917628: After replication the revision should be the same on both workspaces
Comment #10
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAdded #2917791: Fix the deployment form and #2917795: Fix the activation form.
Comment #11
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAdded #2917894: Clean up the ReplicationLog entity type and the ReplicationHistoryItem field type.
Comment #12
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAdded #2917966: Clean up the sorted set key/value implementation and #2917969: Clean up SequenceIndex.
Comment #13
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAnd a few more: #2917981: Clean up the workspace entity type, #2917984: Clean up WorkspaceFieldItemList and #2917989: Remove \Drupal\workspace\ParamConverter\EntityRevisionConverter.
Comment #14
timmillwoodAdding #2921621: Update Workspace negotiator to the issue summary.
Comment #15
timmillwoodComment #16
timmillwoodAdding #2922155: Better document repliation.
Comment #17
timmillwoodAdding #2922189: Clean up the upstream plugins to the issue summary.
Comment #18
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAdded #2922788: Fix the workspace cache context.
Comment #19
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAdding two issues that I'm pretty sure will be hard blockers for the core patch:
#2924216: The module can not be uninstalled
#2924218: Clearing the persistent entity cache every time we switch between workspaces is super wasteful
Comment #20
timmillwoodAdding two new issues:
Comment #21
timmillwoodTrying to get referenced link statuses to update.
Comment #22
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedAdding #2925140: Add complete test coverage for creating and deploying content across workspaces.
Comment #23
timmillwood1.x items which are not yet in 2.x, discovered by @jeqq:
Comment #24
amateescu CreditAttribution: amateescu for Pfizer, Inc. commentedThis issue has run its course, we're now tracking the path to beta stability in core over at #2732071: WI: Workspace module roadmap.