Refactor workspace association tracking to use a dedicated revision table

Created on 7 August 2025, 9 days ago

Problem/Motivation

The current workspace association implementation relies on complex queries against entity storage tables to determine which revisions belong to which workspace. This approach:

  • Requires SqlContentEntityStorage, limiting support for custom entity storage handlers
  • Uses complex queries on entity base and revision tables
  • Has performance implications for large datasets
  • Makes the code harder to maintain and understand

Proposed resolution

Introduce a new workspace_association_revision table to explicitly track all entity revisions associated with a workspace.

Additionally, this clears the path towards deprecating/removing the workspace revision metadata field, which is needed in order to implement moving revisions between workspaces in a performant way as required for 📌 Allow for / implement simplified content workflow with workspaces Active .

Remaining tasks

Review.

User interface changes

Nope.

Introduced terminology

N/A.

API changes

Nope.

Data model changes

Added a new workspace_association_revision table to track all workspace-associated revisions.

Release notes snippet

The Workspaces module now uses a dedicated database table to track all workspace-associated entity revisions, improving performance and removing limitations on custom entity storage implementations.

📌 Task
Status

Active

Version

11.0 🔥

Component

workspaces.module

Created by

🇷🇴Romania amateescu

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024