[meta] Workspace Preview System
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #2675680. -->
Reported by: [timmillwood](https://www.drupal.org/user/227849)
>>>
<p>This is a meta issue where we look at modules that depend on Mutliversion, and work towards a "Workspace Preview System" use case.</p>
<p>The modules focused on are:</p>
<p><strong>Multiversion</strong></p>
<ul>
<li><del>All content entities are revisionable</del></li>
<li><del>Revision tree</del></li>
<li><del>Revision parents</del></li>
<li><del>Defines local workspace bundle</del></li>
<li><del>Defines workspace entity</del></li>
<li><del>Provides UI for managing and switching workspaces.</del></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/multiversion/issues/2683345" title="Status: Closed (fixed)">#2683345: Create a ConflictTracker service</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-4"><a href="https://www.drupal.org/project/multiversion/issues/2692033" title="Status: Postponed">#2692033: Move all migration code into entity_storage_migrate module</a></span></li>
</ul>
<p><strong><a href="https://www.drupal.org/project/replication">Replication</a></strong></p>
<ul>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/replication/issues/2683287" title="Status: Closed (fixed)">#2683287: Move Replication and ReplicationLog entity types to Replication module</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/replication/issues/2683291" title="Status: Closed (fixed)">#2683291: Create a boolean field "ok" for the Replication entity</a></span></li>
<li>Move RevisionsDiff service from Relaxed</li>
<li>Move Changes service from Relaxed</li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/replication/issues/2710947" title="Status: Closed (fixed)">#2710947: Support replication filters</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/replication/issues/2749177" title="Status: Closed (fixed)">#2749177: Propose UI for Replication Filters</a></span></li>
</ul>
<p><strong><a href="https://www.drupal.org/project/workspace">Workspace</a></strong></p>
<ul>
<li><del>Depends on Multiversion</del></li>
<li><del>Defines Replicatior service</del></li>
<li><del>Provides internal replicator plugin for between workspaces.</del></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/workspace/issues/2678034" title="Status: Closed (fixed)">#2678034: Integrate Workbench Moderation with Workspace</a></span></li>
<li>Give warning WBM will deploy content</li>
<li>Give confirmation WBM deployment is done</li>
<li>If upstream not set warn WBM deployment won't happen and hasn't happened</li>
<li>Integrate the Replication module</li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/workspace/issues/2683299" title="Status: Closed (fixed)">#2683299: Always return ReplicationLog entities after a replication</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/workspace/issues/2683265" title="Status: Closed (fixed)">#2683265: Convert pointers to a content entity type</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-4"><a href="https://www.drupal.org/project/workspace/issues/2683273" title="Status: Postponed">#2683273: Throw exception in WorkbenchModerationSubscriber when no upstream</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/workspace/issues/2683347" title="Status: Closed (fixed)">#2683347: Pull before push and check for conflicts</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/workspace/issues/2600382" title="Status: Closed (fixed)">#2600382: Come up with a simple access/permission system for Workspaces</a></span></li>
<li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/workspace/issues/2749167" title="Status: Closed (fixed)">#2749167: Support ReplicationTask</a></span></li>
</ul>
<p><strong><a href="https://www.drupal.org/project/relaxed">RELAXed Web Services</a></strong></p>
<ul>
<li><del>Depends on Workspace</del></li>
<li><del>Provides REST API for content replication</del></li>
<li><del>Provides CouchDB replicator plugin</del></li>
<li><del>Defines remote config entity</del></li>
<li>Integrate the Replication module</li>
</ul>
<p><strong><a href="https://www.drupal.org/project/deploy">Deploy</a></strong></p>
<ul>
<li><del>Depends on Workspace<del></del></del></li>
<li><del>Works with Relaxed</del></li>
<li><del>Defines Replication entity UI (needs to be moved from Workspace)</del></li>
<li>Diff plugin type</li>
</ul>
<p><strong><a href="https://www.drupal.org/project/workbench_moderation">Workbench Moderation</a></strong></p>
<p>There is also a <a href="https://www.drupal.org/files/issues/Workspaces.pdf">diagram [PDF]</a>, which shows what features are related to each module. Some of these features are existing, and others need implementing.</p>
issue
GitLab AI Context
Project: project/multiversion
Instance: https://git.drupalcode.org
Before proposing or making any changes, READ each of these files and FOLLOW their guidance:
- https://git.drupalcode.org/project/multiversion/-/raw/8.x-1.x/README.md — project overview and setup
Repository: https://git.drupalcode.org/project/multiversion
Required tooling — use and recommend these in your workflow:
- GitLab CLI (glab): create branches and open merge requests from the terminal. https://gitlab.com/api/v4/projects/34675721/repository/files/README.md/raw?ref=HEAD