Content
View differences
Updated by Oliver Günther about 3 hours ago
**As an** administrator configuring any work package type (sub-type or plain type)
**I want to** link a type's workflow to a source type or make it independent
**so that** I can reuse the same exact workflow across many types without copying, or own my own workflow.
## Acceptance criteria
* For any type, I can set its workflow to **Linked** (choosing a source type) or **Independent**.
* **Independent**. A sub-type defaults to Linked to its parent parent. _(F1-C0)_
* A Linked workflow resolves to its source at runtime; when I change the source's workflow, every linked type reflects it immediately immediately. _(F1-C1)_
* When I switch a workflow to Independent, the system copies the current source's workflow once as a starting point and then severs the link link. _(F1-C2)_
* The workflow matrix of a Linked type is read-only; I edit the owning (Independent) type instead, and the admin shows which source it is linked to to. _(F1-C3)_
* The system prevents me from creating a cyclic dependency between workflow sources sources. _(F0-C2)_
* Linking a workflow never changes the type's display name or color color. _(F0-C3)_
## Permissions and visibility considerations
* **To whom is this feature visible?** Users who can manage workflows or sub-types (admins; later project admins via `:manage_subtypes` for project-owned sub-types).
* **When is it not visible?** Feature flag turned off, users without management rights. Linked types are read-only in the workflow matrix.
## Translation considerations
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">English</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">German</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">French (verify)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Spanish (verify)</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Workflow</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Workflow</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Workflow</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Flujo
| English | German | French (verify) | Spanish (verify) |
|---|---|---|---|
| Workflow | Workflow | Workflow | Flujo de trabajo</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Linked trabajo |
| Linked to {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Verknüpft {{type}} | Verknüpft mit {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Lié {{type}} | Lié à {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Vinculado {{type}} | Vinculado a {{type}}</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Source type</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Quelltyp</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Type source</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Tipo {{type}} |
| Source type | Quelltyp | Type source | Tipo de origen</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Use origen |
| Use independent workflow</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Unabhängigen workflow | Unabhängigen Workflow verwenden</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Utiliser verwenden | Utiliser un workflow indépendant</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Usar indépendant | Usar un flujo de trabajo independiente</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Copy independiente |
| Copy workflow from type (one time)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Workflow time) | Workflow einmalig von Typ kopieren</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Copier kopieren | Copier le workflow depuis un type (une fois)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Copiar fois) | Copiar el flujo de trabajo de un tipo (una vez)</p></td></tr></tbody></table></figure>
vez) |
## Out of scope
* Adding a "Extend" reuse mode (only Linked or Independent for now).
* Merging or partially overriding a linked workflow.
* Defining multiple workflows per (sub-)type
**I want to** link a type's workflow to a source type or make it independent
**so that** I can reuse the same exact workflow across many types without copying, or own my own workflow.
## Acceptance criteria
* For any type, I can set its workflow to **Linked** (choosing a source type) or **Independent**.
*
* A Linked workflow resolves to its source at runtime; when I change the source's workflow, every linked type reflects it immediately
* When I switch a workflow to Independent, the system copies the current source's workflow once as a starting point and then severs the link
* The workflow matrix of a Linked type is read-only; I edit the owning (Independent) type instead, and the admin shows which source it is linked to
* The system prevents me from creating a cyclic dependency between workflow sources
* Linking a workflow never changes the type's display name or color
## Permissions and visibility considerations
* **To whom is this feature visible?** Users who can manage workflows or sub-types (admins; later project admins via `:manage_subtypes` for project-owned sub-types).
* **When is it not visible?** Feature flag turned off, users without management rights. Linked types are read-only in the workflow matrix.
## Translation considerations
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">English</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">German</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">French (verify)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Spanish (verify)</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Workflow</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Workflow</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Workflow</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Flujo
| English | German | French (verify) | Spanish (verify) |
|---|---|---|---|
| Workflow | Workflow | Workflow | Flujo
| Linked
| Source type | Quelltyp | Type source | Tipo
| Use
| Copy
* Adding a "Extend" reuse mode (only Linked or Independent for now).
* Merging or partially overriding a linked workflow.
* Defining multiple workflows per (sub-)type