Couches de solution

La superposition de solutions est implémentée au niveau des composants. Les solutions gérées et non gérées existent à différentes couches au sein d’un environnement Microsoft Dataverse. Dans Dataverse, il existe deux couches distinctes :

  • Couche non gérée Toutes les solutions non gérées importées et les personnalisations ad hoc existent au niveau de cette couche. Toutes les solutions non gérées partagent une seule couche non gérée.

  • Couches gérées Toutes les solutions gérées et importées et la solution système existent à ce niveau. Lorsque plusieurs solutions gérées sont installées, la première installée se trouve au-dessus de la solution gérée installée précédemment. Cela signifie que la deuxième solution installée peut personnaliser celle installée avant. Lorsque deux solutions gérées ont des définitions en conflit, le comportement d’exécution est soit « La dernière gagne », soit une logique de fusion est implémentée. Si vous désinstallez une solution gérée, la solution gérée qui se trouve en dessous devient effective. Si vous désinstallez toutes les solutions gérées, le comportement par défaut défini dans la solution système est appliqué. À la base du niveau de couches géré se trouve la couche système. La couche système contient les entités et les composants nécessaires au fonctionnement de la plate-forme.

Exemple de superposition de solution pour un composant, tel qu’une fiche ou une vue.

Superposition dans un solution gérée

Pour chaque composant géré, il existe des couches au sein d’une solution, qui, selon qu’un ou plusieurs correctifs ou une mise à niveau en attente de la solution ont été importés, peut inclure les couches suivantes :

  • Base Située au bas de la « pile » de couches de solution se trouve la couche de base. Cette couche comprend le éditeur de solutions, qui identifie le propriétaire du composant et les propriétés gérées qui lui sont associées.

  • Supérieur La couche supérieure est considérée comme la couche actuelle et définit le comportement d’exécution du composant. La couche supérieure peut être une mise à niveau ou un correctif, ou si aucun correctif ou mise à niveau n’a été appliqué à la solution, la solution de base détermine le comportement d’exécution du composant.

  • Couches ajoutées à partir des mises à jour :

    • Correctifs Si le composant a un ou plusieurs correctifs de solution importés, ils sont empilés au-dessus de la couche de base, le correctif le plus récent résidant au-dessus du correctif précédent.

    • Mise à niveau en attente Si une mise à niveau par étapes (nommée _Mise à niveau) est importée, elle réside au-dessus des couches de base et de correctif (le cas échéant).

Exemple de superposition dans un solution

Important

L’utilisation de correctifs n’est pas recommandée. Pour plus d’informations, voir Créer des correctifs de solution

L’image suivante montre un exemple de couches de solution pour une colonne personnalisée qui affiche la solution de base, un correctif et une mise à niveau en attente.

Couches de solution.

Pour plus d’informations sur la façon d’afficher les couches d’un composant dans une solution, consultez Couches de solution.

Comportement de fusion

Les créateurs de solutions doivent comprendre le comportement de fusion lorsqu’une solution est mise à jour ou lorsque plusieurs solutions installées affectent le même composant. Notez que seuls les types de composants d’application pilotée par modèle, de formulaire et de plan de site seront fusionnés. Tous les autres composants utilisent le comportement « victoires de niveau supérieur ».

Comportement « victoires de niveau supérieur »

À l’exception des composants de l’application pilotée par modèle, du formulaire et du plan de site, les autres composants de la solution utilisent un comportement « victoires de niveau supérieur » dans lequel la couche qui réside en haut détermine le fonctionnement du composant au moment de l’exécution de l’application. Une couche supérieure peut être introduite par une mise à niveau par étapes (en attente).

Couche supérieure introduite par une mise à niveau en attente

Voici un exemple de comportement d’un composant « victoires de niveau supérieur » introduit par une étape de mise à niveau ou de mise à jour d’une solution. Pour plus d’informations, voir Appliquer la mise à niveau ou la mise à jour dans l’environnement cible

  1. La couche supérieure (de base) actuelle a la propriété Longueur maximale de la colonne de texte Commentaires pour la table de comptes avec le paramètre par défaut de 100.

    Composant de table dans la solution de base.

  2. Une mise à niveau de la solution est importée en utilisant la phase de l’option de mise à niveau, qui crée une nouvelle couche supérieure. La mise à niveau en attente inclut la colonne de texte Commentaires pour la table de comptes avec la valeur de la propriété Longueur maximale modifiée en 150.

    Couche active introduite au-dessus de la couche de base.

Dans ce cas, la colonne Commentaires des enregistrements de compte autorisera jusqu’à 150 caractères au maximum pendant l’exécution de l’application.

Comportement de mise à jour et de fusion de la solution

Comme décrit dans la section précédente, les correctifs et une mise à niveau par étapes sont empilés sur la solution de base. Ceux-ci peuvent être fusionnés en sélectionnant Appliquer la mise à niveau de la zone Solutions dans Power Apps, qui aplatit les couches et crée une nouvelle solution de base.

Comportement de fusion de plusieurs solutions

Lorsque vous préparez votre solution gérée pour la distribution, n’oubliez pas qu’un environnement peut avoir plusieurs solutions installées ou que d’autres solutions pourront être installées à l’avenir. Construisez une solution qui respecte les meilleures pratiques afin que votre solution n’interfère pas d’autres solutions. Pour plus d’informations : Utiliser les solutions segmentées

Les processus utilisés par Dataverse pour fusionner les personnalisations mettent en valeur la préservation des fonctionnalités de la solution. Bien que tous les efforts soient déployés pour conserver la présentation, certaines incompatibilités entre les personnalisations peuvent nécessiter que la résolution calculée modifie certains détails de présentation au profit du maintien des fonctionnalités de personnalisation.

Voir aussi

Comprendre la fusion des solutions gérées