Skip to main content

Composants de Processus BPMN Softyflow

Ce guide fournit une documentation complète pour tous les composants BPMN disponibles dans le Modeleur de Processus de Softyflow et leurs options de configuration.

Composants BPMN du Processus

Cette palette complète affiche tous les composants BPMN disponibles dans le Modeleur de Processus de Softyflow, y compris les tâches, les événements, les Portes et les éléments de flux pour construire une automatisation de flux de travail complète.

1. Composants de Tâche

1.1 Tâche Vide (Tâche Normale)

Type d'Élément : bpmn:Task

Une Tâche Vide, également appelée Tâche Normale, représente une unité de travail générique au sein du processus qui n'a pas de comportement prédéfini. Elle peut exécuter des scripts personnalisés, effectuer des calculs ou servir de placeholder pour la logique d'automatisation définie via les variables Entrée/Sortie.

Tâche Vide du Processus

Les Tâches Vides sont fréquemment utilisées pour les étapes de traitement intermédiaire ou l'automatisation backend, où la logique s'exécute automatiquement sans interaction utilisateur.

1.2 Tâche Utilisateur (Tâche Manuelle)

Type d'Élément : bpmn:UserTask

Les Tâches Utilisateur représentent un travail manuel qui doit être effectué par un utilisateur humain. Ces tâches apparaissent dans les paniers de tâches utilisateur et peuvent être affectées à des utilisateurs ou des rôles spécifiques.

Process User Task

L'élément Tâche Utilisateur représente un travail manuel qui nécessite une interaction humaine, apparaissant dans les listes de tâches utilisateur pour affectation et achèvement.

Options de Configuration

Utilisateurs et Rôles
  • Utilisateurs : Attribuer des tâches à des utilisateurs spécifiques par email

    • Prend en charge l'affectation dynamique à l'aide de variables : {{ userEmails }}
    • Peut attribuer à plusieurs utilisateurs avec des emails séparés par des virgules
    • Variables spéciales : {{SF_initiator}}, {{SF_latestValidator}}
  • Rôles : Attribuer des tâches à des groupes/rôles d'utilisateurs

    • Prend en charge l'affectation dynamique à l'aide de variables : {{ roleId }}
    • Peut attribuer à plusieurs rôles avec des ID séparés par des virgules
    • Rôle spécial : public (accessible à tous les utilisateurs)
  • reCAPTCHA : Activer pour les tâches publiques afin d'empêcher le spam et les activités frauduleuses

  • Observateurs : Utilisateurs/rôles qui peuvent consulter la tâche en mode lecture seule

Process User Task Users and Roles

Ce panneau de configuration vous permet d'attribuer des tâches à des utilisateurs, rôles ou observateurs spécifiques, avec prise en charge de l'affectation dynamique à l'aide de variables de processus.

Configuration de l'Interface
  • Interface : Sélectionner une interface web (UI) pour l'exécution de la tâche
  • Écran : Choisir un écran spécifique au sein de l'interface sélectionnée
Process User Task Interface

La configuration de l'interface lie la tâche à une interface web et un écran spécifiques, déterminant le formulaire avec lequel les utilisateurs interagissent lors de l'achèvement de la tâche.

Priorité de la Tâche
  • Échéance dans : Définir la date d'échéance de la tâche en minutes
  • Priorité : Définir le niveau de priorité de la tâche
    • Très Basse, Basse, Moyenne, Haute, Très Haute
  • Description : Texte de description de la tâche
  • Masquer dans le Panier de Tâches : Option pour masquer la tâche de la vue du panier de tâches
Process User Task Priority

Les paramètres de priorité de la tâche vous permettent de définir des dates d'échéance, des niveaux de priorité, des descriptions et des options de visibilité pour gérer l'urgence et l'organisation des tâches.

