Use Case Descriptors (**UCD**) are documents used by the application in order to manage the entire lifecycle of registered Projects, including its consumption by users.
UCDs define :
* :ref: Schema : The structure of the related Projects' metadata documents (may depend by PHASE)
* :ref: Data Access Policies : Access rules (i.e. read/write all/own) on which base clients are allowed to operate on Projects
* :ref: Relationship Definitions : Relationships appliable to related Projects
* :ref: Handlers configuration : All expected configurations by handlers involved in the Projects lifecycle (both server-side plugins and clients / GUIs)
*********
Schema
*********
The schema defines the expected structure of the document section of a Project.
It is defined as a map of Fields objects like the following example ::
..note:: Relationships can be applied to Projects related to different UCDs.
***********************
Handlers Configurations
***********************
Hendlers configuration vary a lot in structure in order to allow for the most flwxibility and decoupling of components.
Each entry is expected to be defined as the following ::
{
"_id": ...,
"_type": ...,
"_configuration": {
..
}
}
In this way the declaration can be read from other components (e.g. lifecycle managers when looking for indexers) but the configuration is custom managed by the target handler itself.