Content
View differences
Updated by Oliver Günther about 3 hours ago
This feature covers **global** sub-types, managed by instance administrators and available to every project. Project-owned sub-types, the project permission, in-project visibility isolation, and promotion to global are a separate, larger feature (to be creatd)
**As an** OpenProject administrator
**I want to** create and manage global sub-types under an existing work package type
**so that** I can offer instance-wide variations of a type that present as the parent but can behave differently.
## Acceptance criteria
* I can create a global sub-type under any root type type. _(F0-C1, F0-C4)_
* A sub-type cannot itself have sub-types. The application enforces a single level level. _(F0-C1)_
* A sub-type cannot be its own parent, and standard types cannot be sub-typed or re-parented re-parented. _(F0-C1)_
* A new sub-type is independent except for starts with every aspect (workflow, form configuration, settings) linked to its name
parent, so it behaves exactly like the parent until I change it. _(F0-C1, F0-C2)_
* Related features ##FND-101 ##FND-102
* A sub-type appears in administration nested under its parent and labelled with its composite name ("Bug: Hardware") Hardware"). _(F0-C3, F0-C4)_
* A sub-type inherits its core settings from the parent and cannot edit them: color, `is_milestone`, `is_in_roadmap`, and `is_default` are shown read-only and always follow the parent parent. _(F0-C3)_
* A sub-type carries only its own variant label, used in administration, hover, and the composite name; the displayed type name
* A sub-type's display name is always resolves to the parent name parent. _(F0-C3)_
* The system prevents creating a cyclic dependency between reuse sources sources. _(F0-C2)_
* The entire capability is hidden and inert unless the `work_package_subtypes` feature flag is enabled enabled. _(F0-C0)_
## Permissions and visibility considerations
* **To whom is this feature visible?** Instance administrators (the existing global type administration).
* **When is it not visible?** Feature Flag turned off, all non-admin users.
## 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-p">German (verify)</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">Sub-type</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Untertyp</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Sous-type</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Subtipo</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Parent type</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Übergeordneter Typ</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Type parent</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Tipo principal</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></tbody></table></figure>
* Document the hierarchical name (`"TYPE: SUBTYPE"`) used in admin, possibly on hover, and API.
## Out of scope
* Project-owned sub-types, the `:manage_subtypes` project permission, in-project visibility isolation, and promotion to global (Feature 8).
* Per-aspect reuse behavior beyond the default parent links (Features 1, 2, 3).
* Project activation and the one-per-family rule (Feature 5).
* Display routing across the product (Feature 4).
**As an** OpenProject administrator
**I want to** create and manage global sub-types under an existing work package type
**so that** I can offer instance-wide variations of a type that present as the parent but can behave differently.
## Acceptance criteria
* I can create a global sub-type under any root type
* A sub-type cannot itself have sub-types. The application enforces a single level
* A sub-type cannot be its own parent, and standard types cannot be sub-typed or re-parented
* A new sub-type is independent except for
* A sub-type appears in administration nested under its parent and labelled with its composite name ("Bug: Hardware")
* A sub-type inherits its core settings from the parent and cannot edit them: color, `is_milestone`, `is_in_roadmap`, and `is_default` are shown read-only and always follow the parent
* A sub-type carries only its own variant label, used in administration,
* A sub-type's display name is always
* The system prevents creating a cyclic dependency between reuse sources
* The entire capability is hidden and inert unless the `work_package_subtypes` feature flag is enabled
## Permissions and visibility considerations
* **To whom is this feature visible?** Instance administrators (the existing global type administration).
* **When is it not visible?** Feature Flag turned off, all non-admin users.
## 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
* Document the hierarchical name (`"TYPE: SUBTYPE"`) used in admin, possibly on hover, and API.
## Out of scope
* Project-owned sub-types, the `:manage_subtypes` project permission, in-project visibility isolation, and promotion to global (Feature 8).
* Per-aspect reuse behavior beyond the default parent links (Features 1, 2, 3).
* Project activation and the one-per-family rule (Feature 5).
* Display routing across the product (Feature 4).