Skip to content
SurfaceDocs
FRGet started
DocsModel reference

workspaceHomePresentationV2

Properties, variants, types and bounds for workspaceHomePresentationV2.

This reference describes the full structure of workspaceHomePresentationV2. 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@2" 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" OR closed object Required. Icon from the catalog admitted for this presentation variant.
launchers.icons[].icon.[variant 2].catalog Managed by Surface; supplied by the Model tools. Required. Defines catalog for this object. Observe the type, variants and bounds in the Options column.
launchers.icons[].icon.[variant 2].revision "0.468.0" Required. Defines revision for this object. Observe the type, variants and bounds in the Options column.
launchers.icons[].icon.[variant 2].name string; min length 1; max length 120; semantic validation Required. Readable name of the element in its presentation context.
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.

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 : Organize destinations

Choose the Clients collection in navigation and offer the next actions on the home.

Configuration

Value for property header. Properties and accepted values.

{
  "intro": "Retrouvez votre manuscrit, vos références et les travaux à poursuivre.",
  "primaryNavigation": {
    "destinationKey": "manuscript",
    "label": "Ouvrir le manuscrit"
  }
}

Variation and connection

Fragment placed in homePresentation. 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"
      }
    }
  ]
}

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
workspaceHomePresentationV2workspaceHomePresentationV2
Clients
MODEL CONTEXTNorth StudioDeclarative configuration
intro
Retrouvez votre manuscrit, vos références et les travaux à poursuivre.
primaryNavigation
Declared object

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

Search for a concept, field or action.Esc