Paramètres de Notification
  • Envoyer un email de notification : Activer/désactiver les notifications par email
  • Fournisseur : Choisir le fournisseur d'email (par défaut : fournisseur Softyflow)
  • Sujet du Mail : Ligne de sujet de l'email (prend en charge les variables)
  • Modèle de Mail : Éditeur visuel de modèle d'email
  • Paramètres Avancés :
    • Envoyer le mail UAT à SF_initiator : Envoyer des emails de test à l'initiateur du processus
    • De : Email de l'expéditeur personnalisé
    • Cc : Destinataires en copie carbone
    • Répondre à : Adresses de réponse
    • Pièces jointes : Pièces jointes de fichier depuis les fichiers du projet
Process User Task Notification

Les paramètres de notification activent les alertes email automatiques pour les affectations de tâches, avec des modèles personnalisables, des fournisseurs et des options avancées pour les destinataires et les pièces jointes.

1.3 Tâche d'Envoi (Tâche de Mail)

Type d'Élément : bpmn:SendTask

L'élément Tâche d'Envoi automatise la livraison d'emails pendant l'exécution du processus, envoyant des notifications ou des informations sans nécessiter d'interaction humaine.

Process Send Task

Options de Configuration

Destinataires
  • Aux Utilisateurs : Destinataires email (utilisateurs)
  • Aux Rôles : Destinataires email (rôles/groupes)
Process Send Task Users And Roles

Ce panneau configure les destinataires email pour les tâches d'envoi, prenant en charge à la fois les adresses email utilisateur directes et les affectations de groupe basées sur les rôles.

Configuration du Mail
  • Fournisseur : Fournisseur de service email
  • Sujet du Mail : Sujet de l'email (prend en charge les variables comme {{ taskId }})
  • Modèle de Mail : Éditeur visuel du corps de l'email
  • Paramètres Avancés : Identiques aux paramètres de notification de Tâche Utilisateur
Process Send Task Mail Configuration

Le panneau de configuration de mail vous permet de définir le sujet de l'email et de composer le corps du message en utilisant des variables de processus pour un contenu dynamique.

Modèle de Mail

Process Send Task Mail Template

L'éditeur visuel de modèle d'email fournit une interface glisser-déposer pour concevoir des mises en page d'email professionnelles avec du contenu dynamique et des options de formatage.

1.4 Sous-Processus

Type d'Élément : bpmn:SubProcess

Les Sous-Processus permettent d'intégrer et d'exécuter d'autres processus au sein du processus actuel.

Sub Process

L'élément Sous-Processus vous permet d'intégrer et d'exécuter d'autres processus au sein du flux de travail actuel, permettant la modularité et la réutilisabilité des processus.

Options de Configuration

  • Sous-Processus : Sélectionner le processus à exécuter
  • Multi-Instance Parallèle : Activer l'exécution parallèle de plusieurs instances
  • Tableau Parallèle : Variable contenant les valeurs de tableau pour l'exécution multi-instance
    • Chaque valeur de tableau démarre une nouvelle instance de sous-processus
Sub Process Configuration

Ce panneau de configuration vous permet de sélectionner le processus à exécuter en tant que sous-processus et de configurer l'exécution multi-instance parallèle pour le traitement de tableaux de données.

2. Composants de Porte

Les Portes contrôlent la divergence et la convergence des flux de processus en fonction de conditions définies.

2.1 Porte Exclusive (XOR)

Les Portes Exclusives créent des points de décision dans le flux de processus où un seul chemin peut être pris en fonction de conditions.

  • Utilisée pour modéliser des décisions basées sur des conditions.
  • Un seul chemin sortant est sélectionné (mutuellement exclusif).
Process Exclusive Gateway

Les Portes Exclusives créent des points de décision où un seul chemin sortant est sélectionné en fonction d'expressions conditionnelles, orientant le flux de travail vers la branche appropriée.

Porte Parallèle

  • Utilisée pour diviser le processus en plusieurs chemins parallèles.
  • Peut également joindre plusieurs chemins entrants en un seul.
Process Parallel Gateway

Les Portes Parallèles permettent l'exécution simultanée de plusieurs chemins de flux de travail, permettant aux tâches de s'exécuter de manière concurrente et de les synchroniser lorsque tous les chemins sont terminés.

