Content
View differences
Updated by Dominic Bräunlein almost 2 years ago
# User Problem
## User
* Project manager
* Project member
* Administrator
## Problem
In some scenarios, * At times, users are required need to manage complex deal with information that naturally fits into is best displayed as hierarchy.
* Users want to save this information in work packages.
* At the moment only flat lists are available.
* Here are some examples of data that would be best shown within a hierarchical structure. hierarchy e.g.
* **Real Estate:** Property -> Buildings -> Floors -> Rooms
* **Geographical Data:** Continent -> Country -> Federal State state -> County
* **Organizational Structures:** Organization Organizations -> Department -> Team -> User
* **Product Components:** Parts list of a machine
Currently, only flat lists are available. Lists can be challenging in managing and navigating through this information. Without
* The advantages of a hierarchical view, it becomes difficult to maintain, locate, and work with these datasets effectively.
## Pain
hierarchic list are:
* Users, particularly project managers and project members, need a way Makes it easier to save and organize information in work packages using hierarchical structures.
locate specific items.
* A hierarchical representation would allow them to Users can focus on relevant subsets of information, making navigation information.
* Drill-Down Navigation: Users can navigate through different levels of the hierarchy, which can make the UI feel more intuitive and information retrieval easier. structured.
## Pain
* Hierarchies are not possible at the moment, only flat lists can be used.
* This makes it complicated to maintain, find and select values.
# Business Case
## Solution Reach
The solution involves implementing a > Add this value to the custom field of type "hierarchy" and delete this section.
## Impact
> Add this value to allow users the custom field and delete this section.
## Confidence
> Add this value to manage the custom field and navigate information in a structured, multi-level format delete this section.
## Urgency and Priority
> Add this value to the custom field and delete this section.
## Solution
### Summary
* The solution is a custom field of type hierarchy.
* The admin needs to be able to
* Create a to create this custom field of type "hierarchy" (on and set values on admin level)
level.
* Set values (on admin level)
Project admins need to be able to enable / disable this custom field on project level.
* Nodes should be able to have optionally an abbreviation short and long form for displaying information in short e.g.
* Headquarters -> > Level 1 Floor -> Room 2 **in short:** "HQ => HQ -> 1F Lvl 1 -> 2"
Room 2
* Europe -> Germany -> Bavaria -> Weißenburg **in short:** "EU => EU -> DE -> BY -> WUG"
* Project admins need to be able to
* enable / disable this custom field on project level. WUG
* Other custom fields should need to be able to access the value of the selected item from the custom field of type hierarchy.
* It should be also possible to access partial information e.g. the parent node, node and short and vs. long form of a value
###
### Admin Interface
* Create nodes
* Set parent (and be able to change parent afterwards)
* Validations / Services / Contracts
* Data structures
* Path / Breadcrumb
* Long form
* short form
### API
* Add to work package representer
* Query
* on work packages (start with this one)
* on users
* on groups
* on projects
* Filter on
* Operators
* all assigned to a certain node
* all assigned to a certain node and its descendents
* Allowed values
* Group by
* WP/project/users/groups form
* link to typeahead backend
* Values endpoint
* Typeahead for value searching
* drill down
* get all children for node
* get all as tree (needed for quick solution with ng-select)
* Documentation
### Angular Frontend
* Render values
* In WP full view
* In WP table column
* Select values
* ng-select based (browsing the hierarchy)
* single select
* multi select
* search on path (typeahead) (searching the hierarchy, )
### **Acceptance criteria**
* When ever we work with the hierarchy, it is not necessary to load the full hierarchy as hierarchies can easily bigger than 1k elements.
* Administration
* create such an attribute
* set to single- or multi-select
* create nodes one by one
* modify parent
* delete node
* rename node
* provide acronym per node
* Interface for non admin, e.g. in a work package form
* A selected value can have multiple value representation
* Node ID
* Full path long: Europe -> Germany -> Bavaria
* Full path short: EU-DE-BY
* Selected long: Bavaria
* Selected short: BY
* Selection
* Select a leaf (e.g. Bavaria)
* Select a node (e.g. Germany)
* Allow multi-selection
* Filters
* By node or leaf (e.g. Bavaria only, Germany only)
* By node with descendants (e.g. Germany, including all federal states)
## Out of Scope for the iteration 1
* Drill down selector. A component It's like a location/file picker. The picker where the user can click on nodes (instead of folders) to go one level deeper on find the hierarchy. item. This is needed to for selecting an item within a large amounts of hierarchical items (Needs clarification what drill down pattern would be the most accepted by users Folder-Style vs. Tree +)
* Manual sort order. For So for the time being elements are sorted alphabetically per node.
* Multiple changes to the hierarchy get saved in one transaction instead of multiple ones.
* Allow the same custom field to be active on work packages AND projects, or any other entity type we allow custom fields for.
##
## Next iteration
* The next iteration would be extending the hierarchical hierachical custom field with a drill down selector.
* Drill down selector. It's like a location/file picker where the user can click on nodes (instead of folders) to find the item. This is needed to for selecting an item within a large amounts of hierarchical items. This needs clarification what drill down pattern would be the most accepted by users Folder-Style vs. a small + button on a tree structure
items
# Launch and Growth
## Measures
* tbd
## Messaging
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Headline</p></th><td class="op-uc-table--cell"><p class="op-uc-p">Custom fields of type Hierarchy makes project managers and members life easier.</p></td></tr><tr class="op-uc-p">Hierarchical attributes for work packages.</p></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">First Paragraph</p></th><td class="op-uc-table--cell"><p class="op-uc-p">A hierarchical representation of data makes navigation more intuitive and information retrieval easier. For data that don't fit into class="op-uc-p">Like a <s>box</s> flat list. </p></td></tr><tr list but structured.</p></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Customer Quote</p></th><td class="op-uc-table--cell"><p class="op-uc-p">It's needed for our ...</p></td></tr></tbody></table></figure> class="op-uc-p">We need this.</p></td></tr></tbody></table></figure>
## Go to market
**Figma and visuals**
https://www.figma.com/design/oTMDTvcwrx35qExTkkSKBn/Custom-fields?node-id=386-8676
## User
* Project manager
* Project member
* Administrator
## Problem
In some scenarios,
* Users want to save this information in work packages.
* At the moment only flat lists are available.
* Here are some examples of data that would be best shown within
Currently, only flat lists are available. Lists can be challenging in managing and navigating through this information. Without
* The advantages of
## Pain
* Drill-Down Navigation: Users can navigate through different levels of the hierarchy, which can make the UI feel
## Pain
* Hierarchies are not possible at the moment, only flat lists can be used.
* This makes it complicated to maintain, find and select values.
# Business Case
## Solution
The solution involves implementing a
## Impact
> Add this value
## Confidence
> Add this value
> Add this value to the custom field and delete this section.
## Solution
* The
* The
* Create a
* Project admins need to be able to
* enable / disable this custom field on project level.
* Other custom fields should
* It should be also possible to access partial information e.g. the parent node,
###
### Admin Interface
* Create nodes
* Set parent (and be able to change parent afterwards)
* Validations / Services / Contracts
* Data structures
* Path / Breadcrumb
* Long form
* short form
### API
* Add to work package representer
* Query
* on work packages (start with this one)
* on users
* on groups
* on projects
* Filter on
* Operators
* all assigned to a certain node
* all assigned to a certain node and its descendents
* Allowed values
* Group by
* WP/project/users/groups form
* link to typeahead backend
* Values endpoint
* Typeahead for value searching
* drill down
* get all children for node
* get all as tree (needed for quick solution with ng-select)
* Documentation
### Angular Frontend
* Render values
* In WP full view
* In WP table column
* Select values
* ng-select based (browsing the hierarchy)
* single select
* multi select
* search on path (typeahead) (searching the hierarchy, )
### **Acceptance criteria**
* When ever we work with the hierarchy, it is not necessary to load the full hierarchy as hierarchies can easily bigger than 1k elements.
* Administration
* create such an attribute
* set to single- or multi-select
* create nodes one by one
* modify parent
* delete node
* rename node
* provide acronym per node
* Interface for non admin, e.g. in a work package form
* A selected value can have multiple value representation
* Node ID
* Full path long: Europe -> Germany -> Bavaria
* Full path short: EU-DE-BY
* Selected long: Bavaria
* Selected short: BY
* Selection
* Select a leaf (e.g. Bavaria)
* Select a node (e.g. Germany)
* Allow multi-selection
* Filters
* By node or leaf (e.g. Bavaria only, Germany only)
* By node with descendants (e.g. Germany, including all federal states)
## Out of Scope for
* Drill down selector. A component
* Manual sort order. For
* Multiple changes to the hierarchy get saved in one transaction instead of multiple ones.
* Allow the same custom field to be active on work packages AND projects, or any other entity type we allow custom fields for.
##
## Next iteration
* The next iteration would be extending the hierarchical
* Drill down selector. It's like a location/file picker where the user can click on nodes (instead of folders) to find the item.
## Measures
* tbd
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Headline</p></th><td class="op-uc-table--cell"><p class="op-uc-p">Custom fields of type Hierarchy makes project managers and members life easier.</p></td></tr><tr
## Go to market
**Figma and visuals**
https://www.figma.com/design/oTMDTvcwrx35qExTkkSKBn/Custom-fields?node-id=386-8676