Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les solutions sont constituées de composants de solution. Utilisez la zone Solutions dans Microsoft Dataverse pour créer ou ajouter des composants de solution. Vous pouvez effectuer ces actions par programme à l’aide du message AddSolutionComponentRequest ou de n’importe quel message permettant de créer ou de mettre à jour des composants de solution incluant un paramètre SolutionUniqueName.
Les composants de solution dépendent souvent d’autres composants de solution. Vous ne pouvez supprimer aucun composant de solution dont d’autres composants de solution dépendent. Par exemple, un ruban personnalisé nécessite généralement des ressources web d’image ou de script pour afficher des icônes et pour effectuer des actions avec des scripts. Tant que le ruban personnalisé est dans la solution, les ressources web spécifiques qu’il utilise sont requises. Avant de pouvoir supprimer les ressources web, vous devez supprimer les références à celles-ci dans le ruban personnalisé. Vous pouvez afficher ces dépendances de composant de solution dans l’application en sélectionnant Afficher les dépendances.
Cet article décrit les types de composants de solution que vous pouvez inclure dans vos solutions et comment ils dépendent les uns des autres.
Tous les composants de la solution
La colonne de choix global système componenttype contient la liste complète des types de composants de solution disponibles. Vous pouvez voir la plage de valeurs prise en charge pour cette propriété en incluant le fichier OptionSets.cs ou OptionSets.vb dans votre projet. Toutefois, un grand nombre des types de composants de solution qui y sont répertoriés sont réservés à une utilisation interne uniquement, et la liste ne fournit pas d’informations sur les relations entre les composants de la solution.
Dépendances des composants de solution
Les dépendances des composants de solution garantissent une expérience fiable avec les solutions. Elles empêchent les actions que vous entreprenez habituellement de nuire involontairement à des personnalisations définies dans une solution. Ces dépendances permettent d’installer et de désinstaller une solution gérée simplement en important ou en supprimant une solution.
Le cadre de solutions effectue automatiquement le suivi des dépendances des composants de solution. Chaque opération sur un composant de solution calcule automatiquement les éventuelles dépendances à d’autres composants du système. Le système utilise les informations de dépendance pour maintenir son intégrité et empêcher les opérations susceptibles d’entraîner un état incohérent.
Suite au suivi des dépendances, les comportements suivants sont appliqués :
La suppression d’un composant est empêchée si un autre composant du système en dépend.
L’exportation d’une solution vous avertit s’il existe des composants manquants susceptibles d’entraîner un échec lors de l’importation de cette solution dans un autre environnement.
Vous pouvez ignorer les avertissements lors de l’exportation si vous envisagez que la solution soit installée uniquement dans un environnement où les composants dépendants sont censés exister. Par exemple, lorsque vous créez une solution conçue pour être installée sur une solution « base » préinstallée.
L’importation d’une solution échoue si la solution n’inclut pas tous les composants requis et que l’environnement cible ne les possède pas déjà.
Lorsque vous importez une solution managée, tous les composants requis doivent correspondre au type de package de la solution. Un composant d’une solution managée ne peut dépendre que d’un autre composant managé.
Il existe trois types de dépendances des composants de solution :
- Solution interne. Dataverse gère les dépendances internes. Ces dépendances existent lorsqu’un composant de solution particulier ne peut pas exister sans un autre composant de solution.
- Publié. Dataverse crée des dépendances publiées lorsque deux composants de solution sont liés entre eux, puis publiés. Pour supprimer ce type de dépendance, vous devez supprimer l’association et publier à nouveau les tables.
- Non publié. Les dépendances non publiées s’appliquent à la version non publiée d’un composant de solution publiable en cours de mise à jour. Après avoir publié le composant de solution, il devient une dépendance publiée.
Les dépendances internes de solution sont des dépendances où les actions avec un composant de solution nécessitent une action avec un autre composant de solution. Par exemple, si vous supprimez une table, vous vous attendez à ce que tous les attributs de la table soient supprimés avec celle-ci. Le système supprime également toutes les relations de table avec d’autres tables.
Toutefois, une dépendance interne peut conduire à une dépendance publiée et nécessiter quand même une intervention manuelle. Par exemple, si vous incluez un champ de recherche sur un formulaire de table, puis supprimez la table primaire dans la relation, vous ne pouvez pas terminer cette suppression tant que vous n’avez pas supprimé la colonne de recherche du formulaire de table associé, puis publié le formulaire.
Lorsque vous effectuez des actions par programmation avec des solutions, utilisez des messages liés à la table Dependency. Accédez à Dependency Entity pour voir les messages que vous pouvez utiliser pour identifier les dépendances pouvant exister avant de supprimer un composant ou de désinstaller une solution.
Composants de solution courants
Ces composants de solution apparaissent dans l’application. Vous travaillez directement avec eux lors de l’ajout ou de la suppression de composants de solution via la page de la solution. Chacun des autres types de composants de solution dépend d’un ou plusieurs de ces composants de solution.
- rubans d'application
- Entité
- Rapport
- Modèle d’article
- Profil de sécurité des colonnes
- Étape de traitement des messages SDK
- Rôle de la connexion
- Modèle de publipostage
- Rôle de sécurité
- Modèle de contrat
- Jeu d’options
- Point de terminaison de service
- Tableau de bord ou formulaire d’entité
- Assemblage du plug-in
- Plan de site
- Modèle d’e-mail
- Processus
- Ressource web
Rubans de l’application (RibbonCustomization)
Personnalisations de ruban pour les modèles de ruban de l’application et du tableau. Les rubans de l’application n’incluent pas les définitions des rubans au niveau de la table ou du formulaire.
Les rubans d’application personnalisés ont fréquemment des dépendances publiées sur les ressources Web. Utilisez des ressources web pour définir des icônes de bouton de ruban et des fonctions JavaScript qui contrôlent le moment où les éléments du ruban sont affichés ou quelles actions sont effectuées lorsqu’un contrôle de ruban particulier est utilisé. Les dépendances sont créées uniquement lorsque les définitions du ruban utilisent la $webresource: directive pour associer la ressource web au ruban. Pour plus d’informations, voir directive $webresource.
Modèle d’article (KBArticleTemplate)
Modèle contenant les attributs standard d’un article. Il existe toujours une dépendance interne entre le modèle d’article et la table KbArticle.
Rôle de connexion (ConnectionRole)
Rôle décrivant une relation entre deux enregistrements. Chaque rôle de connexion définit les types d’enregistrements d’entité pouvant être liés à l’aide du rôle de connexion. Ce rôle crée une dépendance publiée entre le rôle de connexion et la table.
Modèle de contrat (ContractTemplate)
Modèle contenant les attributs standard d’un contrat. Il existe toujours une dépendance interne entre le modèle de contrat et la table de contrat.
Tableau de bord ou formulaire d’entité (SystemForm)
Utilisez les enregistrements de la table Formulaire système pour définir des tableaux de bord et des formulaires de table. Lorsque vous utilisez un formulaire de tableau SystemForm, il existe une dépendance interne sur la table. Lorsque vous utilisez un tableau de bord SystemForm, il n’existe aucune dépendance interne. Les formulaires de tableau et les tableaux de bord ont généralement des dépendances publiées associées à leur contenu. Un formulaire de table peut avoir des colonnes de recherche qui dépendent d’une relation de table. Les tableaux de bord et les formulaires de tableau peuvent contenir des graphiques ou des sous-grilles secondaires qui créent une dépendance publiée sur une vue, qui a ensuite une dépendance interne sur une table. Une dépendance publiée sur les ressources Web peut être créée en raison de contenu affiché dans le tableau de bord ou dans le formulaire ou lorsqu’un formulaire contient les bibliothèques JavaScript. Les formulaires de table ont des dépendances publiées sur les attributs affichés comme colonnes dans le formulaire.
Modèle d’e-mail (EmailTemplate)
Modèle contenant les attributs standard d’un message électronique. Un modèle de courrier électronique comprend généralement des colonnes qui insèrent des données à partir d’attributs de table spécifiés. Vous pouvez lier un modèle d’e-mail à une table spécifique lorsque vous le créez, de sorte qu’il peut y avoir une dépendance interne sur la table. Un modèle de messagerie global n’est pas associé à une table spécifique, mais il peut avoir des dépendances publiées sur les attributs de table utilisés pour fournir des données. Un processus (workflow) est souvent configuré pour envoyer un e-mail à l’aide d’un modèle de messagerie, créant une dépendance publiée avec le workflow.
Entité (Entité)
Les tables, anciennement appelées entités, sont la structure principale utilisée pour modéliser et gérer les données dans Dataverse. En raison des dépendances internes entre elles, lorsque vous supprimez une table, vous supprimez également des graphiques, des formulaires, des relations de table, des vues et des attributs associés à cette table. Les tables ont souvent des dépendances publiées avec des processus, des tableaux de bord et des modèles de courrier électronique.
Profil de sécurité du champ (FieldSecurityProfile)
Profil qui définit le niveau d’accès des attributs sécurisés.
Modèle de publipostage (MailMergeTemplate)
Modèle qui contient les attributs standard d’un document de publipostage. Un modèle de publipostage a une dépendance publiée vis-à-vis de la table à laquelle il est associé.
Jeu d’options (OptionSet)
Une colonne de choix, anciennement appelée jeu d’options, définit un ensemble d’options. Un attribut de liste de sélection utilise un choix pour définir les options fournies. Plusieurs attributs de liste de sélection peuvent utiliser un choix global afin que les options qu’ils fournissent soient toujours les mêmes et puissent être gérées dans un emplacement unique. Une dépendance publiée se produit lorsqu’un attribut de liste de sélection fait référence à un choix global. Vous ne pouvez pas supprimer un choix global utilisé par un attribut de liste de sélection.
Assemblage de plug-in (PluginAssembly)
Assemblage qui contient un ou plusieurs types de plug-in. Les plug-ins sont inscrits à des événements qui sont généralement associés à une table. Cet enregistrement crée une dépendance publiée.
Processus (Workflow)
Ensemble de règles logiques qui définissent les étapes nécessaires pour automatiser un processus métier spécifique, une tâche ou un ensemble d’actions spécifiques à effectuer. Les processus fournissent un large éventail d’actions qui créent des dépendances publiées sur tout autre composant de solution référencé par le processus. Chaque processus a également une dépendance publiée sur la table à laquelle il est associé.
Rapport (Rapport)
Synthèse des données dans une présentation facile à lire. Un rapport a publié des dépendances sur les données de table ou d’attribut incluses dans le rapport. Chaque rapport doit également être associé à une catégorie de rapport, créant une dépendance interne sur un composant de solution appelé Catégorie liée au rapport (ReportCategory). Vous pouvez configurer des rapports en tant que sous-rapports, en créant une dépendance publiée avec le rapport parent.
Étape de traitement du message SDK (SDKMessageProcessingStep)
Étape du pipeline d’exécution que doit exécuter un plug-in.
Rôle de sécurité (Rôle)
Regroupement des privilèges de sécurité. Attribuez des rôles de sécurité aux utilisateurs pour autoriser l’accès au système Dataverse. Associez des formulaires de tableau à des rôles de sécurité spécifiques pour contrôler qui peut afficher le formulaire. Cette association crée une dépendance publiée entre le rôle de sécurité et le formulaire.
Note
Vous pouvez uniquement ajouter à une solution des rôles de sécurité provenant de l’unité commerciale de l’environnement. Seul un utilisateur ayant accès en lecture à ces rôles de sécurité peut les ajouter à une solution.
Point de terminaison de service (ServiceEndpoint)
Point de terminaison du service que vous pouvez contacter.
Plan de site (SiteMap)
Données XML utilisées pour contrôler le volet de navigation de l’application. Vous pouvez lier le plan du site pour afficher une ressource web HTML, ou bien une icône du plan du site peut utiliser une ressource web d’image. Lorsque vous utilisez la $webresource: directive pour établir ces associations, vous créez une dépendance publiée. Pour plus d’informations, voir Directive $webresource.
Ressource Web (WebResource)
Données équivalentes aux fichiers utilisés pour étendre une application pilotée par modèle ou dans le développement web. Les ressources web fournissent des composants client utilisés pour fournir des éléments d’interface utilisateur personnalisés. Les ressources web peuvent avoir des dépendances publiées sur les formulaires de tableau, les rubans et le plan de site. Lorsque vous utilisez la directive $webresource: pour établir des associations dans un Ruban ou le plan du site, vous créez une dépendance publiée. Pour plus d’informations, voir $webresource directive.
Note
Les ressources web peuvent dépendre d’autres ressources web via des liens relatifs. Par exemple, une ressource web HTML peut utiliser une ressource web CSS ou de script. Une ressource web Silverlight affichée en dehors d’un formulaire tabulaire ou d’un graphique doit avoir une ressource web HTML pour l’héberger. Ces dépendances ne sont pas suivies en tant que dépendances de solution.