3. Composants d'Événement

3.1 Événements de Limite

Type d'Élément : bpmn:BoundaryEvent

Les Événements de Limite sont attachés aux activités et peuvent interrompre ou s'exécuter en parallèle de l'activité principale.

Événements Minuteur

Définition d'Événement : bpmn:TimerEventDefinition

Minuteur Interruptif (Unique)
  • Démarrer dans : Temps d'attente avant déclenchement (en minutes)
  • Prend en charge les délais basés sur des variables : {{ delay }}
  • Interrompt l'activité principale lorsqu'il est déclenché
Minuteur Non-Interruptif (Récurrent)
  • Chaque : Intervalle récurrent (en minutes)
  • S'exécute périodiquement sans interrompre l'activité principale
  • Continue jusqu'à ce que l'activité principale soit terminée
Process Timer Events

Les événements minuteur permettent l'automatisation de flux de travail basée sur le temps, déclenchant des actions après des délais spécifiés ou à intervalles récurrents, avec prise en charge du comportement interruptif et non-interruptif.

Événements d'Erreur

Définition d'Événement : bpmn:ErrorEventDefinition

  • Capture les erreurs de l'activité attachée
  • Fournit des mécanismes de gestion et de récupération d'erreur
  • Peut définir une logique de gestion spécifique aux erreurs
Process Error Events

Les événements d'erreur fournissent des mécanismes de gestion d'erreur en capturant les exceptions des activités et en redirigeant le flux de travail vers les chemins de récupération d'erreur.

3.2 Événements de Début

Type d'Élément : bpmn:StartEvent

Les Événements de Début définissent où les instances de processus commencent leur exécution.

Process Start Events

Les Événements de Début définissent les points d'entrée pour les instances de processus, marquant où l'exécution du flux de travail commence et initialisant le processus avec les variables de départ. Ils ne peuvent être déclenchés que par un seul utilisateur qui initie l'exécution du processus.

3.3 Événements de Fin

Type d'Élément : bpmn:EndEvent

Les Événements de Fin marquent les points d'achèvement des instances de processus, finalisant l'exécution du flux de travail et stockant l'état final des variables de processus.

Process End Events

4. Composants de Flux

4.1 Flux de Séquence

Type d'Élément : bpmn:SequenceFlow

Les Flux de Séquence connectent les éléments de processus et définissent l'ordre d'exécution.

Options de Configuration

  • Flux Conditionnels : Ajouter des conditions JavaScript pour contrôler le flux
  • Flux par Défaut : Chemins de repli lorsqu'aucune condition n'est remplie
  • Accès aux variables pour l'évaluation des conditions
Process Sequence Flow

Les flux de séquence connectent les éléments de processus et définissent l'ordre d'exécution, avec prise en charge des expressions conditionnelles pour contrôler quels chemins sont pris lors de l'exécution du flux de travail.

5. Variables Entrée/Sortie

Disponibles pour les Tâches Vides, les Tâches Utilisateur, les Tâches d'Envoi et les Sous-Processus.

Les Variables E/S définissent les valeurs évaluées avant (Entrée) ou après (Sortie) l'exécution de la tâche.

Paramètres d'Entrée

  • Traiter les données avant l'exécution de la tâche
  • Transformer les données externes pour la consommation de la tâche
  • Configurer des variables spécifiques à la tâche

Paramètres de Sortie

  • Traiter les données après l'achèvement de la tâche
  • Transformer les résultats de la tâche pour la consommation du processus
  • Mettre à jour les variables de processus

Types de Variables

Scripts

  • Type : script
  • Langage : JavaScript
  • Exécution : Exécution côté serveur
  • Cas d'Utilisation : Manipulation de données complexe, calculs, appels API
Process Input/Output Variables Scripts

Les variables entrée/sortie basées sur des scripts permettent une manipulation de données complexe en utilisant JavaScript, avec une exécution côté serveur pour les calculs, les appels API et le traitement de la logique métier.

