S’adapter aux changements
Résumé
S’adapter aux changements est une exigence courante pour les personnalisations de SharePoint, en particulier dans le domaine des solutions de gestion du contenu d'entreprise (ECM, Enterprise Content Management). Dans cet article, vous allez découvrir les différentes techniques disponibles dans SharePoint Online ou SharePoint en local pour vous adapter aux événements et aux modifications.
Orientations de haut niveau/règles générales
Avant d'explorer les détails des différentes options que vous devez gérer, voyons quelques orientations de haut niveau et règles générales communes:
- Chaque fois que vous devez gérer un événement venant de SharePoint, essayez d’appliquer un modèle asynchrone dans lequel vous collectez les informations de base sur l’évènement, vous rendez le contrôle à SharePoint et vous utilisez une tâche en arrière-plan pour développer la logique métier réel pour l’événement. Vous pouvez utiliser une fonction Azure, une tâche web Azure ou toute autre technique de travail d’arrière-plan pour développer l’événement. En même temps, vous pouvez utiliser une file d’attente, ou une table de base de données ou tout autre stockage de persistance fiable pour stocker les informations sur l’événement à développer. Lors de la réception de l'événement à partir de SharePoint, vous stockez les informations dans la couche de persistance, puis vous lancez le travail d'arrière-plan.
- Si vous traitez un événement synchrone, essayez d’éviter autant que possible de bloquer SharePoint. Faites plutôt référence au modèle asynchrone décrit dans la puce précédente.
- Envisagez d'utiliser un modèle de sécurité Application uniquement, chaque fois que vous devez effectuer un traitement en arrière-plan d'un événement, de sorte que vous n'aurez pas besoin de faire circuler les informations d'identification des utilisateurs dans votre service/solution de gestion d'événements. Néanmoins, certaines activités ne peuvent tout simplement pas être exécutées dans un contexte Application uniquement. Si tel est le cas, essayez de transmettre de manière sécurisée un jeton d'accès OAuth au travail d'arrière-plan plutôt qu'un ensemble d'informations d'identification de l'utilisateur. La solution globale sera plus sécurisée du fait qu’un jeton d'accès expire et possède un ensemble limité et prédéfini d’étendues d’autorisations associées.
Webhooks
Concerne : Office 365 | SharePoint Online
Les webhooks constituent une option moderne, disponibles dans SharePoint Online uniquement au moment de cette publication. Ils exploitent un point de terminaison basé sur REST, qui est publié par une application personnalisée et qui peut être enregistré pour n'importe quelle liste ou bibliothèque dans SharePoint. Lors de chaque événement de type création, mise à jour ou une suppression d'élément, l'infrastructure SharePoint rappelle le point de terminaison REST, fournissant un message JSON avec des informations génériques sur l'événement venant de se produire. Le webhook doit récupérer tous les détails sur l’événement à l’aide de la méthode GetChanges du CSOM. Le modèle prend en charge des notifications post-événement et ne fournit pas de notifications pendant le déroulement (c'est-à-dire qu’il prend en charge les évènements soi-disant terminés et non pas les événements soi-disant en cours). En raison de l’architecture asynchrone des webhooks, ils peuvent être utilisés pour garder une trace des événements, mais ne peuvent pas être utilisés pour annuler ou bloquer des événements pendant qu'ils se produisent. Pour plus d’informations sur les webhooks, vous pouvez lire les articles suivants, inspecter les solutions et exemples suivants ou regarder les vidéos suivantes.
Articles
- Présentation des webhooks SharePoint
- Prise en main des webhooks SharePoint
- Utilisation des fonctions Azure avec les webhooks SharePoint
- Webhooks de liste SharePoint
Exemples
- Implémentation de référence pour les exemples de webhooks SharePoint
- Implémentation de référence Azure AD des webhooks SharePoint
- Implémentation de référence des webhooks SharePoint
- Exemple d'application webhook SharePoint Node.js
- Personnalisateur d’application de notification de webhooks
Vidéos
Récepteurs d’événements distants
Concerne : SharePoint 2013 | SharePoint 2016 | SharePoint Online
Les récepteurs d’événements distants sont une fonctionnalité introduite avec le modèle de complément SharePoint. Ils ciblent à la fois SharePoint 2013/2016 sur site et SharePoint Online. L'idée est d'avoir un point de terminaison SOAP, généralement implémenté à l'aide de Windows Communication Foundation (WCF), qui peut être appelé avec SharePoint lors de la survenue d'événements. Les récepteurs d’événements distants fournissent à la fois des événements -ing, qui sont notifiés pendant un événement, et des événements -ed, qui sont avertis après qu’un événement s’est déjà produit. En tant que tel, un récepteur d'événements distants peut même annuler un événement en train de se produire. La famille d'événements pouvant être suivie est liée entre autres à des listes, des éléments, des sites et des autorisations. Les rubriques suivantes indiquent ce que vous pouvez trouver dans les récepteurs d’événements distants.
Articles
- Créer un récepteur d’événements distants dans des compléments SharePoint
- Utiliser des récepteurs d'événements distants dans SharePoint
- Récepteurs d’événement et récepteurs d’événement de liste dans le modèle de complément SharePoint
- Gestion des événements dans les compléments pour SharePoint
- Déboguer et dépanner un récepteur d'événement distant dans un complément pour SharePoint
- Conseils sur la transformation de solution en bac à sable ( récepteurs d’événements)
Exemples
- SharePoint Moniteur des changements d’élément de liste
- SharePoint Add-In event handler with Rollback Logic
- SharePoint Add-In event handler with Rollback Logic and Handler Delegation
- Utilisation d’événements AppInstalled pour attacher des événements dans le site web hôte
- Création de collection de sites à partir d’un récepteur d’événements distant
- Modifier les listes web hôtes au moment de la création de la liste
Vidéos
- Présentation des récepteurs d’événements distants SharePoint 2013
- Utilisation d’événements appinstalled pour attacher des récepteurs d’événements distants SharePoint sites web hôtes
Récepteurs d’événements
S’applique à : SharePoint 2013 | SharePoint 2016
Les récepteurs d’événements sont un modèle de gestion des événements côté serveur, disponible SharePoint 2013/2016 local uniquement. En fait, elles sont basées sur le modèle de développement de code de confiance totale (FTC) et nécessitent l’utilisation du modèle objet côté serveur de SharePoint, qui n’est pas disponible dans SharePoint Online. Voici la liste des rubriques que vous pouvez suivre pour comprendre comment créer des récepteurs d’événements.
Articles
- How to: Create an Event Receiver
- How to: Create an Event Receiver for a Specific List Instance
- Table of SharePoint Events, Event Receivers, and Event Hosts
Flux de travail
S’applique à : SharePoint 2013 | SharePoint 2016 | SharePoint Online
Les flux de travail sont encore une autre option dont vous avez besoin pour réagir aux événements du côté SharePoint côté. Il existe de nombreuses conceptions de flux de travail sur qui vous pouvez vous appuyer.
Par exemple, vous pouvez créer un flux de travail basé sur le moteur de flux de travail SharePoint 2010, qui est celui basé sur Workflow Foundation 3.x (WF3.x). Ce type de flux de travail est toujours pris en charge, uniquement pour des raisons de compatibilité ascendante, à la fois en local et dans SharePoint Online, tant qu’ils sont définis dans SharePoint Designer et qu’ils ne nécessitent pas de code côté serveur. En effet, dans SharePoint local, vous pouvez même utiliser le développement FTC pour étendre le moteur WF3.x, mais il ne s’agit pas d’un chemin d’accès suggéré, car il s’agit d’un bloc de route pour la migration vers SharePoint Online.
Les flux de travail pour SharePoint 2013/2016 sont également développés à l’aide du service Gestionnaire de flux de travail (WFM) basé sur Workflow Foundation 4.x (WF4.x). Ils ciblent toujours à la fois SharePoint local ou SharePoint Online, tant que vous avez défini des solutions de flux de travail déclaratives uniquement pour le code de marque, en évitant de s’appuyer sur du code côté serveur, qui est de nouveau disponible en local, mais qui serait un obstacle pour le cloud.
Une troisième et dernière option consiste à utiliser Microsoft Flow, qui, au moment de la rédaction de cet article, est un outil de gestion et de définition de flux uniquement dans le cloud. Il est très puissant chaque fois que vous devez traiter des événements avec les processus définis par l’utilisateur personnalisé, où les utilisateurs professionnels clés conçoivent eux-mêmes leurs processus.
Articles
- Flux de travail dans SharePoint
- Flux de travail, actions (activités), événements et formulaires dans le modèle SharePoint de l’application
- Appel de services web pour les flux de travail SharePoint
- Présentation de l’intégration de Microsoft Flow pour les bibliothèques de documents SharePoint