Fermer

octobre 1, 2021

Intégration low-code via les crochets de service dans Sitefinity


Sitefinity a historiquement fourni un ensemble robuste de connecteurs intégrés aux solutions et systèmes externes. Dans Sitefinity DX 14.0, les crochets de service ouvrent une toute nouvelle gamme d'opportunités d'intégration low-code.

Pour exécuter une stratégie numérique globale, les entreprises et les organisations ont besoin de moyens pour se connecter et intégrer des sources externes, y compris des tiers logiciels et technologies héritées. Le défi peut sembler de taille. Il peut falloir 10 sources de données en moyenne pour bien appréhender le comportement et les interactions des clients. Environ huit systèmes internes et autant de solutions externes et tierces doivent être parfaitement synchronisés pour offrir une expérience numérique significative.

Extensibilité et intégrations de Sitefinity

Ainsi, les intégrations ont toujours été un élément essentiel de Sitefinity. Pour mettre tout cela en contexte, les webhooks ont fait un bon travail d'intégration d'applications et de services externes via une collection d'événements système exposés. Un inconvénient des webhooks, c'est qu'ils sont trop techniques. Un outil avec lequel les développeurs peuvent jouer, plutôt que les utilisateurs professionnels.

Désormais, les crochets de service sont également des intégrations low-code basées sur des événements, mais les événements suivent une convention de nommage conviviale et couvrent un plus large éventail de cas d'utilisation, avec le possibilité de créer des déclencheurs personnalisés ou de choisir parmi plus de 20 événements disponibles immédiatement. Ledit middleware peut être une plate-forme de développement low-code telle que Power Automate ou Zapier. À lui seul, Power Automate dispose d'un ensemble de plus de 300 connecteurs, soit trois cents solutions logicielles tierces avec lesquelles Sitefinity peut s'intégrer. communiquer de manière transparente avec Sitefinity.

SF Low-code Integration Platform" title="SF Low-code Integration Platform"/><p data-recalc-dims=Dans les chapitres suivants, nous examinerons un cas d'utilisation réel de l'automatisation d'un flux de travail en utilisant les crochets de service Sitefinity. Je décrirai chaque étape de la configuration des canaux avec lesquels je veux que Sitefinity parle, en passant par la configuration d'un flux dans Power Automate (notre middleware dans cet exemple) jusqu'à la configuration du crochet de service réel.

Crochets de service Sitefinity. : Hands-on and Heads-on

Travailler à distance n'est que l'une des nouveautés auxquelles nous avons dû faire face et à laquelle nous avons dû nous adapter. WFH, les configurations virtuelles et les espaces de travail – la distance – ont eu un impact sur notre façon de travailler et collaborer. Débordés par des tonnes d'informations, nous devons constamment changer de contexte. Le simple fait de se rendre au bureau d'un collègue n'est tout simplement pas une option la plupart du temps.

Pour maintenir un niveau de collaboration significatif, les organisations s'appuient fortement sur des applications de messagerie instantanée telles que Microsoft Teams et des outils de gestion de projets et de tâches tels que les tableaux Kanban. La messagerie instantanée tient tout le monde au courant, tandis que Kanban fournit un endroit unique pour organiser et suivre le travail en cours.

Plaçons le concept de workflow à distance dans le contexte de la gestion de contenu. Vous avez un auteur qui crée un nouveau contenu ou met à jour un élément existant. La mise à jour doit suivre votre processus d'approbation, ce qui signifie bien sûr que l'approbateur doit être informé. Voyons comment les deux canaux de communication (IM et tableau Kanban) peuvent s'intégrer au workflow. L'envoi d'un e-mail est supposé tel quel.

La configuration que nous allons implémenter inclut Microsoft Teams en tant que messagerie instantanée et un tableau Azure DevOps Kanban.

Sitefinity ne fournit pas d'intégration OOTB avec Teams ou Azure DevOps. C'est là qu'interviennent les Service Hooks. Un Service Hook se compose d'un déclencheur et d'une action. Par exemple, le déclencheur peut être une page / une actualité / un article de blog publié, une connexion ou une inscription d'utilisateur ou une soumission de formulaire. actions. Ceci est enveloppé dans une interface utilisateur soignée et conviviale permettant aux développeurs de créer des intégrations et d'automatiser les processus.

