Présentation des solutions

Cette rubrique s’applique à Dynamics 365 Customer Engagement (on-premises). Pour la version Power Apps de cette rubrique, consultez : Concepts de solution.

Les solutions correspondent à la façon dont les personnalisateurs et les développeurs créent, packagent et maintiennent les unités logicielles qui étendent Dynamics 365 for Customer Engagement. Les personnalisateurs et les développeurs distribuent des solutions afin que les organisations puissent utiliser Dynamics 365 Customer Engagement (on-premises) pour installer et désinstaller la fonctionnalité d’entreprise définie par la solution.

Choix d’extensibilité

Utilisez des solutions pour étendre les fonctionnalités de Dynamics 365 Customer Engagement (on-premises). Pour les logiciels qui fonctionnent en dehors de l’application, utilisez les méthodes traditionnelles pour packager et installer votre application, par exemple un programme d’installation.

Si votre application consiste uniquement de composants Dynamics 365 Customer Engagement (on-premises), elle peut être importée directement dans Customer Engagement. Vous ne devez pas créer un programme d’installation.

Application avec des composants externes.

Toutefois, si vos extensions incluent une combinaison de composants de solution Dynamics 365 Customer Engagement (on-premises) et de composants externes, qui ne sont pas des composants de solution Dynamics 365 Customer Engagement (on-premises), vous devez avoir un programme d’installation.

Par exemple, vous pouvez créer une application .NET Framework qui gère les données stockées dans des entités Dynamics 365 Customer Engagement (on-premises) personnalisées à l’aide des API de service Web. Les utilisateurs qui installent votre application peuvent installer une solution Dynamics 365 Customer Engagement (on-premises) pour créer des entités personnalisées, puis installer votre application séparément en utilisant un programme d’installation. Ou, vous pouvez inclure l’installation de la solution Dynamics 365 Customer Engagement (on-premises) dans le programme d’installation que vous créez pour votre application.

Compatibilité de version

Les solutions exportées à partir d’une version antérieure de Customer Engagement peuvent être importées vers les versions ultérieures, comme indiqué dans le tableau suivant.

Compatibilité des versions de solution.

Généralement, les solutions peuvent être importées vers des organisations moins de deux versions supérieures à la version d’exportation de la solution. Les versions des Service Pack offrent la possibilité d’exporter une solution avec la compatibilité pour ce Service Pack, ou seulement avec les fonctionnalités incluses dans la version de base. En savoir plus : Maintenir les solutions gérées : compatibilité de version.

Note

Pour plus d’informations sur les solutions créées avant Dynamics CRM 2015 voir Dynamics CRM 2016 Présentation des solutions > Compatibilité de version

Composants de solution

Les composants de solution sont créés à l’aide des outils ou API de personnalisation inclus dans Dynamics 365 Customer Engagement (on-premises) et sont entièrement hébergés dans l’application. Le diagramme suivant illustre les types de composants de solution.

Composants de solution.

Lorsque vous définissez une solution Customer Engagement, vous créez un groupe de composants de solution qui peuvent être gérés ensemble.

Note

Les solutions peuvent uniquement ajouter de nouveaux composants de solution ou remplacer des composants de solution existants. Les solutions ne peuvent pas être utilisées pour supprimer des composants de solution.

Solutions gérées et non gérées

Il existe deux types de solutions Dynamics 365 Customer Engagement (on-premises) : gérée et non gérée. Une solution gérée est une solution terminée destinée à être distribuée et installée. Une solution non gérée est une solution toujours en cours de développement ou qui n’est pas conçue pour être distribuée. Lorsque la solution non gérée est terminée et que vous souhaitez la distribuer, exportez-la et empaquetez-la en tant que solution gérée.

Le schéma suivant illustre comment les solutions gérées et non gérées interagissent avec la solution système pour contrôler le comportement de l’application.

Superposition de solutions.

Solution système
La solution système représente les composants de solution définis dans Dynamics 365 Customer Engagement (on-premises). Sans les solutions gérées ou les personnalisations, la solution système définit le comportement des applications par défaut.

Divers composants de la solution système sont personnalisables et peuvent être utilisés dans les solutions gérées ou les personnalisations non gérées.

Solutions gérées
Les solutions gérées sont installées sur la solution système et peuvent modifier tous les composants de solution personnalisables ou ajouter des composants de solution.

