Présentation

Effectué

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.