Cas pratiques

Avant de regarder ces cas pratiques, il est préférable d'avoir lu la documentation sur l'utilisation du studio et d'avoir suivi la section premier pas.

Déclenchement sur lecture de boîte mail

Créer un environnement pour protéger les données sensibles

Dans Workflow > environnement créer un nouvel objet :

Env exemple

Créer le workflow pour la surveillance :

wkfl exemple

Préparer une template de mail pour la gestion d'erreur

wkfl mailtpl 1 wkfl mailtpl 2

corps du mail dont les balises seront définissable dans l'actionneur :

<div>
    <p>[Ceci est un mail généré automatiquement, merci de ne pas y répondre]</p>
    <p>Le mail dont le sujet était {{mail.subject}} à {{mail.reception_date * 1000 | date:'dd/MM/yyyy'}} ne contenait pas de pièce jointe.</p>
    <p>Pour répondre à votre demande j'ai besoin d'une pièce jointe, merci de réitérer l'envoie avec un PJ</p>
    <p></p>
    <p>Merci d'avance</p>
    <p>GTF</p>
</div>

Définition du workflow

On commence par créer un EmailTrigger dont la configuration sera :

wkfl trigger

  • On définit que la boite mail sera scanné toute les 10 minutes

  • On map les informations de connexion à la base depuis l'environnement

  • On définit le dossier de la boite à scanner, en l'occurence INBOX La boite de récéption racine

  • Une fois traité les mails seront déplacé dans un dossier GTF

On va considérer que le traitement GTF qui sera lancé a besoin d'un fichier, s'il n'y a pas de fichier un mail sera renvoyé à l'émetteur du mail.

On lance un premier test pour avoir les infos du trigger.

wkfl trigger test

On ajoute :

  • un Tester pour vérifier que la pièce jointe est bien présente wkfl tester config

    • On teste la longueur du tableau de piéce jointe.

  • un EmailSender pour contacter le demandeur et lui dire qu'il manque la pièce jointe wkfl sender test

    • On configure le template précédemment défini

    • On défini le modèle qui servira à évaluer le mail.

  • un GtfOrderRunner pour traiter la pièce jointe wkfl runner test

    • On défini le traitement à lancer

    • On précise que l'on veut attendre la fin (même si dans ce cas là ce n'est pas trés important)

    • On câble la première pièce jointe en paramètre publié de FME

Ce qui donne le workflow suivant : wkfl runner test

Le fichier JSON exemple est téléchargeable en cliquant ici.

Utilisation des formulaires

Préparer un formulaire pour le trigger

Dans Workflow > Formulaires créer un nouvel objet, puis générer un formulaire qui sera utilisé dans un FormTrigger.

wkfl runner test

Préparer un template de mail pour le déclarant

wkfl runner test

Définition du workflow

On commence par créer un FormTrigger dont la configuration sera :

wkfl form trigger

Un fois le trigger validé et le workflow enregistré, il est possible de cliquer sur le lien du trigger en lançant un test.

wkfl form trigger widget

Suite à la validation du formulaire une itération est créée. On récupére la donnée du fomulaire sous cette forme :

wkfl form trigger data

On va vérifier que le formulaire soit acceptable avant de lancer la demande.

On va donc contacter un administrateur de l'application (là il sera statique, mais c'est une information que l'on peut récupérer via une requête SQL).

On va commencer par cloner le formulaire précédemment créer, passer tous les champs en lecture seule et ajouter une checkbox permettant de définir si la demande est valide.

wkfl form update

Je configure ensuite l'actionneur, qui ocntactera l'admin pour qu'il valide les données du demandeur.

wkfl form check config

En entrant dans le bloc un administrateur recevra le mail et pourra alors cliquer sur le lien à l'intérieur pour accéder au formulaire et le compléter.

Ici il dit s'il valide ou non, ce qui fera repartir le workflow, dans notre cas il suffira de tester le champ contenant l'information de validation. Puis dans un flow classique de ce type en cas de validation on redirige sur l'ajout d'une demande GTF suivi d'un envoi de mail. En cas d'échec on envoit un mail au demandeur pour lui spécifier que sa demande ne sera pas traitée et qu'il doit réitérer sa demande en appliquant des correctifs.

On obtient un workflow de ce type : wkfl form final flow