Les solutions gérées peuvent également être placées en couche sur d’autres solutions gérées. À condition qu’une solution gérée permette la personnalisation de ses composants de solution, d’autres solutions gérées peuvent être installées par dessus elle et modifier tous les composants de solution personnalisables qu’elle propose.

Personnalisations non gérées
Tous les composants de solution système personnalisables fournis par la solution système ou une solution gérée peuvent être personnalisés dans les personnalisations non gérées.

Solutions non gérées
Les solutions non gérées sont des groupes de personnalisations non gérées. Tout composant de solution personnalisé non géré peut être associé à diverses solutions non gérées.

Créez une solution gérée en exportant une solution non gérée et en choisissant de l’empaqueter en tant que solution gérée.

Comportement d’application
Le comportement optimal d’une instance de Dynamics 365 Customer Engagement (on-premises) pour une organisation spécifique est l’aboutissement de la solution système, des solutions gérées et des personnalisations non gérées.

Solutions non gérées

Lorsqu’une solution est non gérée, vous pouvez effectuer les actions suivantes :

  • Ajouter des composants.

  • Retirer un composant.

  • Supprimer les composants qui permettent la suppression.

  • Exporter et importer la solution non gérée.

  • Exporter la solution comme solution gérée.

    Pour en savoir plus : Créer, exporter ou importer une solution non gérée

Importation des solutions non gérées

Lorsque vous importez une solution non gérée, vous pouvez modifier ses composants dans la nouvelle organisation.

Important

Lorsque vous importez une solution non gérée, les définitions de tous les composants de solution qui sont déjà dans l’organisation seront remplacées. Vous ne pouvez pas annuler cette action.

Personnalisations non gérées

Chaque organisation Dynamics 365 Customer Engagement (on-premises) contient les composants de solution personnalisables. Ensemble, tous ces composants de solution sont appelés la solution par défaut. Il s’agit de la solution que vous modifiez lorsque vous sélectionnez Personnaliser le système dans l’application. Vous pouvez exporter cette solution et les personnalisations qu’elle contient comme avec une solution non gérée. Toutefois, vous ne pouvez pas exporter la solution par défaut comme solution gérée.

Créer une solution non gérée

Si vous n’avez pas l’intention de générer une solution gérée, vous ne devez pas créer une solution non gérée. Vous pouvez personnaliser le système directement. Les organisations qui souhaitent simplement pouvoir modifier, sauvegarder et transporter leurs personnalisations ne doivent pas utiliser des fonctionnalités plus avancées de l’infrastructure de solution Dynamics 365 Customer Engagement (on-premises).

Lorsque vous créez une solution non gérée, vous créez un moyen de regrouper un sous-ensemble des composants de solution personnalisables disponibles. Les composants de solution dans une solution non gérée sont des références aux composants de solution personnalisables dans l’organisation.

Après avoir créé une solution non gérée, vous pouvez lui ajouter des composants de solution. Avec cet ensemble réduit de composants, vous pouvez décider d’inclure uniquement les composants de solution pertinents pour une fonctionnalité spécifique. Vous pouvez ainsi disposer d’un package de plus petite taille lorsque vous exportez votre solution, et rend l’ensemble de composants plus facile à gérer.

Tous les composants que vous ajoutez à votre solution non gérée sont inclus dans les composants de solution personnalisables du système. Les composants de solution non gérée peuvent être ajoutés à plusieurs solutions non gérées.

Important

Comme chaque solution non gérée contient une référence au groupe partagé de solutions, les modifications que vous apportez aux composants de solution dans une solution sont également appliquées à toutes les solutions non gérées qui font référence à ces composants de solution.

Astuce

Vous pouvez également créer des solutions non gérées uniquement pour fournir un accès pratique à des composants de solution spécifiques. Par exemple, vous pouvez utiliser un grand nombre de ressources web HTML, mais seules certaines d’entre elles sont des éléments de niveau supérieur de l’interface utilisateur dans votre solution. Vous pouvez créer une solution non gérée qui contient uniquement ces composants de niveau supérieur de l’interface utilisateur afin de les rechercher et de les ouvrir facilement.

Éditeur de solutions pour les solutions non gérées

Chaque solution nécessite un éditeur de solutions. Pour une solution non gérée, l’éditeur de solutions fournit un préfixe de personnalisation commun et un préfixe de valeur d’option. Plus d’informations : Créer un éditeur de solutions

