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.
Navigate between applications and personal Spaces
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.
- Clients · Data
- References · Knowledge
- Preparation · Work
- Quotes · Product
Records and reference information
Pricing, procedure and sources
Steps, decisions and results
Durable deliverable and revisions