Tâche Humaine
La tâche “Tâche Humaine” est un composant fondamental pour l'orchestration des processus qui nécessitent une intervention humaine. Sa fonction principale est de suspendre l'exécution d'un Workflow et de créer une activité en attente, l'assignant à un ou plusieurs utilisateurs spécifiques.
Le Workflow restera dans un état d'attente (le Journaux d'exécution sera dans un état de Running) jusqu'à ce que l'utilisateur désigné complète l'activité, l'annule, ou jusqu'à l'expiration d'un délai d'attente. Cette interaction se produit via l'interface Workspace de l'utilisateur.
Cette tâche est le pont entre l'automatisation des systèmes (System-to-System) et les processus décisionnels ou d'entrée de données humains (Human-in-the-Loop).
1. Configuration
La configuration de la tâche définit à qui assigner l'activité, ses échéances et les champs (forms) que l'utilisateur devra visualiser ou remplir.
1.1 Assignation Utilisateur
- Assignés: Un champ multi-sélection pour spécifier un ou plusieurs utilisateurs auxquels l'activité sera assignée.
- Date d'Échéance: Un champ date/heure pour définir l'échéance au terme de laquelle l'activité devra être complétée.
- Priorité: Un menu déroulant pour définir la priorité de l'activité (Faible, Moyenne, Élevée).
- Délai d'Attente (secondes): Une valeur numérique, en secondes, qui définit un temps d'attente maximal. Si l'activité n'est pas complétée dans ce délai d'attente, le Workflow reprendra automatiquement son exécution, typiquement en suivant un chemin de sortie spécifique.
1.2 Forms (Formulaires)
Cette section permet de construire un formulaire dynamique qui sera présenté à l'utilisateur dans son Workspace. Pour chaque champ à visualiser (+ pour ajouter), on définit :
| Colonne | Description Technique |
|---|---|
| Label | Le nom du champ, tel qu'il sera affiché à l'utilisateur (ex. test_pdf). |
| Type | Le type de données du champ (ex. String, Number, Boolean). |
| Valeur | La valeur initiale ou pré-remplie du champ. Elle peut être une valeur statique ou, plus couramment, un paramètre dynamique provenant d'une tâche précédente (#>Importa Testo.result<#). |
| Required | Si coché, l'utilisateur ne pourra pas compléter l'activité sans avoir rempli ce champ. |
| Read-Only | Si coché, l'utilisateur pourra visualiser la valeur du champ mais ne pourra pas la modifier. |
2. Interaction Utilisateur dans le Workspace
Lorsque un Workflow en cours atteint une Tâche Humaine, les actions suivantes se produisent :
- L'exécution du Workflow est suspendue.
- Dans l'interface Workspace des utilisateurs assignés, une nouvelle activité en attente apparaît dans la section "Liste des Tâches Humaines".
- L'activité affiche tous les détails configurés : assignés, priorité, échéance, et le formulaire (Forms) à remplir.
- L'utilisateur peut interagir avec l'activité en remplissant les champs requis et en choisissant l'une des deux actions finales :
- Terminer: Termine l'activité et reprend le Workflow.
- Annuler: Annule l'activité et reprend le Workflow, typiquement en suivant un chemin de sortie différent.
3. Paramètres de Sortie
Une fois que la Tâche Humaine est terminée, elle expose une série de paramètres de sortie contenant les données saisies par l'utilisateur et le résultat de son interaction.
Questi paramètres sont fondamentaux pour les tâches suivantes, qui pourront utiliser les données validées ou saisies par l'utilisateur pour poursuivre avec la logique du processus (par exemple, enregistrer les données dans une base de données, envoyer un e-mail avec les informations saisies, etc.).
3.1 Section de Base
- result: L'état final de l'interaction (par exemple, "Completed", "Cancelled", "TimedOut").
- resultJSON: Un objet JSON contenant toutes les données du formulaire, y compris les valeurs saisies par l'utilisateur.
- choicesJSON: Un objet JSON qui collecte les choix effectués par l'utilisateur, l'état de complétion et l'utilisateur associé. (par exemple,
{"choices":{"x":"243"},"status":"Completed","username":"user_test"})
3.2 Section Forms
Cette section expose chaque champ défini dans le formulaire Forms comme un paramètre de sortie individuel, rendant l'accès aux données saisies par l'utilisateur extrêmement direct.
La mappage suit cette structure :
- Nom du Champ (Label): Pour chaque champ créé avec une certaine Label dans la configuration, un paramètre de sortie avec le même nom est créé. Ce paramètre contiendra la valeur finale du champ, tel qu'il a été éventuellement modifié et confirmé par l'utilisateur au moment de l'achèvement de l'activité.