Avant de commencer
Avant de démarrer ce module, il est nécessaire d’avoir suivi le module Concevoir mon premier processus afin d’avoir le processus Document_Validation associé.
Dans ce module, nous allons utiliser le template HTML document_rejected
suivant :
Génération du fichier
Les templates HTML permettent de générer des fichiers HTML complexes. Les variables d’un processus peuvent être utilisées, durant la génération, pour valoriser ou conditionner des zones textuelles du fichier.
Reprenez votre processus Document_Validation. Dans l’onglet Diagramme :
- Ajoutez une
Service Task
entre leGateway
et l’End event
rejeté et nommez là Generate HTML file - Utilisez l’
Element Template
Generate file - Valorisez les champs suivants :
Template
: document-rejectedGenerated file name
: rejectedResult Variable
: tempFileId
Lors de cette étape, à partir du template, un fichier HTML temporaire sera créé avec les variables résolues. Ce fichier sera stocké dans la variable Camunda nommée tempFileId.
Conversion en PDF
Afin de convertir le fichier HTML généré à partir du template, nous allons utiliser le JavaDelegate permettant de convertir un fichier en PDF :
- Ajoutez une
Service Task
et nommez la Convert file - Sélectionnez l’
Element Template
Convert temporary file - Valorisez les champs suivants :
File ID
: ${tempFileId.getValue()} indiquant le fichier HTML temporaire à convertirOutput
: tempFileId
Lors de cette étape, le fichier HTML sera converti en PDF. La variable Camunda tempFileId contient maintenant l’identifiant du fichier PDF.
Gestion des erreurs
Lors de la conversion en PDF, des erreurs peuvent survenir en raison de problématiques techniques, de fichier invalide ou de format non supporté.
Ces erreurs bloquent la suite de votre processus. Il est donc nécessaire de gérer ces erreurs en ajoutant un Error Boundary Event
sur la tâche Convert file :
- Cliquez sur la tâche Convert file
- Ajoutez un
Boundary Event
- Glissez-le sur le bord de la tâche
- Changez le type de l’event (en cliquant sur la clé) pour avoir un
Error Boundary Event
Cet Error Boundary Event
va permettre d’intercepter une éventuelle erreur. Dans notre cas, nous allons juste continuer notre processus à l’apparition de l’erreur.
N’oubliez pas de lier l’Error Boundary Event
à la suite du processus !