De nombreuses solutions peuvent être associées à un même éditeur de solutions. Chaque organisation a un éditeur de solutions appelé « Éditeur par défaut pour <OrganizationUniqueName> ». Si vous souhaitez que toutes vos solutions non gérées partagent le même préfixe de personnalisation et le préfixe de valeur d’option, il est recommandé d’associer vos solutions non gérées avec l’éditeur par défaut pour votre organisation.

Note

L’éditeur de solutions contrôle la façon dont les solutions gérées peuvent être mises à jour. Si vous installez une solution gérée, l’éditeur apparaît mais vous ne pouvez pas lui associer une solution non gérée. Si vous envisagez de distribuer une solution gérée, voir Éditeur de solutions pour les solutions gérées.

Suppression d’une solution non gérée

Si vous supprimez une solution non gérée, supprimez simplement le groupe utilisé pour contenir des références aux composants de solution. Les composants de solution dans une solution non gérée sont conservées dans le système, mais ils ne sont plus associés à la solution non gérée supprimée.

Note

Si vous supprimez un composant de solution dans une solution non gérée, il est supprimé du système et n’est plus disponible dans aucune autre solution non gérée. Utilisez « remove » au lieu de « delete » si vous ne souhaitez supprimer un composant de solution d’une solution non gérée.

Solutions gérées

Si vous envisagez de distribuer votre solution comme solution gérée, exportez votre solution non gérée et sélectionnez l’option Géré dans la boîte de dialogue Type de package.

Note

Après avoir généré une solution gérée, vous ne pouvez pas l’installer dans l’organisation Dynamics 365 Customer Engagement (on-premises) qui contient la solution non gérée utilisée pour la créer. Elle doit être installée dans une autre organisation.

Après avoir installé une solution gérée, les points suivants s’appliquent :

  • Vous ne pouvez pas ajouter ou supprimer de composants de solution dans une solution gérée.

  • Vous ne pouvez pas exporter une solution gérée.

  • La suppression d’une solution gérée désinstalle tous les composants de solution qu’elle contient.

    Pour plus d’informations : Créer, installer, et mettre à jour une solution gérée

    Après avoir installé une solution gérée, vous pouvez personnaliser les composants de solution si le créateur de la solution gérée a configuré la solution gérée pour l’autoriser. Vous devez accéder aux composants de solution personnalisables en utilisant Personnaliser le système plutôt que via la solution gérée elle-même.

    Utilisez Propriétés gérées pour décider si un composant de personnalisation est personnalisable et choisir les actions de personnalisations activées.

Éditeur de solutions pour les solutions gérées

Si vous envisagez de distribuer des solutions gérées, l’enregistrement de l’éditeur de solutions associé à votre solution gérée est créé dans chaque organisation qui installe votre solution. Utilisez l’éditeur de solutions pour fournir des informations sur la façon dont les utilisateurs qui installent votre solution peuvent vous contacter.

L’éditeur de solutions d’une solution gérée est également important si vous souhaitez publier une mise à jour de votre solution gérée. Si vous utilisez le même éditeur de solutions, vous pouvez créer une solution gérée avec la possibilité de mettre à jour une solution gérée que vous avez déjà publiée. Plus d’informations : Gérer les solutions gérées

Propriétés gérées

Avec les propriétés gérées, le créateur d’une solution gérée peut contrôler si un composant de solution est personnalisable et quelles parties de ce composant peuvent être personnalisées.

Note

Les propriétés gérées doivent être définies dans une solution non gérée. Les paramètres de propriétés gérées sont appliqués uniquement après que la solution gérée a été empaquetée et installée.

Les propriétés gérées réellement disponibles dépendent du type de composant de solution. La capture d’écran suivante indique les propriétés gérées d’une entité personnalisée.

Propriétés gérées pour une entité.

Par défaut, les paramètres de propriétés gérées supposent que tout type de composant de solution est totalement personnalisable. Nous encourageons les développeurs de solution à autoriser la personnalisation des composants de solution de leurs solutions. Toutefois, dans certains cas, lorsque la définition d’un composant de solution doit être « verrouillée » pour éviter que des modifications pouvant l’endommager soient apportées ou pour faciliter la maintenance ultérieure du composant de solution.

Informations complémentaires : Utiliser des propriétés gérées

Résolution de conflit

