Skip to main content

Descriptors

Overview

The Edit and Test section on the Builder page of a system instance renders a project descriptor in YAML format, which provides a comprehensive overview of the system properties and those of its components. This descriptor serves as a common language across various Witboost modules, including computational governance platform, provisioning module, and marketplace.

The primary joint goal of Practice Shaper and Builder module is to build project descriptors that adhere to all the constraints and rules of a specific data landscape.

tip

In Witboost, the term project or data project refers to a system instance and all its components

How the descriptor is built

The generation of a project descriptor starts by retrieving properties and relations of the related system instance.

All attributes under spec.mesh become root-level attributes in the final descriptor. Other fields are populated as follows:

Property in the final descriptorGets filled with...
projectOwnervalue of spec.mesh.projectOwner, or alternatively (if not defined) spec.mesh.dataProductOwner
projectOwnerDisplayNamedisplay name of the owner defined under projectOwner
environmentenvironment in which the description generation as been requested
domainname of the domain under spec.domain
domainIdURN of the domain under spec.domain
projectKindstring "system"
idURN of the system
descriptionvalue of metadata.description
devGroupname of the group defined under spec.mesh.developmentGroup or (if not defined) under spec.owner
ownerGroupname of the user or group defined under spec.mesh.projectOwner or (if not defined) under spec.mesh.dataProductOwner
shoppablevalue of spec.mesh.shoppable or falseif not defined
kindvalue of the spec.resourceTypeId property of the system type this system is instance of
taxonomy.idURN of the data landscape the system instance belongs to
taxonomy.nameName of the data landscape the system instance belongs to

Field components is filled with the list of descriptors (see section below) of component instances having a partOf relation with the system.

Component descriptor

Given a component instance: all its attributes under spec.mesh become root-level attributes in the component descriptor. Other fields are populated as follows:

Property in the final descriptorGets filled with...
idURN of the component
kindvalue of the spec.resourceTypeId property of the component type this component is instance of
descriptionvalue of metadata.description
shoppablevalue of spec.mesh.shoppable or false if not defined
consumablevalue of spec.mesh.consumable or false if not defined

Field components is filled with the descriptors of the component's subcomponents. More on this in the subcomponents section.