Provide support for using controlled vocabulary/terminology service when setting properties on collections
Provide the equivalent support as was done for the existing workbench in #12479.Some other details:
- behavior is triggered by presence or absence of vocabulary file ("vocabulary.json" in existing implementation, but could be controlled by a configuration parameter
- design center was 10-15 groups of terms (ie "vocabularies") with numbers of items for each ranging from a couple of dozen to a few thousand
- there's an example file at arvados/apps/workbench/public/vocabulary-example.json
#4 Updated by Michał Kłobukowski almost 3 years ago
Behavior is triggered by presence or absence of vocabulary file ("vocabulary.json" in existing implementation, but could be controlled by a configuration parameter
1. So should we expect vocabulary.json to placed by default for example under `c97qk.arvadosapi.com/vocabulary.json`?
2. Does configuration mean a config.json file the same that is currently used for `API_HOST`?
3. Would that be the way to check if vocabulary should be enabled:
3.1 Get vocabulary from default path end enable the feature,
3.2 If default not available check config file for vocabulary URL - if present fetch it end enable the feature,
there's an example file at arvados/apps/workbench/public/vocabulary-example.json
1. Does the truthy strict property mean, that we won't be able to type other values that the ones from vocabulary.
#15 Updated by Michał Kłobukowski almost 3 years ago
However the vocabulary.json is more dynamic and it needs to be possible to change it between Installations.
In our case the vocabulary.json is generated every couple of hours from an API and replaces the previous one
In a way the vocabulary.json is like an external API itself. One possible way could be to configure the URL of the vocabulary.json in the config.json which would allow us to use a rest API directly instead of a static json file
#16 Updated by Michał Kłobukowski almost 3 years ago
Currently vocabulary file is loaded once when the application starts. To load a new vocabulary user has to refresh the page. Should that behaviour stay for now, or should it be more dynamic, so that vocabulary endpoint would be called when typing into properties form. A drawback of more dynamic behaviour is that the vocabulary file can be quite large and loading it very often would cause some lags.