Create a collection in the Web UI, in the API and the CLI
User story
As a workspace owner, I need to be able to create collections for use in the workflows that I'm setting up.
During the creation of the collection, I'm invited to set the various properties of the collection:
- category: a list of all existing collection types
- name: the name of the collection
- workspace: (in the Web UI should be implicitly set by the current workspace)
- full_history_retention_period, metadata_only_retention_period: this probably needs to be guarded by a checkbox to indicate whether we want to store historical data at all
- key-value data: a simple text field with JSON data inside
Having proper dedicated fields to represent the data model of all the categories is out of scope for this feature.
Error handling
- If the category matches a singleton collection, the name should be forced to "_" (and error out otherwise).
- The key-value data should be validated against the collections's pydantic data model.
- The system should notify a failure, when the given name is already used by an existing collection.
Implementation plan
-
Add the API to create a collection -
Add a web UI to create a collection -
Add a debusine-client interface to create a collection
Open questions
- None at this point.
Notes
This issue description can be modified to integrate feedback from comments and from associated merge requests.