Skip to content
SurfaceDocs
FRGet started
DocsModel reference

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"
}

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.

  1. Client identity
  2. Notes and follow-up
  3. Settings
  4. Linked quotes
ILLUSTRATIVE LAYOUTClients / Quotes app
SurfaceClients / North StudioExample
surfaceWorkExperiencesurfaceWorkExperience
Clients
MODEL CONTEXTNorth StudioDeclarative configuration
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.

Search for a concept, field or action.Esc