Expressions

  • Type : expression
  • Langage : Expressions JavaScript
  • Exécution : Affectations et transformations de valeurs simples
  • Cas d'Utilisation : Mappage de variables, calculs simples
Process Input/Output Variables Expressions

Les variables basées sur des expressions fournissent des affectations et transformations de valeurs simples en utilisant des expressions JavaScript, idéales pour le mappage de variables et les calculs simples.

Actions

  • Type : action
  • Basé sur l'UI : Constructeur de fonction visuel
  • Capacités : Composants UI, opérations de base de données, gestion de fichiers
  • Valeur de Retour : Données de retour configurables
Process Input/Output Variables Actions

Les variables basées sur des actions fournissent un constructeur de fonction visuel pour les opérations de base de données, la gestion de fichiers et les composants UI, permettant des flux de travail complexes sans écrire de code.

6. Fonctionnalités Avancées

6.1 Référence des Variables Système

Les variables système suivantes sont automatiquement disponibles dans tous les contextes de processus :

VariableTypeDescriptionDisponible Dans
SF_initiatorObjectInformations utilisateur de l'initiateur du processus (email, nom, id)Toutes les tâches et scripts
SF_latestValidatorObjectUtilisateur ayant terminé la tâche la plus récenteToutes les tâches et scripts
SF_modeStringMode d'exécution : "test", "uat" ou "prod"Tous les contextes
SF_versionStringIdentifiant de version du processusTous les contextes
instanceIdStringIdentifiant unique de l'instance de processusTous les contextes
projectIdStringIdentifiant du projet actuelTous les contextes
nextTaskIdStringIdentifiant de la prochaine tâche à exécuterFlux de processus
SF_loop_variablesAnyÉlément de tableau actuel dans l'exécution multi-instanceSous-processus multi-instance uniquement
SF_loop_indexNumberIndex d'itération actuel (base 0)Sous-processus multi-instance uniquement
SF_sub_process_dataObjectDonnées retournées de l'exécution du sous-processusProcessus parent après sous-processus
SF_sub_process_resArrayTableau de résultats des instances de sous-processus parallèlesProcessus parent après multi-instance
SF_last_activity_nameStringNom de la dernière activité exécutéeTous les contextes
SF_involved_usersArrayTous les utilisateurs ayant participé au processusTous les contextes
SF_involved_validatorsArrayTous les utilisateurs ayant validé des tâchesTous les contextes
SF_involved_rolesArrayTous les rôles affectés aux tâchesTous les contextes
SF_observerArrayRôles observateurs pour le processusTous les contextes
SF_priorityStringNiveau de priorité actuel du processusTous les contextes
SF_descriptionStringTexte de description du processusTous les contextes

Exemples d'Utilisation :

// Accéder à l'email de l'initiateur
let requesterEmail = SF_initiator.email;

// Vérifier le mode d'exécution
if (SF_mode === "prod") {
// Logique réservée à la production
}

// Accéder aux données de boucle en multi-instance
let currentItem = SF_loop_variables;
let itemIndex = SF_loop_index;

6.2 Interpolation de Variables

  • Syntaxe : {{ variableName }}
  • Pris en charge dans : Sujets d'email, modèles, affectations, conditions
  • Évaluation dynamique pendant l'exécution

6.3 Exécution Multi-Instance

Multi-Instance Parallèle

  • Exécuter plusieurs instances de sous-processus simultanément
  • Création d'instances basée sur des tableaux
  • Portées de variables indépendantes par instance

7. Bonnes Pratiques

Cette section consolide les bonnes pratiques issues de l'ensemble de la suite de documentation des processus.

7.1 Conception de Processus

  • Commencer Simple : Commencer avec des flux de base avant d'ajouter de la complexité
  • Utiliser des Noms Descriptifs : Tous les éléments doivent avoir des noms clairs et compréhensibles pour l'entreprise
  • Conception Modulaire : Diviser les processus complexes en sous-processus
  • Planifier la Gestion des Erreurs : Définir des chemins d'erreur pour les opérations critiques
  • Documenter Votre Processus : Ajouter des descriptions et commentaires pour les futurs mainteneurs

