Skip to content
SurfaceDocs
FRGet started
DocsModel reference

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": []
}

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.

  1. Clients · Data
  2. References · Knowledge
  3. Preparation · Work
  4. Quotes · Product
ILLUSTRATIVE LAYOUTClients / Quotes app
SurfaceClients / North StudioExample
workspaceHomePresentationworkspaceHomePresentation
Clients
MODEL CONTEXTNorth StudioDeclarative configuration
header
Declared object
launchers
Declared object
blocks
1 item

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

Search for a concept, field or action.Esc