Création d'un formulaire personnalisé en utilisant l'éditeur de l'interface de formulaire de workflow pour une tâche du workflow MDM

EnrichVersion
6.5
EnrichProdName
Talend MDM Platform
Talend Data Fabric
task
Gouvernance de données > Gestion des workflows
EnrichPlatform
Studio Talend

Création d'un formulaire personnalisé en utilisant l'éditeur de l'interface de formulaire de workflow pour une tâche du workflow MDM

Lorsque vous travaillez avec des workflows MDM dans le Studio Talend, vous pouvez utiliser l'interface de formulaire de workflow pour construire des formulaires personnalisés afin de permettre les entrées de données simplifiées et les interactions de toutes sortes avec MDM de Talend.

Cet article s'applique à tous les produits Talend Platform avec MDM, à partir de la version 6.4.1.

Concepts simples et principes de fonctionnement d'une tâche humaine dans un workflow

Avant de commencer, nous vous recommandons de vous familiariser avec les concepts simples et les principes de fonctionnement d'une tâche humaine dans un workflow dans le Studio Talend :
  • Une fois que vous avez commencé un workflow, la variable de pool mdm_context est générée et cette variable doit être incluse dans chaque tâche dans le workflow. Si nécessaire, vous pouvez ajouter des variables de pool et/ou des variables locales dans une tâche pour transférer des données du MDM de Talend vers l'éditeur de formulaire. Par ailleurs, il doit y avoir un contrat qui définit les informations nécessaires à l'exécution d'une tâche.
  • Notez que depuis la version 6.4.1, une extension API REST MDM est configurée automatiquement lorsque le workflow MDM est déployé sur le serveur MDM. Ce workflow peut être utilisé pour récupérer directement et simplement des données du MDM de Talend. Pour plus d'informations, vérifiez les extensions API REST listées sous l'onglet Resources après vous être identifié sur le portail Web de Bonita BPM en tant qu'administrateur Bonita.

    Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

  • De la même manière, dans l'éditeur de l'interface de formulaire de workflow, les variables doivent être définies et doivent être utilisées pour stocker les données récupérées du MDM de Talend ou d'autres données saisies par les utilisateurs, traiter les données si nécessaire et finalement renvoyer les données vers le MDM de Talend via les variables de contrat.
  • Lorsqu'un utilisateur soumet son formulaire, les Operations (actions) définies dans le workflow sont exécutées afin que les valeurs saisies ou modifiées par l’utilisateur ou les données agrégées soient soumises au MDM de Talend pour remplir le contrat.

Exemple de création d'un formulaire personnalisé en utilisant l'éditeur de l'interface de formulaire de workflow pour une tâche du workflow

Le scénario suivant présente la création d'un formulaire personnalisé en utilisant l'éditeur de l'interface de formulaire de workflow pour une tâche du workflow.

Ce scénario a pour objectif la création d'un formulaire Web personnalisé pour des utilisateurs non-techniques responsables de la tarification de produits, à partir du projet démo MDM dans le Studio Talend. Grâce au formulaire adapté à leurs objectifs, les utilisateurs non-techniques peuvent publier une requête de modification de prix, sans un accès complet à Talend MDM Web UI.

Dans ce scénario, un formulaire Web contient un titre unique New Price Request et quatre champs Product Name, Enter Product Price, Request Reason et Request Date sont créés. Dans ce formulaire, les valeurs originelles du nom de produit et du prix du produit sont récupérées à partir du MDM de Talend via les extensions API REST. Les utilisateurs autorisés (les demandeurs de prix) peuvent ensuite saisir le nouveau prix du produit, saisir la raison de la requête du nouveau prix et sélectionner la date de la requête avant de la soumettre.

Prérequis :
  • Le serveur MDM est en cours de fonctionnement.
  • Les bundles Bonita BPM doivent être installés dans le Studio Talend.
  • Le serveur Bonita BPM est en cours de fonctionnement.
  • Des rôles vous ont été assignés avec les autorisations et les droits d'accès appropriés.
  • Les informations relatives aux utilisateurs MDM ont été synchronisées avec le serveur Bonita BPM.

Dans ce scénario, vous allez apprendre la :

Définition des variables de contrat et des opérations dans le MDM de Talend

Procédure

  1. Dans le Studio Talend, ouvrez le workflow Product_Product dans la perspective BPM.
  2. Cliquez sur la tâche Price Request.
  3. Dans la vue Execution, sélectionnez l'onglet Contract et ajoutez une entrée de type TEXT : c_productPrice utilisée pour recevoir des données de l'éditeur de formulaire.
  4. Allez dans l'onglet Operations et cliquez sur Add pour ajouter une nouvelle opération.
  5. Sélectionnez mdm_context dans la liste de variables.
  6. Cliquez sur lien à droite de la liste pour ouvrir la boîte de dialogue [Select operator] et sélectionnez Use a Java method dans la liste Operation type.
  7. Sélectionnez setValue et cliquez sur OK.
  8. Cliquez sur le bouton Edit et ajoutez le script "Product/Price#" + c_productPrice afin de mettre à jour le prix du produit dans le MDM de Talend avec une nouvelle valeur soumise par l'utilisateur du formulaire et reçue via la variable de contrat c_productPrice.

