Skip to content
SurfaceDocs
FRGet started
DocsModel reference

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.

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.

  1. Client identity
  2. Notes and follow-up
  3. Settings
  4. Linked quotes
ILLUSTRATIVE LAYOUTClients / Quotes app
SurfaceClients / North StudioExample
workspaceCompositionPresentationworkspaceCompositionPresentation
Clients
MODEL CONTEXTNorth StudioDeclarative configuration
recordProfileKey
client
fieldPath
fields/notes

Values above follow the configuration fragment; references resolve in the complete Model.

Search for a concept, field or action.Esc