Là. Laissez-moi maintenant vous guider à travers la configuration. Les personnages impliqués dans cet exercice sont un auteur créant un article d'actualité et un éditeur qui est censé le réviser. Je suis le développeur qui met en place le crochet de service qui tiendra tout le monde au courant.

Configurer le workflow d'approbation

Commençons par configurer un workflow d'approbation à un niveau selon les instructions de la documentation Sitefinity. Définissez la portée du workflow d'approbation comme étant « Actualités ». Une fois que nous l'avons configuré, l'auteur doit obtenir l'approbation d'un éditeur pour que le contenu soit publié.

Edit-Approval-Workflow" title="Edit-Approval-Workflow-S"/><h2 data-recalc-dims=Créer un groupe Microsoft Teams Chat

Configurons les deux canaux. Dans cet exemple, nous allons créer un chat de groupe avec tous les éditeurs de contenu dans Microsoft Teams. Nous l'appellerons "Contenu en attente d'approbation". sera notifié.

Créer un tableau Kanban

Le canal suivant sera un tableau Azure DevOps Kanban.Créez un tableau avec deux colonnes, « En attente d'approbation » et « Publié », en suivant les instructions du Documentation Azure DevOps . Un élément sera créé dans la colonne « En attente d'approbation » chaque fois qu'un nouveau contenu est soumis pour approbation.

Maintenant, avec les deux canaux configurés, faisons la magie et voyons-les en action lorsque le contenu est envoyé pour approbation. Pour ce faire, nous utiliserons un Microsoft Power Automat e Flux. Un crochet de service gérera la communication entre Sitefinity et Microsoft Power Automate.

Créez un flux Power Automate

Suivons les étapes et créons un flux Microsoft Power Automate.

  1. Créez un "Flux cloud automatisé". Ignorez l'assistant. Reportez-vous à cet article pour vous familiariser avec la création de "Flux cloud automatisé".
  2. Ajoutez un déclencheur en recherchant "Quand une requête HTTP est reçue", puis sélectionnez-le.
  3. Ajoutez un nouveau étape "Publier une carte adaptative dans un chat ou un canal."
  4. Sélectionnez pour publier en tant que "Flow bot".
  5. Sélectionnez pour publier dans "Chat de groupe". Vous pouvez facilement avoir un canal séparé au lieu d'un chat de groupe.
  6. Sélectionnez le chat de groupe "Contenu en attente d'approbation" que nous avons déjà créé. Voici un petit conseil : il devrait y avoir au moins un message dans le chat pour qu'il apparaisse dans la liste déroulante.
  7. Ajoutez "{}" dans le champ Carte adaptative pour le moment. Nous y reviendrons plus tard.
  8. Enregistrez le flux.

Create-Power-Automate-Flow" title="Create-Power-Automate-Flow"/></a data-recalc-dims=

Créer un crochet de service

Nous avons donc la configuration initiale du flux Power Automate et le tableau Kanban prêts. Créons maintenant le Service Hook qui activera le flux et les données de flux.

  1. Ouvrez le backend Sitefinity et accédez à Administration >> Service Hooks.
  2. Créez un nouveau service hook.
  3. Ajoutez "En attente". Notifications d'approbation" comme nom d'étiquette.
  4. Nous souhaitons que le flux Power Automate que nous avons créé soit déclenché lorsqu'un élément de contenu (article d'actualité) est soumis pour examen. Il n'y a pas de tel déclencheur Service Hook prêt à l'emploi mais, comme d'habitude, Sitefinity offre un haut niveau de flexibilité. Sélectionnez "Événement personnalisé" comme déclencheur Service Hook. Pour le trouver, vous devez développer l'ensemble initial de déclencheurs affiché en cliquant sur "Afficher tous les déclencheurs".
  5. Ajoutez le Telerik.Sitefinity.Data.Events.IDataEvent dans le "Type d'événement personnalisé ".
  6. Passez maintenant au flux Power Automate et développez le champ "Quand une requête HTTP est reçue".
  7. Copiez l'URL et collez-la dans le champ "URL cible" du crochet de service.
  8. Enregistrez le Service Hook.

