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

managedDocumentProfileV2

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

Cette référence décrit la structure complète de managedDocumentProfileV2. 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 "DocumentProfile@2" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
key string; min length 1 Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
sourceSurfaceDefinitionPaths Array<string; min length 1; semantic validation> Requis. Chemin exact du type de définition concerné; chaque référence doit exister dans le Model et respecter le périmètre déclaré.
template "article" | "report" | "manuscript" | "project-brief" Requis. Définit « template » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sectionPolicy "ordered" | "grouped" Requis. Définit « section Policy » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
exportFormats Array<"docx" | "markdown" | "pdf"> Requis. Définit « export Formats » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
composition closed object Requis. Organisation déclarative des composants, sources ou Spaces dans la variante indiquée.
composition.contract "SurfaceDocumentComposition@1" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
composition.maximumSources integer; ≥ 1; ≤ 1000 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.
composition.maximumEntries integer; ≥ 1; ≤ 2000 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.
composition.maximumOutputBytes integer; ≥ 1024; ≤ 16777216 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.
composition.historicalCapturePolicyKey string; min length 1; null Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
composition.sections Array<closed object>; min length 1; max length 20 Requis. Sections déclarées dans l’ordre de lecture ou de rendu.
composition.sections[].key string; min length 1 Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
composition.sections[].parentSectionKey string; min length 1; null Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
composition.sections[].queryKey string; min length 1 Requis. Référence à une Query déclarée; le moteur de données applique le périmètre et les droits.
composition.sections[].sourceParameterKey string; min length 1 Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
composition.sections[].headingLevel integer; ≥ 2; ≤ 6 Requis. Définit « heading Level » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
composition.sections[].orderBy Array<closed object>; min length 1; max length 4 Requis. Ordre de tri déclaré; les clés doivent appartenir au périmètre autorisé.
composition.sections[].orderBy[].fieldKey string; min length 1 Requis. Clé d’un Field déclaré sur la définition de Surface référencée.
composition.sections[].orderBy[].direction "ascending" | "descending" Requis. Sens du parcours ou de présentation; respecter les valeurs fermées de ce contrat.
composition.sections[].historicalTraversal closed object; null Requis. Définit « historical Traversal » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
composition.sections[].historicalTraversal.pathIndex integer; ≥ 0; ≤ 31 Requis. Définit « path Index » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
composition.sections[].historicalTraversal.stepIndex integer; ≥ 0; ≤ 7 Requis. Définit « step Index » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.

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": "DocumentProfile@2",
  "key": "composed-manuscript",
  "sourceSurfaceDefinitionPaths": [
    "workspace/manuscript/surface/book"
  ],
  "template": "manuscript",
  "sectionPolicy": "ordered",
  "exportFormats": [
    "markdown",
    "docx",
    "pdf"
  ],
  "composition": {
    "contract": "SurfaceDocumentComposition@1",
    "maximumSources": 1000,
    "maximumEntries": 2000,
    "maximumOutputBytes": 16777216,
    "historicalCapturePolicyKey": "historical-book-export",
    "sections": [
      {
        "key": "chapters",
        "parentSectionKey": null,
        "queryKey": "export-book-chapters",
        "sourceParameterKey": "parentId",
        "headingLevel": 2,
        "orderBy": [
          {
            "fieldKey": "sequence",
            "direction": "ascending"
          }
        ],
        "historicalTraversal": {
          "pathIndex": 0,
          "stepIndex": 0
        }
      },
      {
        "key": "scenes",
        "parentSectionKey": "chapters",
        "queryKey": "export-chapter-scenes",
        "sourceParameterKey": "parentId",
        "headingLevel": 3,
        "orderBy": [
          {
            "fieldKey": "sequence",
            "direction": "ascending"
          }
        ],
        "historicalTraversal": {
          "pathIndex": 2,
          "stepIndex": 1
        }
      }
    ]
  }
}

Références associées

Index complet du Model · Construire un Model

Exemples appliqués : Notes du client et document exporté

Le contenu reste éditable dans la fiche; le profil d’export sélectionne les soumissions autorisées.

Configuration

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

{
  "contract": "DocumentProfile@2",
  "key": "composed-manuscript",
  "sourceSurfaceDefinitionPaths": [
    "workspace/manuscript/surface/book"
  ],
  "template": "manuscript",
  "sectionPolicy": "ordered",
  "exportFormats": [
    "markdown",
    "docx",
    "pdf"
  ],
  "composition": {
    "contract": "SurfaceDocumentComposition@1",
    "maximumSources": 1000,
    "maximumEntries": 2000,
    "maximumOutputBytes": 16777216,
    "historicalCapturePolicyKey": "historical-book-export",
    "sections": [
      {
        "key": "chapters",
        "parentSectionKey": null,
        "queryKey": "export-book-chapters",
        "sourceParameterKey": "parentId",
        "headingLevel": 2,
        "orderBy": [
          {
            "fieldKey": "sequence",
            "direction": "ascending"
          }
        ],
        "historicalTraversal": {
          "pathIndex": 0,
          "stepIndex": 0
        }
      },
      {
        "key": "scenes",
        "parentSectionKey": "chapters",
        "queryKey": "export-chapter-scenes",
        "sourceParameterKey": "parentId",
        "headingLevel": 3,
        "orderBy": [
          {
            "fieldKey": "sequence",
            "direction": "ascending"
          }
        ],
        "historicalTraversal": {
          "pathIndex": 2,
          "stepIndex": 1
        }
      }
    ]
  }
}

Variante et raccordement

Fragment à placer dans documentProfiles[]. Propriétés et valeurs admises.

{
  "contract": "DocumentProfile@3",
  "key": "client-quotes-export",
  "source": {
    "kind": "record-query",
    "recordProfileKey": "client",
    "queryBindingKey": "client-quotes",
    "viewKey": "quotes-table"
  },
  "exportFormats": [
    "markdown"
  ],
  "budget": {
    "maximumRows": 100,
    "maximumPages": 4,
    "maximumOutputBytes": 1000000
  }
}

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. Soumission S-1042
  2. Objet et besoin
  3. Proposition
  4. Références retenues
DISPOSITION ILLUSTRATIVEApp Clients / Soumissions
SurfaceClients / Atelier NordExemple
managedDocumentProfileV2managedDocumentProfileV2
Clients
CONTEXTE DU MODELAtelier NordConfiguration déclarative
key
composed-manuscript
sourceSurfaceDefinitionPaths
1 élément
template
manuscript
sectionPolicy
ordered
exportFormats
3 éléments

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