workspaceCompositionPresentation
Properties, variants, types and bounds for workspaceCompositionPresentation.
This reference describes the full structure of workspaceCompositionPresentation. Paths include nested objects, list items and conditional branches. A branch selected by kind, contract or mode only admits its own properties.
Structure and values
| Field | Options / expected values | Description |
|---|---|---|
contract |
"WorkspaceCompositionPresentation@1" |
Required. Exact discriminant of this contract variant. Match the literal value shown. |
catalogue |
Surface-admitted value; canonical semantic validation |
Required. Defines catalogue for this object. Observe the type, variants and bounds in the Options column. |
screens |
Array<closed object OR closed object OR closed object OR closed object>; min length 1; max length 241 |
Required. Defines screens for this object. Observe the type, variants and bounds in the Options column. |
screens[].[kind=home].kind |
"home" |
Required. Selects the variant and the properties admitted in this branch. |
screens[].[kind=home].composition |
Surface-admitted value; canonical semantic validation |
Required. Declarative organization of components, sources or Spaces for the selected variant. |
screens[].[kind=collection].kind |
"collection" |
Required. Selects the variant and the properties admitted in this branch. |
screens[].[kind=collection].destinationKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
screens[].[kind=collection].viewKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
screens[].[kind=collection].composition |
Surface-admitted value; canonical semantic validation |
Required. Declarative organization of components, sources or Spaces for the selected variant. |
screens[].[kind=record].kind |
"record" |
Required. Selects the variant and the properties admitted in this branch. |
screens[].[kind=record].recordProfileKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
screens[].[kind=record].composition |
Surface-admitted value; canonical semantic validation |
Required. Declarative organization of components, sources or Spaces for the selected variant. |
screens[].[kind=work].kind |
"work" |
Required. Selects the variant and the properties admitted in this branch. |
screens[].[kind=work].experienceKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
screens[].[kind=work].composition |
Surface-admitted value; canonical semantic validation |
Required. Declarative organization of components, sources or Spaces for the selected variant. |
Reading the contract
A path ending in [] describes each list item; {key} describes each dictionary value. The ↻ marker refers to the same recursive expression. Closed objects reject additional properties. Semantic validation denotes an additional check: matching a type does not make a reference, permission or transition valid. References must resolve in the Model and the current user context.
An older variant cannot accept properties belonging to a newer variant. The compiler checks the version and consistency of the complete Model.
Surface manages this structure’s implementation parameters. Use Model tools to produce them; they are not values to enter in a record.
Related references
Complete Model index · Build a Model
Applied examples : Compose a record and its relations
Two declared Stacks hold main content then relations without extra frames. The preset selects the right panel’s width.
Configuration
Component properties RecordField.props. Properties and accepted values.
{
"recordProfileKey": "client",
"fieldPath": "fields/notes"
}
Variation and connection
Component properties QueryTable.props. Properties and accepted values.
{
"binding": {
"kind": "record-relations",
"recordProfileKey": "client",
"groupKey": "quotes"
}
}
UI layout example
The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.
- Client identity
- Notes and follow-up
- Settings
- Linked quotes
recordProfileKey- client
fieldPath- fields/notes
Values above follow the configuration fragment; references resolve in the complete Model.