Support a hierarchy in metadata attributes #251
Labels
app
Related to the App package
enhancement
New feature or request
UX
Related to user experience. Usability, visual style, etc.
Milestone
Problem
How to handle a large number of attributes?
Metadata in the app is based on a
csv
/tsv
/json
file. The data types, scales, and domains are automatically inferred from the data. These can be further customized in the spec:However, when the number of attributes grows large, certain problems arise:
Often, if the number of attributes is large, they have some inherent structure – they could be split into different categories.
Solution
.
,_
, or/
, that separates the groupsThe
metadata.tsv
file might have the following columns:The above attributes would comprise two groups: clinical and signature.
The attributes and groups could be configured as follows:
The
attributeGroupSeparator
specifies which character separates the attribute names into "paths". In the above example,signature
attribute targets all attributes that belong to the signature group: HRD and APOBEC. The configuration should be inheritable, i.e., one could provide defaults for a group and adjust individual attributes if necessary.The grouping should form a view hierachy, which would be shown in the view visibility menu. The groups should be container views (
hconcat
), end their visibility should be toggleable.The above example would be shown in the menu as follows:
Configuring groups
Groups are automatically extracted from the column names if the separator character has been specified. But what if they need some configuration – what if some of them should be hidden by default? Two options:
Separate config for attributes and groups
Pros: it would be clear (based on the JSON schema) which properties can be used where. Cons: stuff has to be specified at multiple places.
Attributes and groups in the same object
Pros: more succinct. Cons: Not clear if, for example, the
visible
property should be applied to the group or to all attributes within the group, i.e., is the group invisible or are all the attributes separately invisible.The text was updated successfully, but these errors were encountered: