Workspace publisher and merger should be services

Created on 31 July 2024, 6 months ago
Updated 1 August 2024, 6 months ago

Problem/Motivation

Workspace publisher and merger can't be overridden/injected without also creating a custom WorkspaceOperationFactory

Steps to reproduce

Proposed resolution

Workspace publisher and merger should be services.

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

πŸ“Œ Task
Status

Active

Version

11.0 πŸ”₯

Component
WorkspacesΒ  β†’

Last updated about 18 hours ago

No maintainer
Created by

πŸ‡ΊπŸ‡ΈUnited States djdevin Philadelphia

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

Comments & Activities

  • Issue created by @djdevin
  • πŸ‡ΊπŸ‡ΈUnited States djdevin Philadelphia
  • πŸ‡ΊπŸ‡¦Ukraine taraskorpach Lutsk πŸ‡ΊπŸ‡¦

    I suppose we cannot implement a factory completely based on the container.

    We could add a method called setSource() to the WorkspacePublisher, in which we might set the needed Workspace to the publisher property.

    In the WorkspaceOperationFactory, we should call the new service for WorkspacePublisher like "workspaces.publisher" and then call the method setSource() from itself.

    Finally, the new method getPublisher() of WorkspaceOperationFactory should look like:

    public function getPublisher(WorkspaceInterface $source) {
        return $this->publisher->setSource($source);
    }

    Please explain if we could use the DI factory pattern here or review my approach.

Production build 0.71.5 2024