Création d'un formulaire personnalisé pour une tâche de workflow

Création d'un formulaire

Procédure

  1. Dans le Studio Talend, allez dans l'onglet Form et sélectionnez l'option UI Designer.
  2. Dans le champ Target form, sélectionnez Create a new form… pour ouvrir une nouvelle page d'éditeur de formulaire.

    Vous pouvez voir un éditeur de formulaire configuré par défaut avec la variable de contrat définie.

    Dans cette page Form Editor, vous pouvez glisser-déposer les widgets à gauche, dans la zone de création centrale avant de les définir spécifiquement dans le panneau de droite.

  3. Nommez le nouveau formulaire RequestNewPriceForm.
  4. Ajoutez un nouveau titre au formulaire.
    1. Glissez un nouveau widget TITLE à partir de la zone de gauche pour le déposer dans la zone de création centrale.
    2. Dans le panneau de droite, changez son Text en New Price Request.
    3. Sélectionnez center dans la liste Alignment.

Édition du formulaire pour récupérer les données du MDM de Talend

Procédure

  1. Ajoutez un nouveau champ Product Name au formulaire.
    1. Glissez-déposez un nouveau widget INPUT dans la zone de création à aligner avec le prix du produit de INPUT.
    2. Donnez-lui une longueur de 6.
    3. Sélectionnez l'option yes dans la zone Read-only.
    4. Nommez-le Product Name.
  2. Cliquez sur Create a new variable pour ouvrir une nouvelle page et définir une nouvelle variable dans l'éditeur de formulaire pour récupérer des données du MDM de Talend via l'extension API REST.
  3. Saisissez productName dans le champ Name.
  4. Sélectionnez External API dans la liste Type.
  5. Saisissez ../API/extension/mdmcontext?xpath=Product%2FName&taskId={{taskId}} dans le champ API URL pour récupérer la valeur originelle du nom du produit dans le MDM de Talend, dans lequel %2F est le caractère d'échappement et taskId est une variable qui représente l'identifiant unique de la tâche du worflow créée lors du lancement d'un processus.
  6. Cliquez sur Save pour sauvegarder vos modifications.
  7. Dans le panneau de droite, dans le champ Value du Product Name de INPUT, saisissez productName.value.
  8. Modifiez le libellé du C_product Price INPUT existant en Enter New Price.
  9. Suivez la même procédure pour ajouter une nouvelle variable productPrice avec l'URL de l'API de ../API/extension/mdmcontext?xpath=Product%2FPrice&taskId={{taskId}} et modifiez le champ Value du prix du produit de INPUT en productPrice.value.

Édition du formulaire pour recevoir des données directement via les entrées des utilisateurs

Procédure

  1. Nommez respectivement les deux autres widgets Request Reason et Request Date.
  2. Cliquez sur Create a new variable pour ouvrir une nouvelle page et définir une nouvelle variable dans l'éditeur de formulaire pour recevoir les données des entrées des utilisateurs.
  3. Saisissez requestReason dans le champ Name.
  4. Sélectionnez String dans la liste Type.
  5. Cliquez sur Save pour sauvegarder vos modifications.
  6. Dans le panneau situé à droite de l'écran, dans le champ Value du bouton Request Reason du widget d'entrée INPUT, saisissez requestReason.value.
  7. Supprimez le bouton Request Date originel du widget d'entrée INPUT avant de glisser un nouveau widget DATE PICKER. Déposez ce widget dans la zone centrale de création.
  8. Suivez la même procédure pour créer une nouvelle variable requestDate de type String et modifiez le champ Value pour que le bouton Request Date du widget DATE PICKER soit requestDate.value.

Édition du formulaire pour renvoyer les données vers le MDM de Talend

Procédure

  1. Supprimez la variable formInput au bas de l'éditeur de formulaire.
  2. Modifiez la variable formOutput et ajoutez les informations suivantes qui doivent correspondre aux prérequis du contrat :
    return {
    	'c_productPrice': $data.productPrice.value
    };

    Dans cet exemple, le nouveau prix du produit saisi par l'utilisateur du formulaire est renvoyé au MDM de Talend.

  3. Assurez-vous que le BUTTON Submit ait la même action que Submit task et que les données envoyées après avoir cliqué soient de type formOutput afin que toutes les données requises par le contrat soient renvoyées au MDM de Talend.
  4. Cliquez sur Save après avoir effectué vos modifications.
  5. Si nécessaire, cliquez sur Preview pour obtenir une prévisualisation du formulaire personnalisé.

Vérification du fonctionnement du formulaire personnalisé

Procédure

  1. Dans le Studio Talend, déployez le processus de workflow Product_Product mis à jour dans Talend MDM Server.
  2. Connectez-vous à Talend MDM Web UI et lancez le processus Request Price Change pour l'enregistrement de données du produit dont vous souhaitez modifier le prix.
  3. Connectez-vous au portail Web de Bonita et assignez la tâche de requête de prix à l'utilisateur approprié, par exemple un utilisateur responsable de la tarification du produit dans un projet.
  4. Prenez la tâche en tant qu'utilisateur assigné et vérifiez que le formulaire personnalisé fonctionne comme prévu.