7.2 Gestion des Variables

  • Nommage Cohérent : Utiliser le camelCase et des noms descriptifs
  • Éviter les Préfixes Système : Ne pas commencer les variables par SF_
  • Documenter les Scripts Complexes : Ajouter des commentaires expliquant la logique métier
  • Tester Avant le Déploiement : Valider tous les scripts en mode test
  • Minimiser la Portée : Garder l'utilisation des variables aussi locale que possible

7.3 Transformation de Données (Entrée/Sortie)

  • Choisir le Bon Type :
    • Expressions pour les valeurs simples
    • Scripts pour la logique complexe
    • Actions pour les opérations de base de données
  • Performance : Minimiser les appels API externes dans les chemins critiques
  • Gestion des Erreurs : Toujours utiliser try-catch dans les scripts complexes
  • Validation de Type : S'assurer que les types de données correspondent aux attentes

7.4 Configuration Email

  • Tester les Modèles : Toujours tester en mode UAT d'abord
  • Utiliser les Variables : Créer du contenu dynamique et personnalisé
  • Sélection du Fournisseur : Configurer les fournisseurs appropriés par environnement
  • Conformité : Inclure des options de désinscription lorsque requis

7.5 Utilisation des Sous-Processus

  • Interfaces Claires : Documenter les variables entrée/sortie attendues
  • Gestion des Erreurs : Implémenter la gestion des erreurs dans le parent et le sous-processus
  • Performance : Surveiller les limites d'exécution parallèle
  • Tests : Tester les sous-processus indépendamment avant l'intégration

7.6 Mesures et Reporting

  • Noms Significatifs : Utiliser des étiquettes de mesures compréhensibles pour l'entreprise
  • Nommage Cohérent : Suivre les conventions dans tous les processus
  • Types Appropriés : Faire correspondre les types de mesures aux types de données
  • Gérer les Valeurs Nulles : Utiliser la logique conditionnelle pour les données manquantes
  • Tester les Expressions : Valider avec divers scénarios

7.7 Sécurité

  • Activer reCAPTCHA : Pour les tâches publiques afin d'empêcher le spam
  • Valider les Entrées : Toujours valider les entrées utilisateur dans les scripts
  • Accès Basé sur les Rôles : Utiliser les affectations de rôles appropriées
  • Sécuriser les Identifiants : Ne jamais coder en dur les clés API ou mots de passe
  • Journalisation d'Audit : Activer la journalisation pour les opérations sensibles

7.8 Optimisation des Performances

  • Limiter les Tâches Parallèles : Éviter l'épuisement des ressources
  • Optimiser les Requêtes : Utiliser des champs indexés dans les requêtes de base de données
  • Mettre en Cache Si Possible : Stocker les données fréquemment consultées
  • Surveiller l'Exécution : Suivre les temps d'exécution des sous-processus et des tâches
  • Définir des Timeouts Appropriés : Configurer des valeurs de timeout réalistes

7.9 Tests et Déploiement

  • Mode Test d'Abord : Toujours tester dans l'environnement de test
  • Déploiement Progressif : Test → UAT → Production
  • Contrôle de Version : Suivre les changements de version des processus
  • Sauvegarde Avant les Changements : Sauvegarder la version actuelle avant les mises à jour majeures
  • Surveiller Après le Déploiement : Surveiller les erreurs en production

7.10 Maintenance

  • Revues Régulières : Réviser et optimiser périodiquement les processus
  • Mettre à Jour la Documentation : Maintenir les descriptions de processus à jour
  • Nettoyer l'Inutilisé : Supprimer les processus et variables obsolètes
  • Surveiller les Performances : Suivre les métriques et optimiser les goulets d'étranglement
  • Retour Utilisateur : Intégrer les suggestions et problèmes des utilisateurs

Ce guide complet couvre tous les composants BPMN disponibles dans Softyflow. Chaque composant peut être combiné pour créer des solutions d'automatisation de flux de travail sophistiquées répondant aux besoins de votre entreprise.