Content
Updated by Niels Lindenthal 12 days ago
**Acceptance criteria**
* Have a predefined risk type seedable that is not deletable by the user
* These types can be uniquely identified across the system
* They might be manually activated in a project by users, or controlled by modules
**Technical notes**
* Add an predefined property of the type
* If that is true, the type
* is not deletable
* has no user-providable title, instead it is derived from I18n
**Permissions and visibility considerations**
* _No changes to visibility and permissions_
**Translation considerations**
* _"Predefined type"_
* DE: _Vorgegebene Typen_
<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">Naming ideas</p></th><th class="op-uc-p"><br data-cke-filler="true"></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Comment Niels</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">DE</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Comments Oliver</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Comments Parimal</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Comments Marc</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">systemtype</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">System Typ</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">built-in</code></p><p class="op-uc-p"><br data-cke-filler="true"></p><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p><p class="op-uc-p">Current preference<br>Assumption: it does not need to be translated because it is not shown in the user interface</p></td><td preference</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Vordefinierter Typ</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Translation to German is weird/unclear</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">predefined</code></p><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">"Predefined" sounds like they can be changed. So also the work package type bug is "predefined". The protected types are different since they can not be changed.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">internal</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">"Internal" sounds misleading since they are exposed to the users</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">default</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">"default" sounds misleading since those defaults can not be changed.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr></tbody></table></figure><br>
**Out of scope**
* Migrations of existing work package types. Handled separately.
* Have a predefined risk type seedable that is not deletable by the user
* These types can be uniquely identified across the system
* They might be manually activated in a project by users, or controlled by modules
**Technical notes**
* Add an predefined property of the type
* If that is true, the type
* is not deletable
* has no user-providable title, instead it is derived from I18n
**Permissions and visibility considerations**
* _No changes to visibility and permissions_
**Translation considerations**
* _"Predefined type"_
* DE: _Vorgegebene Typen_
<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">Naming ideas</p></th><th
**Out of scope**
* Migrations of existing work package types. Handled separately.