workspaceHomePresentation
Properties, variants, types and bounds for workspaceHomePresentation.
This reference describes the full structure of workspaceHomePresentation. 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 |
"WorkspaceHomePresentation@1" |
Required. Exact discriminant of this contract variant. Match the literal value shown. |
header |
closed object |
Required. Defines header for this object. Observe the type, variants and bounds in the Options column. |
header.intro |
string; min length 1; max length 4000; null |
Required. Defines intro for this object. Observe the type, variants and bounds in the Options column. |
header.primaryNavigation |
closed object; null |
Required. Defines primary Navigation for this object. Observe the type, variants and bounds in the Options column. |
header.primaryNavigation.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. |
header.primaryNavigation.label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
launchers |
closed object |
Required. Defines launchers for this object. Observe the type, variants and bounds in the Options column. |
launchers.title |
string; min length 1; max length 4000 |
Required. Title of the object or section in the interface. |
launchers.description |
string; min length 1; max length 4000; null |
Required. Explanation of this element’s purpose, content or effect. |
launchers.icons |
Array<closed object>; max length 30 |
Required. Defines icons for this object. Observe the type, variants and bounds in the Options column. |
launchers.icons[].actionKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Reference to a declared Action; rendering does not execute it. |
launchers.icons[].icon |
"activity" | "alert" | "arrow-right" | "bot" | "briefcase" | "check" | "document" | "inbox" | "knowledge" | "marketplace" | "overview" | "portfolio" | "profile" | "search" | "users" | "map" | "graph" | "layers" | "settings" |
Required. Icon from the catalog admitted for this presentation variant. |
blocks |
Array<closed object OR closed object>; max length 20 |
Required. Defines blocks for this object. Observe the type, variants and bounds in the Options column. |
blocks[].[kind=section].kind |
"section" |
Required. Selects the variant and the properties admitted in this branch. |
blocks[].[kind=section].sectionKey |
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. |
blocks[].[kind=section].variant |
"collection" | "work-resume" |
Required. Defines variant for this object. Observe the type, variants and bounds in the Options column. |
blocks[].[kind=section].placement |
"main" | "aside" |
Required. Defines placement for this object. Observe the type, variants and bounds in the Options column. |
blocks[].[kind=section].maximumVisible |
integer; ≥ 1; ≤ 24 |
Required. Maximum number of items in the bounded preview; the full collection remains accessible separately. |
blocks[].[kind=section].viewAll |
closed object; null |
Required. Defines view All for this object. Observe the type, variants and bounds in the Options column. |
blocks[].[kind=section].viewAll.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. |
blocks[].[kind=section].viewAll.label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
blocks[].[kind=activity].kind |
"activity" |
Required. Selects the variant and the properties admitted in this branch. |
blocks[].[kind=activity].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
blocks[].[kind=activity].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
blocks[].[kind=activity].spaceKeys |
Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; min length 1; max length 20 |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
blocks[].[kind=activity].maximumVisible |
integer; ≥ 1; ≤ 50 |
Required. Maximum number of items in the bounded preview; the full collection remains accessible separately. |
blocks[].[kind=activity].placement |
"main" | "aside" |
Required. Defines placement for this object. Observe the type, variants and bounds in the Options column. |
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.
Structural example
This fragment passes the schema for this section. Its business references must be defined in the enclosing Model.
{
"contract": "WorkspaceHomePresentation@1",
"header": {
"intro": null,
"primaryNavigation": null
},
"launchers": {
"title": "client",
"description": null,
"icons": []
},
"blocks": []
}
Related references
Complete Model index · Build a Model
Applied examples : Organize destinations
Choose the Clients collection in navigation and offer the next actions on the home.
Configuration
Contract object workspaceHomePresentation. Properties and accepted values.
{
"contract": "WorkspaceHomePresentation@1",
"header": {
"intro": "Clients and quotes",
"primaryNavigation": {
"destinationKey": "clients",
"label": "Open clients"
}
},
"launchers": {
"title": "Move work forward",
"description": "Choose an action",
"icons": [
{
"actionKey": "create-client",
"icon": "users"
},
{
"actionKey": "prepare-quote",
"icon": "document"
}
]
},
"blocks": [
{
"kind": "section",
"sectionKey": "recent-quotes",
"variant": "collection",
"placement": "main",
"maximumVisible": 4,
"viewAll": {
"destinationKey": "quotes",
"label": "All quotes"
}
}
]
}
Variation and connection
Fragment placed in composition.navigation[]. Properties and accepted values.
{
"key": "clients",
"label": "Clients",
"icon": "users",
"kind": "collection",
"spaceKey": "clients",
"definitionPaths": [
"workspace/clients/surface/client"
],
"queryKey": "clients",
"formKey": null
}
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.
- Clients · Data
- References · Knowledge
- Preparation · Work
- Quotes · Product
header- Declared object
launchers- Declared object
blocks- 1 item
Values above follow the configuration fragment; references resolve in the complete Model.