Lorsque plusieurs solutions définissent les composants de solution différemment, Dynamics 365 Customer Engagement (on-premises) résout le conflit en utilisant deux stratégies, Fusionner et Meilleurs gains. Le diagramme suivant illustre les différences.

Deux stratégies de résolution des conflits de solution.

Fusionner
Les composants de l’interface utilisateur (barre de commandes, rubans, formulaires et plan de site) sont fusionnés. Cela signifie que les composants de solution sont recalculés du niveau le plus bas vers le niveau le plus haut, de sorte que les personnalisations non gérées de l’organisation soient les dernières à être appliquées.

Meilleurs gains
Pour tous les autres composants de solution, tout conflit est calculé en faveur de la personnalisation appliquée en dernier. Pour les solutions gérées, cela signifie généralement que la dernière solution installée est appliquée. Toutefois, il existe une situation particulière où une mise à jour d’une solution gérée est installée.

Résolution de conflit dans la mise à jour d’une solution gérée

Comme les personnalisations non gérée sont considérées comme étant « au-dessus » de toute solution gérée en termes de résolution de conflit, les organisations qui installent une mise à jour de solution gérée peuvent ne pas voir les modifications appliquées en raison de modifications non gérées. Une option permet de s’assurer que les modifications appliquées par une mise à jour d’une solution gérée sont disponibles.

Lorsque vous diffusez une mise à jour pour une solution gérée, l’organisation qui installe la mise à jour peut choisir :

  • de conserver toutes les personnalisations qu’elle a appliquées sur votre solution gérée ;

  • de remplacer toutes les personnalisations qu’elle a appliquées sur votre solution gérée.

    Les organisations qui installent une mise à jour pour une solution gérée doivent utiliser le créateur de solution gérée pour évaluer quelle option est la plus appropriée.

Important

Les modifications apportées aux formulaires d’entité et le plan de site ne sont pas remplacés, même si l’option de remplacement est sélectionnée. Reportez-vous aux sections Fusionner les personnalisations de formulaire et Fusionner les personnalisations de navigation (Plan de site) pour obtenir des instructions sur la gestion des modifications. Certaines personnalisations manuelles peuvent être nécessaires pour fusionner des personnalisations non gérées dans des modifications incluses dans une mise à jour de solution gérée.

Suivi de dépendance

La structure des solutions effectue automatiquement le suivi des dépendances des composants de solution. Chaque opération sur un composant de solution calcule automatiquement toutes les dépendances à d’autres composants du système. Les informations de dépendance sont utilisées pour préserver l’intégrité du système et pour empêcher les opérations qui entraînent 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 prévient l’utilisateur si des composants manquants peuvent éventuellement entraîner une défaillance lors de l’importation de cette solution dans un autre système.

    Les avertissements reçus au cours de l’exportation peuvent être ignorés si le développeur de la solution prévoit que la solution sera uniquement installée dans une organisation 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 « de base » préinstallée.

  • L’importation d’une solution échoue si tous les composants requis ne sont pas inclus dans la solution et n’existent pas non plus dans le système cible.

    • En outre, lorsque vous importez une solution gérée, tous les composants requis doivent correspondre au type de package de la solution. Un composant dans une solution gérée peut uniquement dépendre d’un autre composant géré.

    Pour plus d’informations, voir : Suivi de dépendance pour les composants de solution

Prise en charge de plusieurs langues

Dynamics 365 Customer Engagement (on-premises) prend en charge de manière native plusieurs langues. Lorsqu’un module linguistique (parfois appelé « pack d’interface utilisateur multilingue ») est installé, des éléments de l’interface utilisateur peuvent s’afficher dans une autre langue.

En fonction du type de composants inclus dans votre solution, vous pouvez adopter différentes tactiques. Plus d’informations : Créer des solutions qui prennent en charge différentes langues

Voir aussi

Empaqueter et distribuer les extensions avec les solutions Dynamics 365 Customer Engagement (on-premises)
Schémas et principes Microsoft Dynamics 365 Customer Engagement pour les créateurs de solutions
Plan de développement de solutions
Suivi de dépendance pour les composants de solution
Créer, exporter ou importer une solution non gérée
Créer, installer et mettre à jour une solution gérée
Désinstaller ou supprimer une solution
Créer des solutions qui prennent en charge différentes langues
Entités de solution
Utiliser des solutions
Exemple : utiliser des solutions
Exemple : Rechercher les dépendances de solution
Entités de solution