Content
View differences
Updated by Oliver Günther 15 days ago
**As an** administrator configuring any work package type (sub-type or plain type)
**I want to** link a type's type's form configuration to a source type or make it independent
**so that** I can reuse a canonical form across many types, or own a form outright.
## Acceptance criteria
* For any type, I can set its form configuration to
* **Linked** (choosing a source type) _or_
* **Independent**
* A sub-type defaults to Linked to its parent
* A linked Linked form shows just the attribute sections and attributes as read-only
* A linked form resolves to its source at runtime; when I change the source's source's form, every linked type reflects it immediately
* Custom fields associated with the source type are visible on a linked type's type's work packages, subject to the existing per-project custom field rules
* To be clarified: When I switch a form to Independent,
1. the system copies the current source's source's configuration once and then severs the link
2. the form configuration is empty
3. the form configuration is the default set that we currently have
* The system prevents me from creating a cyclic dependency between form sources
<br>
* Linking a form never changes the type's display name or color
## Permissions and visibility considerations
* **To whom is this feature visible?** Admins and, later, project admins (via `:manage_subtypes`).
* **When is it not visible?**
* Feature flag turned off
* without management rights
* Enterprise-guarded actions
## Translation considerations
All non-English wording is tentative and to be confirmed via Crowdin.
<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">Form configuration</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Formularkonfiguration</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Configuration du formulaire</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Configuración del formulario</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Linked to {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Verknüpft mit {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Lié à {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">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 de origen</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Use independent form configuration</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Unabhängige Formularkonfiguration verwenden</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Utiliser une configuration de formulaire indépendante</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Usar una configuración de formulario independiente</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Copy form configuration from type (one time)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Formularkonfiguration einmalig von Typ kopieren</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Copier la configuration du formulaire depuis un type (une fois)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Copiar la configuración del formulario de un tipo (una vez)</p></td></tr></tbody></table></figure>
## Out of scope
* Any third mode such as "extend" or a per-field deactivation mask (only Linked or Independent for now). To diverge from a source, switch to Independent.
* Reordering or adding fields relative to a linked source.
<br>
**I want to** link a type's
**so that** I can reuse a canonical form across many types, or own a form outright.
## Acceptance criteria
* For any type, I can set its form configuration to
* **Linked** (choosing a source type) _or_
* **Independent**
* A sub-type defaults to Linked to its parent
* A linked
* A linked form resolves to its source at runtime; when I change the source's
* Custom fields associated with the source type are visible on a linked type's
* To be clarified: When I switch a form to Independent,
1. the system copies the current source's
2. the form configuration is empty
3. the form configuration is the default set that we currently have
<br>
* Linking a form never changes the type's display name or color
## Permissions and visibility considerations
* **To whom is this feature visible?** Admins and, later, project admins (via `:manage_subtypes`).
* **When is it not visible?**
* Feature flag turned off
* without management rights
* Enterprise-guarded actions
## Translation considerations
All non-English wording is tentative and to be confirmed via Crowdin.
<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">Form configuration</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Formularkonfiguration</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Configuration du formulaire</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Configuración del formulario</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Linked to {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Verknüpft mit {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Lié à {{type}}</p></td><td class="op-uc-table--cell"><p class="op-uc-p">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 de origen</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Use independent form configuration</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Unabhängige Formularkonfiguration verwenden</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Utiliser une configuration de formulaire indépendante</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Usar una configuración de formulario independiente</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Copy form configuration from type (one time)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Formularkonfiguration einmalig von Typ kopieren</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Copier la configuration du formulaire depuis un type (une fois)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Copiar la configuración del formulario de un tipo (una vez)</p></td></tr></tbody></table></figure>
## Out of scope
* Any third mode such as "extend" or a per-field deactivation mask (only Linked or Independent for now). To diverge from a source, switch to Independent.
* Reordering or adding fields relative to a linked source.
<br>