Skip to content
SurfaceDocs
FRGet started
DocsGet started

Surface concepts

Portfolio, Workspace, Space, Surface and Model: what each level does.

Organize without mixing responsibilities

Surface separates an activity’s context, organization and contents. This lets you reuse an app, share a particular record and connect Workspaces without moving their data.

Concept Expected content Clients/Quotes example
Portfolio Workspaces and shared context The Boreal business
Workspace An app or work domain defined by a Model Clients or Quotes
Space Content organized by responsibility Client directory, procedures, follow-ups
Surface An identified, editable and connected record or content North Studio record
Object Stable, addressable element within a Surface Constraints Rich text object
Model Reusable structure and behavior definition Clients app published in the catalog

Choose a Space role

Knowledge holds references used to understand and carry out work. Data holds structured business objects. Work holds ongoing work, dependencies and decisions. Product organizes results and deliverables intended for use.

A final quote belongs to the business result; preparing it has its own work steps. A sales procedure is knowledge, and does not become a task because AI reads it.

Definition and instance

A Model defines a Client’s Fields, Actions and views. A Clients Workspace applies that definition. North Studio is an instance with its own values and links. Editing an instance does not change the Model; changing the Model goes through composition, validation and publication.

Interfaces preserve ownership

A table, graph and links panel can display the same record. They read the same identities and invoke the same authorized operations. The table does not own a separate copy of the client; a link selects an existing record rather than copying its contact details.

The Surface menu opens Dashboard, Portfolio, Data, Knowledges, Contents and Workers. Portfolio contains your applications. The other collections let you create personal Spaces without creating an application. Search filters each collection automatically during typing, with a loading indicator. Data views use the available width without a left sidebar. Pin an application in Portfolio to keep it available under Applications in the Surface menu, with its configured icon. Marketplace is available from Portfolio.

Inside an application, the sidebar lists its Spaces. Knowledge and Content show their Surface hierarchy, with categories or folders and root Surfaces. Use the breadcrumb to return to the collection or application, or switch to another Space in the same application. Pending editor changes are prepared before navigation; a failed save keeps you in the current context. In Knowledge and Content, the general menu belongs to Overview. The divider can collapse the sidebar by its central control, double-click or dragging to the left edge. The collapsed rail remains clickable and shows hover feedback; its resize handle is hidden.

Account menu

Open your avatar menu for My profile, Trash, Archives and Sign out. Explore provides Marketplace, Invitations for the active Workspace, Help, Developers and a Light/Dark theme submenu. Subscribe opens the account portal for Free accounts. Trash, Archives and Help currently provide their window only; their content management will be added separately. Developer documentation is available at https://developers.dagio.ai/.

Applied examples : From Workspace to record

The Clients destination opens the data; the profile defines its editable record.

Configuration

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
}

Variation and connection

Fragment placed in presentation.recordProfiles[]. Properties and accepted values.

{
  "key": "client",
  "definitionPaths": [
    "workspace/clients/surface/client"
  ],
  "editActionKey": "edit-client",
  "identity": {
    "title": {
      "kind": "field",
      "fieldPath": "fields/company"
    },
    "avatar": {
      "kind": "initials",
      "maximumLetters": 2
    },
    "subtitle": {
      "kind": "field",
      "fieldPath": "fields/status"
    }
  },
  "valueLabels": [
    {
      "fieldPath": "fields/status",
      "values": [
        {
          "value": "prospect",
          "label": "Prospect"
        },
        {
          "value": "active",
          "label": "Active"
        }
      ]
    }
  ],
  "card": {
    "summary": {
      "kind": "field",
      "fieldPath": "fields/notes"
    },
    "tags": {
      "namespace": "user",
      "maximumVisible": 3
    },
    "metricKeys": [],
    "openLabel": "Open client"
  },
  "queryBindings": [],
  "metrics": [],
  "detail": {
    "primaryActionKey": null,
    "creationActionKeys": [],
    "actionKeys": [],
    "sections": [
      {
        "kind": "fields",
        "key": "follow-up",
        "label": "Client follow-up",
        "fieldPaths": [
          "fields/notes",
          "fields/status"
        ]
      }
    ],
    "settings": {
      "fieldPaths": [
        "fields/email"
      ]
    },
    "tags": {
      "namespace": "user",
      "maximumVisible": 3
    },
    "relatedGroups": [],
    "primaryActionLabel": 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
Surface conceptsFrom Workspace to record
Clients
01Clients · Data

Records and reference information

02References · Knowledge

Pricing, procedure and sources

03Preparation · Work

Steps, decisions and results

04Quotes · Product

Durable deliverable and revisions

Search for a concept, field or action.Esc