surfaceWorkExperience
Properties, variants, types and bounds for surfaceWorkExperience.
This reference describes the full structure of surfaceWorkExperience. 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 |
"SurfaceWorkExperience@1" |
Required. Exact discriminant of this contract variant. Match the literal value shown. |
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. |
workDefinitionPaths |
Array<string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)+$/u>; min length 1; max length 100 |
Required. Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
header |
closed object |
Required. Defines header for this object. Observe the type, variants and bounds in the Options column. |
header.purpose |
closed object; null |
Required. Defines purpose for this object. Observe the type, variants and bounds in the Options column. |
header.purpose.scope |
"rootWork" | "selectedStage" | "retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
header.purpose.source |
closed object OR closed object |
Required. Defines source for this object. Observe the type, variants and bounds in the Options column. |
header.purpose.source.[kind=native].kind |
"native" |
Required. Selects the variant and the properties admitted in this branch. |
header.purpose.source.[kind=native].property |
"title" | "description" | "createdAt" | "updatedAt" |
Required. Recognized native property name; this selector does not allow arbitrary access. |
header.purpose.source.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
header.purpose.source.[kind=field].fieldPath |
string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Semantic Field selector, using the fields/ prefix. |
header.purpose.valueLabels |
Array<closed object>; max length 100 |
Required. Mappings from stable values to user-facing labels. |
header.purpose.valueLabels[].value |
string; max length 4000 OR number OR true | false |
Required. Effective value interpreted according to the enclosing type and discriminant. |
header.purpose.valueLabels[].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
header.status |
closed object; null |
Required. Defines status for this object. Observe the type, variants and bounds in the Options column. |
header.status.scope |
"rootWork" | "selectedStage" | "retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
header.status.source |
closed object OR closed object |
Required. Defines source for this object. Observe the type, variants and bounds in the Options column. |
header.status.source.[kind=native].kind |
"native" |
Required. Selects the variant and the properties admitted in this branch. |
header.status.source.[kind=native].property |
"title" | "description" | "createdAt" | "updatedAt" |
Required. Recognized native property name; this selector does not allow arbitrary access. |
header.status.source.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
header.status.source.[kind=field].fieldPath |
string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Semantic Field selector, using the fields/ prefix. |
header.status.valueLabels |
Array<closed object>; max length 100 |
Required. Mappings from stable values to user-facing labels. |
header.status.valueLabels[].value |
string; max length 4000 OR number OR true | false |
Required. Effective value interpreted according to the enclosing type and discriminant. |
header.status.valueLabels[].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
header.facts |
Array<closed object>; max length 20 |
Required. Defines facts for this object. Observe the type, variants and bounds in the Options column. |
header.facts[].scope |
"rootWork" | "selectedStage" | "retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
header.facts[].source |
closed object OR closed object |
Required. Defines source for this object. Observe the type, variants and bounds in the Options column. |
header.facts[].source.[kind=native].kind |
"native" |
Required. Selects the variant and the properties admitted in this branch. |
header.facts[].source.[kind=native].property |
"title" | "description" | "createdAt" | "updatedAt" |
Required. Recognized native property name; this selector does not allow arbitrary access. |
header.facts[].source.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
header.facts[].source.[kind=field].fieldPath |
string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Semantic Field selector, using the fields/ prefix. |
header.facts[].valueLabels |
Array<closed object>; max length 100 |
Required. Mappings from stable values to user-facing labels. |
header.facts[].valueLabels[].value |
string; max length 4000 OR number OR true | false |
Required. Effective value interpreted according to the enclosing type and discriminant. |
header.facts[].valueLabels[].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
header.facts[].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. |
header.facts[].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
header.criteria |
closed object; null |
Required. Defines criteria for this object. Observe the type, variants and bounds in the Options column. |
header.criteria.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. |
header.criteria.bindingKey |
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. |
stageDefinitionPaths |
Array<string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)+$/u>; min length 1; max length 100 |
Required. Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
stageSource |
closed object OR closed object |
Required. Defines stage Source for this object. Observe the type, variants and bounds in the Options column. |
stageSource.[kind=flow].kind |
"flow" |
Required. Selects the variant and the properties admitted in this branch. |
stageSource.[kind=flow].blueprintKeys |
Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; min length 1; max length 100 |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
stageSource.[kind=query].kind |
"query" |
Required. Selects the variant and the properties admitted in this branch. |
stageSource.[kind=query].queryBindingKey |
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. |
retainedTargetQueryBindingKey |
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. |
queryBindings |
Array<closed object>; min length 1; max length 100 |
Required. Bindings from named Queries to parameter values supplied by context. |
queryBindings[].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. |
queryBindings[].scope |
"rootWork" | "selectedStage" | "retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
queryBindings[].queryKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Reference to a declared Query; scope and authorization remain enforced by the data engine. |
queryBindings[].parameters |
Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u OR string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u, closed object OR closed object OR closed object>; semantic validation |
Required. Named operation or Query parameters and their associated values. |
queryBindings[].parameters{key}.[kind=entity-id].kind |
"entity-id" |
Required. Selects the variant and the properties admitted in this branch. |
queryBindings[].parameters{key}.[kind=entity-id].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
queryBindings[].parameters{key}.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
queryBindings[].parameters{key}.[kind=field].field |
closed object |
Required. Defines field for this object. Observe the type, variants and bounds in the Options column. |
queryBindings[].parameters{key}.[kind=field].field.definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
queryBindings[].parameters{key}.[kind=field].field.fieldKey |
string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Key of a Field declared on the referenced Surface definition. |
queryBindings[].parameters{key}.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
queryBindings[].parameters{key}.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
bindings |
Array<closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object>; min length 1; max length 100 |
Required. Defines bindings for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=query-view].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. |
bindings[].[kind=query-view].kind |
"query-view" |
Required. Selects the variant and the properties admitted in this branch. |
bindings[].[kind=query-view].scope |
"rootWork" | "selectedStage" | "retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=query-view].queryBindingKey |
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. |
bindings[].[kind=query-view].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. |
bindings[].[kind=native-document].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. |
bindings[].[kind=native-document].kind |
"native-document" |
Required. Selects the variant and the properties admitted in this branch. |
bindings[].[kind=native-document].scope |
"retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=sources].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. |
bindings[].[kind=sources].kind |
"sources" |
Required. Selects the variant and the properties admitted in this branch. |
bindings[].[kind=sources].scope |
"retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=sources].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. |
bindings[].[kind=flow-inspection].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. |
bindings[].[kind=flow-inspection].kind |
"flow-inspection" |
Required. Selects the variant and the properties admitted in this branch. |
bindings[].[kind=flow-inspection].scope |
"rootWork" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=consolidation].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. |
bindings[].[kind=consolidation].kind |
"consolidation" |
Required. Selects the variant and the properties admitted in this branch. |
bindings[].[kind=consolidation].scope |
"selectedStage" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=consolidation].profileKey |
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. |
bindings[].[kind=action].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. |
bindings[].[kind=action].kind |
"action" |
Required. Selects the variant and the properties admitted in this branch. |
bindings[].[kind=action].scope |
"rootWork" | "selectedStage" | "retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=action].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. |
bindings[].[kind=criteria].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. |
bindings[].[kind=criteria].kind |
"criteria" |
Required. Selects the variant and the properties admitted in this branch. |
bindings[].[kind=criteria].scope |
"rootWork" | "selectedStage" | "retainedTarget" |
Required. Defines scope for this object. Observe the type, variants and bounds in the Options column. |
bindings[].[kind=criteria].queryBindingKey |
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. |
bindings[].[kind=criteria].lifecycleKey |
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. |
bindings[].[kind=criteria].stateValue |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Defines state Value for this object. Observe the type, variants and bounds in the Options column. |
sections |
Array<closed object>; min length 1; max length 20 |
Required. Declared sections in reading or rendering order. |
sections[].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. |
sections[].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
sections[].bindingKeys |
Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; min length 1; max length 100 |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
defaultSectionKey |
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. |
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": "SurfaceWorkExperience@1",
"key": "novel-flow-work",
"workDefinitionPaths": [
"workspace/workshop/surface/work"
],
"header": {
"purpose": {
"scope": "rootWork",
"source": {
"kind": "field",
"fieldPath": "fields/objective"
},
"valueLabels": []
},
"status": {
"scope": "rootWork",
"source": {
"kind": "field",
"fieldPath": "fields/status"
},
"valueLabels": []
},
"facts": [
{
"scope": "rootWork",
"source": {
"kind": "field",
"fieldPath": "fields/expectedResult"
},
"valueLabels": [],
"key": "expected-result",
"label": "Résultat attendu"
},
{
"scope": "retainedTarget",
"source": {
"kind": "native",
"property": "title"
},
"valueLabels": [],
"key": "destination",
"label": "Cible"
}
],
"criteria": {
"sectionKey": "requests",
"bindingKey": "criteria"
}
},
"stageDefinitionPaths": [
"workspace/workshop/surface/work/surface/step"
],
"stageSource": {
"kind": "flow",
"blueprintKeys": [
"design-character",
"design-location",
"prepare-chapter",
"check-consistency",
"revise-chapter"
]
},
"retainedTargetQueryBindingKey": "destination",
"queryBindings": [
{
"key": "destination",
"scope": "rootWork",
"queryKey": "work-destination",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "requests",
"scope": "rootWork",
"queryKey": "work-requests",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "explorations",
"scope": "rootWork",
"queryKey": "work-explorations",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "relations",
"scope": "rootWork",
"queryKey": "work-relations",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "criteria",
"scope": "rootWork",
"queryKey": "work-criteria",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
}
],
"bindings": [
{
"key": "explorations",
"kind": "query-view",
"scope": "rootWork",
"queryBindingKey": "explorations",
"viewKey": "work-explorations-view"
},
{
"key": "requests",
"kind": "query-view",
"scope": "rootWork",
"queryBindingKey": "requests",
"viewKey": "work-requests-view"
},
{
"key": "target-content",
"kind": "native-document",
"scope": "retainedTarget"
},
{
"key": "target-sources",
"kind": "sources",
"scope": "retainedTarget",
"viewKey": "consolidation-sources"
},
{
"key": "flow-occurrences",
"kind": "flow-inspection",
"scope": "rootWork"
},
{
"key": "selection",
"kind": "consolidation",
"scope": "selectedStage",
"profileKey": "step-selection"
},
{
"key": "relations",
"kind": "query-view",
"scope": "rootWork",
"queryBindingKey": "relations",
"viewKey": "work-target-relations-view"
},
{
"key": "criteria",
"kind": "criteria",
"scope": "rootWork",
"queryBindingKey": "criteria",
"lifecycleKey": "work-criterion",
"stateValue": "accepted"
}
],
"sections": [
{
"key": "explorations",
"label": "Explorations et recherches",
"bindingKeys": [
"explorations",
"selection"
]
},
{
"key": "retained-target",
"label": "Fiche ou lieu retenu",
"bindingKeys": [
"target-content"
]
},
{
"key": "requests",
"label": "Demandes",
"bindingKeys": [
"flow-occurrences",
"requests",
"criteria"
]
},
{
"key": "sources",
"label": "Sources et relations",
"bindingKeys": [
"target-sources",
"relations"
]
}
],
"defaultSectionKey": "explorations"
}
Related references
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
Contract object surfaceWorkExperience. Properties and accepted values.
{
"contract": "SurfaceWorkExperience@1",
"key": "novel-flow-work",
"workDefinitionPaths": [
"workspace/workshop/surface/work"
],
"header": {
"purpose": {
"scope": "rootWork",
"source": {
"kind": "field",
"fieldPath": "fields/objective"
},
"valueLabels": []
},
"status": {
"scope": "rootWork",
"source": {
"kind": "field",
"fieldPath": "fields/status"
},
"valueLabels": []
},
"facts": [
{
"scope": "rootWork",
"source": {
"kind": "field",
"fieldPath": "fields/expectedResult"
},
"valueLabels": [],
"key": "expected-result",
"label": "Résultat attendu"
},
{
"scope": "retainedTarget",
"source": {
"kind": "native",
"property": "title"
},
"valueLabels": [],
"key": "destination",
"label": "Cible"
}
],
"criteria": {
"sectionKey": "requests",
"bindingKey": "criteria"
}
},
"stageDefinitionPaths": [
"workspace/workshop/surface/work/surface/step"
],
"stageSource": {
"kind": "flow",
"blueprintKeys": [
"design-character",
"design-location",
"prepare-chapter",
"check-consistency",
"revise-chapter"
]
},
"retainedTargetQueryBindingKey": "destination",
"queryBindings": [
{
"key": "destination",
"scope": "rootWork",
"queryKey": "work-destination",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "requests",
"scope": "rootWork",
"queryKey": "work-requests",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "explorations",
"scope": "rootWork",
"queryKey": "work-explorations",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "relations",
"scope": "rootWork",
"queryKey": "work-relations",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
},
{
"key": "criteria",
"scope": "rootWork",
"queryKey": "work-criteria",
"parameters": {
"workId": {
"kind": "entity-id",
"definitionPath": "workspace/workshop/surface/work"
}
}
}
],
"bindings": [
{
"key": "explorations",
"kind": "query-view",
"scope": "rootWork",
"queryBindingKey": "explorations",
"viewKey": "work-explorations-view"
},
{
"key": "requests",
"kind": "query-view",
"scope": "rootWork",
"queryBindingKey": "requests",
"viewKey": "work-requests-view"
},
{
"key": "target-content",
"kind": "native-document",
"scope": "retainedTarget"
},
{
"key": "target-sources",
"kind": "sources",
"scope": "retainedTarget",
"viewKey": "consolidation-sources"
},
{
"key": "flow-occurrences",
"kind": "flow-inspection",
"scope": "rootWork"
},
{
"key": "selection",
"kind": "consolidation",
"scope": "selectedStage",
"profileKey": "step-selection"
},
{
"key": "relations",
"kind": "query-view",
"scope": "rootWork",
"queryBindingKey": "relations",
"viewKey": "work-target-relations-view"
},
{
"key": "criteria",
"kind": "criteria",
"scope": "rootWork",
"queryBindingKey": "criteria",
"lifecycleKey": "work-criterion",
"stateValue": "accepted"
}
],
"sections": [
{
"key": "explorations",
"label": "Explorations et recherches",
"bindingKeys": [
"explorations",
"selection"
]
},
{
"key": "retained-target",
"label": "Fiche ou lieu retenu",
"bindingKeys": [
"target-content"
]
},
{
"key": "requests",
"label": "Demandes",
"bindingKeys": [
"flow-occurrences",
"requests",
"criteria"
]
},
{
"key": "sources",
"label": "Sources et relations",
"bindingKeys": [
"target-sources",
"relations"
]
}
],
"defaultSectionKey": "explorations"
}
Variation and connection
Component properties RecordLayout.props. Properties and accepted values.
{
"asideWidth": "compact"
}
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.
- Client identity
- Notes and follow-up
- Settings
- Linked quotes
key- novel-flow-work
workDefinitionPaths- 1 item
header- Declared object
stageDefinitionPaths- 1 item
stageSource- Declared object
Values above follow the configuration fragment; references resolve in the complete Model.