Aller au contenu
SurfaceDocs
ENCommencer
DocsRéférence du Model

surfaceRelationPolicy

Propriétés, variantes, types et limites de surfaceRelationPolicy.

Cette référence décrit la structure complète de surfaceRelationPolicy. Chaque chemin représente une propriété, y compris les objets imbriqués, les éléments de listes et les branches conditionnelles. Une branche identifiée par kind, contract ou mode n’admet que ses propres propriétés.

Structure et valeurs

Champ Options / valeurs attendues Description
contract "SurfaceRelationPolicy@1" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
key string; /^[a-z][a-z0-9-]*$/; max length 120 Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
linkTypePath string; min length 1; max length 600 Requis. Définit « link Type Path » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
source closed object Requis. Définit « source » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
source.definitionPaths Array<string; min length 1; max length 600>; min length 1; max length 100 Requis. Définit « definition Paths » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
source.fields Array<closed object>; max length 30 Requis. Définitions ou sélections de valeurs typées dans le contexte parent.
source.fields[].fieldKey string; /^[a-z][a-zA-Z0-9-]*$/; max length 120 Requis. Clé d’un Field déclaré sur la définition de Surface référencée.
source.fields[].values Array<string; max length 20000 OR number OR true | false>; min length 1; max length 30 Requis. Ensemble de valeurs admises ou comparées selon l’opération déclarée.
target closed object Requis. Définit « target » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
target.definitionPaths Array<string; min length 1; max length 600>; min length 1; max length 100 Requis. Définit « definition Paths » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
target.fields Array<closed object>; max length 30 Requis. Définitions ou sélections de valeurs typées dans le contexte parent.
target.fields[].fieldKey string; /^[a-z][a-zA-Z0-9-]*$/; max length 120 Requis. Clé d’un Field déclaré sur la définition de Surface référencée.
target.fields[].values Array<string; max length 20000 OR number OR true | false>; min length 1; max length 30 Requis. Ensemble de valeurs admises ou comparées selon l’opération déclarée.
maximumOutgoing integer; ≥ 1; ≤ 10000; null Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
maximumIncoming integer; ≥ 1; ≤ 10000; null Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
acyclic true | false Requis. Définit « acyclic » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
deletion "allow" | "forbid" Requis. Définit « deletion » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
maximumTraversalNodes integer; ≥ 1; ≤ 10000 Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.

Règles de lecture

Les chemins suffixés par [] décrivent chaque élément d’une liste; {key} décrit chaque valeur d’un dictionnaire. Le symbole ↻ renvoie à la même expression récursive. Un objet fermé refuse les propriétés supplémentaires. Les mentions de validation sémantique signalent un contrôle complémentaire : la conformité des types ne suffit pas à rendre une référence, une permission ou une transition valide. Les références doivent être résolues dans le Model et le contexte de l’usager.

La présence d’une ancienne variante ne permet pas d’y ajouter une propriété d’une variante plus récente. Le compilateur contrôle la version et la cohérence du Model complet.

Exemple de structure

Ce fragment respecte le schéma de cette section. Ses références métier doivent être définies dans le Model qui l’utilise.

{
  "contract": "SurfaceRelationPolicy@1",
  "key": "current-attention-selection",
  "linkTypePath": "application/current-attention-selection",
  "source": {
    "definitionPaths": [
      "workspace/workshop/surface/impact-manifest/surface/attention"
    ],
    "fields": []
  },
  "target": {
    "definitionPaths": [
      "workspace/workshop/surface/impact-manifest/surface/attention/surface/decision"
    ],
    "fields": []
  },
  "maximumOutgoing": 1,
  "maximumIncoming": 1,
  "acyclic": true,
  "deletion": "allow",
  "maximumTraversalNodes": 100
}

Références associées

Index complet du Model · Construire un Model

Exemples appliqués : Un client, plusieurs soumissions

La contrainte porte sur les liens; le groupe de présentation affiche quatre résultats et l’accès à la liste complète.

Configuration

Objet du contrat surfaceRelationPolicy. Propriétés et valeurs admises.

{
  "contract": "SurfaceRelationPolicy@1",
  "key": "quote-client",
  "linkTypePath": "application/client",
  "source": {
    "definitionPaths": [
      "workspace/quotes/surface/quote"
    ],
    "fields": []
  },
  "target": {
    "definitionPaths": [
      "workspace/clients/surface/client"
    ],
    "fields": []
  },
  "maximumOutgoing": 1,
  "maximumIncoming": null,
  "acyclic": false,
  "deletion": "forbid",
  "maximumTraversalNodes": 1000
}

Variante et raccordement

Fragment à placer dans presentation.recordProfiles[].detail.relatedGroups[]. Propriétés et valeurs admises.

{
  "key": "quotes",
  "label": "Soumissions",
  "queryBindingKey": "client-quotes",
  "maximumVisible": 4,
  "openAllLabel": "Voir toutes les soumissions",
  "rowIcon": null
}

Exemple de disposition UI

La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.

  1. Client sélectionné
  2. Recherche
  3. Soumissions
  4. Voir toutes les soumissions
DISPOSITION ILLUSTRATIVEApp Clients / Soumissions
SurfaceClients / Atelier NordExemple
surfaceRelationPolicysurfaceRelationPolicy
Clients
CONTEXTE DU MODELAtelier NordConfiguration déclarative
key
quote-client
linkTypePath
application/client
source
Objet déclaré
target
Objet déclaré
maximumOutgoing
1

Les valeurs ci-dessus reprennent le fragment de configuration; les références se résolvent dans le Model complet.

Recherchez un concept, un champ ou une action.Esc