Create-Service-Hook" title="Create-Service-Hook"/><h2 data-recalc-dims=Testez la configuration initiale

Allez-y, créez une actualité et soumettez-la pour approbation. Vous remarquerez que votre flux Power Automate a été exécuté 8 fois et que tous ont échoué. Il n'y a rien à craindre.

Test-Initial-Setup" title="Test-Initial-Setup"/></a data-recalc-dims=

Configurez le flux Power Automate pour comprendre la charge utile transmise

  1. Ouvrez la dernière exécution du flux à partir du tableau de l'historique des exécutions.
  2. Développez l'étape « Quand une requête HTTP est reçue » et copiez les sorties >> Corps JSON.
  3. Ouvrez maintenant le flux à modifier.
  4. Développez le champ "Quand une requête HTTP est reçue"
  5. Cliquez sur "Utiliser un exemple de charge utile pour générer un schéma". et collez le JSON copié.
  6. Cliquez sur Terminé, et vous remarquerez que Power Automate a généré le schéma de charge utile basé sur l'exemple de charge utile. Ceci est important car nous pourrons désormais utiliser les données de la charge utile dans les autres étapes.

Terminez la configuration de la notification des équipes

Terminons l'étape de notification des équipes en configurant la carte adaptative.
[19659028]Développez la "Post adaptive card in a chart or channel."

  • Collez le JSON suivant dans le champ Adaptive Card et enregistrez le flux :
  • {
        "$schema": " http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "version" :  "1.0",
        "corps": [
            {
                "type": "TextBlock",[19659078]"texte": "En attente d'approbation",
                "id": "Titre",
                "espacement":[19659064]"Moyen",
                "alignement horizontal" : "Centre",
                "taille" :  "ExtraLarge",
                "poids": "Plus gras",
                "couleur": "Accent"
            } ,
            {
                "type": "TextBlock",
                "texte": "@{triggerBody()?['Item']?['Title']} est en attente d'approbation.",
                "id": "acHeaderTagLine",
                "separator": true[19659077]}
        ],
        "actions": [
        {
          "type": "Action.OpenUrl" ,
          "titre": "Avis",
          "url": "https://demo.sitefinity.cloud/Sitefinity/adminapp/content /newsitesms/@{triggerBody()?['OriginalEvent']?['ItemId']}/edit"
        }
        ]
    }
    

    Complete-Teams-Notification-Setup" title="Complete-Teams-Notification-Setup"/></a data-recalc-dims=

    Allez-y, créez une nouvelle actualité et soumettez-la pour approbation. Faites-le en tant qu'auteur.
    J'ai une bonne et une mauvaise nouvelle : l'intégration Teams fonctionne, mais il y a une carte adaptative envoyée plusieurs fois. Résolvons cela.

    Configurez le déclencheur Power Automate Flow

    1. Cliquez sur l'icône à trois points dans la section "Quand une requête HTTP est reçue". (première) étape et cliquez sur "Paramètres".
    2. Ajoutez les 2 conditions de déclenchement suivantes :
    1. @equals(triggerBody()?[‘OriginalEvent’]?[‘ApprovalWorkflowState’],'AwaitingApproval')
    2. @equals(triggerBody( )?[‘OriginalEvent’]?[‘Status’],'Master')

    Les paramètres devraient ressembler à ceci :

    Power-Automate-Flow-Trigger" title="Power-Automate-Flow-Trigger"/>[19659157]Cliquez sur "Terminé" et enregistrez le flux. Refaire le même test en créant une nouvelle actualité et l'envoyer pour approbation. Si tout va bien, vous ne recevrez qu'une seule carte adaptative.</p data-recalc-dims=

    Teams-Notification" title=" Teams-Notification"/><p data-recalc-dims=Allez-y et cliquez sur le bouton de révision. Vous devriez être invité à l'article en attente d'approbation. Vous devez vous connecter en tant qu'éditeur.

    Configurer la création de carte Azure DevOps Kanban Board

    Nous avons terminé avec la notification Teams. Occupons-nous de la carte Kanban dans Azure DevOps.

    1. Ajouter une nouvelle étape Azure DevOps >> "Créer un élément de travail".
    2. Sélectionnez le nom de votre organisation.
    3. Sélectionnez le nom du projet.[19659029]Sélectionnez une "User Story" comme type d'élément de travail. Cela peut être n'importe quoi, même un type personnalisé. Pour que l'élément créé soit visible sur le tableau Kanban, il doit s'agir d'une user story ou d'une fonctionnalité.
    4. Définissez le titre comme '"@{triggerBody()?[‘Item’]?[‘Title’]}" est en attente de révision '.
    5. Définissez la description de la user story comme :
      • La nouvelle "@{triggerBody()?[‘Item’]?[‘Title’]}" a été envoyée pour approbation. Revoyez-le sur

      <a href="https://demo.sitefinity.cloud/Sitefinity/adminapp/content/newsitems/@{triggerBody()?['OriginalEvent']?['ItemId']}/edit">https ://demo.sitefinity.cloud/Sitefinity/adminapp/content/newsitems/@{triggerBody()?['OriginalEvent']?['ItemId']}/edit</a>

      • Remplacez "https://demo.sitefinity.cloud" par l'URL de votre site Web.

    6. Développez les options avancées.
    7. Ajoutez "Nouveau" dans le champ d'état.
    8. Créons la user story avec la balise "approval_workflow" pour marquer les éléments produits dans le cadre du workflow d'approbation.

    Kanban -Board-Card-Config" title="Kanban-Board-Card-Config"/></a data-recalc-dims=

    Enregistrez le flux et créons un autre article en tant qu'auteur et envoyons-le pour approbation.

    https://www. progress.com/images/default-source/blogs/2021/2021-10/8-kanban-board-card-config-l.png

    Wrap-up

    Ainsi, les crochets de service dans Sitefinity vous permettent de vous intégrer avec pratiquement n'importe quel logiciel tiers. Comme tant d'autres fonctionnalités de Sitefinity, le processus de configuration d'intégrations low-code basées sur des événements avec des systèmes externes de choix est simple et convivial.

    Nous venons d'examiner une seule vie réelle. cas d'utilisation, mais il existe d'autres façons d'exploiter les crochets de service Sitefinity pour vous connecter, automatiser et optimiser.Les crochets de service peuvent vous aider à connecter de manière transparente les principaux systèmes commerciaux et marketing, rationalisez les flux de travail et améliorez l'efficacité en automatisant les tâches répétitives et routinières.

    Dans Sitefinity, un crochet de service peut automatiquement créer un prospect ou une opportunité chaque fois qu'un visiteur soumet un formulaire. Le téléchargement d'image peut déclencher l'optimiseur d'image et il peut s'agir de n'importe quel service que vous utilisez tant qu'il a des points de terminaison exposés.

    Téléchargez votre essai gratuit de Sitefinity

    Les opportunités sont illimitées. Et si vous n'avez pas peur d'expérimenter, les crochets de service combinés aux microservices et aux puissants services Web Sitefinity OData peuvent vraiment étendre Sitefinity au-delà de la plupart des limites perçues du verrouillage du cadre et de la technologie.

    Les intégrations à faible code vous permettent de offrir des expériences numériques suffisamment rapidement pour répondre aux demandes changeantes du marché, ainsi qu'aux nouvelles menaces et opportunités commerciales. Avec les intégrations low-code, vous n'êtes pas piégé par le verrouillage du fournisseur. Vous pouvez pivoter rapidement au lieu de rattraper le retard avec les technologies émergentes. Vos unités commerciales ne dépendent pas trop de l'informatique et la collaboration se fait en quelques clics. La magie? C'est Sitefinity.




    Source link