Skip to content

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information