Présentation
Un plug-in est une logique impérative utilisée seulement si un processus déclaratif, comme une règle métier, un flux ou un flux de travail, ne peut pas répondre à vos besoins.
En substance, un plug-in est simplement un assembly .NET implémentant une interface IPlugin, qui peut être trouvée dans le package Microsoft.CrmSdk.CoreAssemblies NuGet. L’interface IPlugin expose une seule méthode, Execute, où vous pouvez placer toute logique personnalisée que vous souhaitez appeler en fonction de l’événement que vous gérez.
Voici des scénarios courants d’utilisation des plug-ins :
Annulation de l’événement et affichage d’une erreur à l’utilisateur
Modifications apportées aux données de l’opération
Lancement d’autres actions à l’aide du service Organization pour ajouter l’automatisation
Alternatives aux plug-ins
Les plug-ins doivent être considérés comme un dernier recours dans de nombreux cas. Bien que les plug-ins soient puissants et, s’ils sont bien écrits, hautement performants, il est important de réduire la quantité de logique personnalisée/impérative que vous placez dans votre système, car cela peut affecter la maintenabilité, l’évolutivité, etc.
Voici des alternatives courantes aux plug-ins :
Flux de travail
Flux Power Automate
Champs calculés et cumulatifs
Actions personnalisées
Considérations relatives aux plug-ins
Les plug-ins fonctionnent mieux si l’on tient compte de leurs performances, de leurs fonctionnalités et de leur capacité à s’exécuter de manière synchrone.
Un plug-in bien écrit sera toujours le moyen le plus efficace d’appliquer une logique métier à Microsoft Dataverse. Cependant, un plug-in mal écrit peut considérablement nuire aux performances de votre environnement.
Les plug-ins offrent plusieurs fonctionnalités non disponibles avec une logique métier déclarative, comme utiliser efficacement des services externes dans le code. Cependant, Power Automate est de plus en plus équivalent aux plug-ins.
Si une logique synchrone est requise pour votre application, les plug-ins peuvent être obligatoires. Cependant, les flux de travail à la demande peuvent également s’exécuter de manière synchrone et doivent être pris en compte, en fonction de vos besoins.