Aller au contenu
SurfaceDocs
ENCommencer
DocsAdministrer et résoudre

Évolution et migrations

Adapter un Model sans perdre les données et le travail existants.

Décrire le changement

Ajouter un Field, changer son type et supprimer une relation n’ont pas le même effet. Avant d’activer une nouvelle définition, examinez les données, vues, Actions et travaux concernés. Les identités stables permettent de reconnaître ce qui évolue.

Changement Analyse attendue Vérification
Ajouter un Field Valeur initiale et caractère requis Création et fiches existantes
Changer un type Compatibilité et transformation des valeurs Données et contrôles
Renommer une clé Références et identité Queries, vues et Actions
Changer une relation Objets et cardinalité Sélection et liens inverses
Modifier un Flow Exécutions et résultats en cours Version et reprise

Préparer et examiner

Le changement doit présenter son périmètre, les transformations nécessaires et les éventuels conflits. Un aperçu permet d’examiner les effets avant activation. Les contenus humains ne doivent pas être réécrits comme une simple conséquence d’une mise à jour de présentation.

Exemple

Vous rendez Courriel obligatoire pour les nouveaux clients. Les fiches historiques sans courriel doivent être identifiées et traitées selon la politique choisie. Ajouter une validation dans le formulaire ne suffit pas à rendre ces données conformes.

Activer et contrôler

Après application, vérifiez les objets affectés et les parcours concernés. La version installée, les opérations de migration et les diagnostics permettent de comprendre le résultat. Les anciens contrats restent interprétés selon leur définition, sans ajouter silencieusement les propriétés d’une version plus récente.

Pour une mise à niveau publiée, choisissez la version exacte puis la destination de chaque Space. La revue distingue le fonctionnement conservé de l’adaptation à la nouvelle version; adapter un Space exige l’autorité sur son contenu. Les noms déclarés restent ceux de l’application source, même si les destinations de la nouvelle version portent d’autres noms. Une réponse incertaine reprend la même confirmation. Après une mise à niveau enregistrée, réessayez uniquement l’ouverture si elle échoue : ne confirmez pas à nouveau. Un accès au nouveau guide à rétablir est signalé séparément de l’enregistrement de la mise à niveau.

Exemples appliqués : Faire évoluer une fiche existante

Préservez les clés des Fields et comparez la nouvelle présentation avant de l’appliquer aux instances.

Configuration

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

{
  "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": "Actif"
        }
      ]
    }
  ],
  "card": {
    "summary": {
      "kind": "field",
      "fieldPath": "fields/notes"
    },
    "tags": {
      "namespace": "user",
      "maximumVisible": 3
    },
    "metricKeys": [],
    "openLabel": "Ouvrir le client"
  },
  "queryBindings": [],
  "metrics": [],
  "detail": {
    "primaryActionKey": null,
    "creationActionKeys": [],
    "actionKeys": [],
    "sections": [
      {
        "kind": "fields",
        "key": "follow-up",
        "label": "Suivi du client",
        "fieldPaths": [
          "fields/notes",
          "fields/status"
        ]
      }
    ],
    "settings": {
      "fieldPaths": [
        "fields/email"
      ]
    },
    "tags": {
      "namespace": "user",
      "maximumVisible": 3
    },
    "relatedGroups": [],
    "primaryActionLabel": null
  }
}

Variante et raccordement

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

{
  "contract": "WorkspaceForm@2",
  "key": "edit-client",
  "label": "Modifier le client",
  "actionKey": "edit-client",
  "targetDefinitionPath": "workspace/clients/surface/client",
  "mode": "edit",
  "fields": [
    {
      "contract": "WorkspaceFormControl@2",
      "repeatable": false,
      "key": "company",
      "label": "Entreprise",
      "input": "text",
      "binding": {
        "kind": "field",
        "fieldKey": "company"
      },
      "required": true,
      "ruleKeys": [],
      "options": []
    },
    {
      "contract": "WorkspaceFormControl@2",
      "repeatable": false,
      "key": "status",
      "label": "État",
      "input": "choice",
      "binding": {
        "kind": "field",
        "fieldKey": "status"
      },
      "required": true,
      "ruleKeys": [],
      "options": [
        "prospect",
        "active"
      ]
    },
    {
      "contract": "WorkspaceFormControl@2",
      "repeatable": false,
      "key": "notes",
      "label": "Notes",
      "input": "multiline",
      "binding": {
        "kind": "field",
        "fieldKey": "notes"
      },
      "required": false,
      "ruleKeys": [],
      "options": []
    }
  ],
  "ruleKeys": []
}

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. Objet concerné
  2. Changement proposé
  3. Vérifications
  4. Confirmer
DISPOSITION ILLUSTRATIVEApp Clients / Soumissions
SurfaceClients / Atelier NordExemple
Évolution et migrationsFaire évoluer une fiche existante
Clients
AN
Atelier NordSoumission S-1042
À revoir
Changement proposé
Préservez les clés des Fields et comparez la nouvelle présentation avant de l’appliquer aux instances.
Données et références
Client · Besoin · Tarifs
RevenirExaminer puis confirmer
Recherchez un concept, un champ ou une action.Esc