Objectif

L'objectif de cet exercice est d'ajouter des points d'extensions au projet Bonita, avec un filtre d'acteur et un connecteur email.

  • Le filtre d'acteur Manager de l'initiateur du processus sera configurĂ© pour chercher dynamiquement dans l'organisation le manager du demandeur.
  • Le connecteur email permettra de notifier le demandeur du rĂ©sultat de sa demande.

⚠ En fonction de votre configuration rĂ©seau, de votre firewall ou de la configuration de sĂ©curitĂ© de votre serveur d'email, il est possible que vous ne soyez pas autorisĂ© Ă  envoyer un email depuis Bonita.
Afin de s'abstraire de ces contraintes techniques, cet exercice sera effectué avec un logiciel simulant un serveur d'email (FakeSMTP).

Instructions simples

  1. Dupliquer le diagramme de processus de l'exercice précédent pour créer une version 3.1.0.
  2. Ajouter un filtre d'acteur de type Manager de l'initiateur sur la lane Approbateur
  3. Ajouter un connecteur email sur les tĂąches Notifier approbation et Notifier refus
  • TĂ©lĂ©charger et dĂ©marrer le serveur FakeSMTP.

  • Le code ci-dessous sera utilisĂ© pour rĂ©cupĂ©rer l'adresse email du demandeur dans le connecteur :

    BonitaUsers.getProcessInstanceInitiatorProfessionalContactInfo(apiAccessor,processInstanceId).email
    

Instructions pas-Ă -pas

Dupliquer le diagramme de processus de l'exercice précédent pour créer une version 3.1.0.

Ajouter un filtre d'acteur de type Manager de l'initiateur sur la lane Approbateur

  1. SĂ©lectionner la lane Approbateur

  2. Dans la zone de propriétés, onglet Général, cliquer sur le sous-onglet Acteurs

  3. Dans Filtre de l'acteur, cliquer sur le bouton DĂ©finir...

  4. Une fenĂȘtre modale propose d'installer un filtre Ă  partir de la Bonita Marketplace filtre_extension

  5. Dans la maketplace, cliquer sur le filtre Initiator manager puis sur Installer filtre_marketplace La définition du filtre fait désormais partie de votre projet.

  6. De retour sur la fenĂȘtre modale de configuration du connecteur dans la lane, sĂ©lectionner la dĂ©finition du filtre Manager de l'initiateur du processus

  7. Cliquer sur Suivant

  8. Dans Nom, saisir "managerInitiateur"

  9. Cliquer sur Terminer

Ajouter un connecteur email sur les tĂąches Notifier approbation et Notifier refus

  1. Télécharger et démarrer le serveur FakeSMTP.
  • DĂ©compresser l'archive fakeSMTP-latest.zip
  • Lancer FakeSMTP en double cliquant sur le fichier JAR ou en lançant la commande suivante : java -jar fakeSMTP-2.0.jar
  • Une fois l'interface graphique de FakeSMTP affichĂ©e, configurer le port d'Ă©coute sur 2525 et cliquer sur le bouton DĂ©marrer le serveur
  1. Ouvrez le diagramme de processus version 3.1.0

  2. SĂ©lectionner la tĂąche Notifier approbation

  3. Dans la zone de propriétés, cliquer sur l'onglet Exécution. Le sous-onglet Connecteurs en entrée est sélectionné.

  4. Cliquer sur Ajouter... Une fenĂȘtre modale propose d'installer un connecteur Ă  partir de la Bonita Marketplace

    avertissement connecteur

Note : Les extensions peuvent ĂȘtre rĂ©cupĂ©rĂ©es depuis la Bonita MarketPlace ou depuis des rĂ©pertoires distants, privĂ©s ou publics. Si vous souhaitez aller plus loin, le dĂ©veloppement et la gestion de ces extensions sont abordĂ©s dans un prochain exercice.

  1. Cliquer sur OK pour accéder à la MarketPlace et cliquer sur le connecteur Email dans la liste.
    MarketPlace

  2. Cliquer sur Installer

  3. Dans la fenĂȘtre de configuration du connecteur pour la tĂąche Notifier approbation, sĂ©lectionner la dĂ©finition de connecteur de type Courriel

  4. Cliquer sur le bouton Suivant

  5. Dans Nom, spécifier "envoiEmailApprobation"

  6. Cliquer sur Suivant

  7. Remplir les paramĂštres de connexion suivants :

Propriété Valeur
HĂŽte SMTP localhost
Port SMTP 2525 (le port spécifié dans FakeSMTP)
SSL (dans la section Sécurité) décoché
  1. Cliquer sur Suivant

  2. Dans le champ expéditeur De, entrer "rh@acme.com" comme adresse email

  3. Dans le champ destinataire A, utiliser l'icon crayon pour Ă©diter l'expression

  4. Dans Nom, saisir "recupEmailDemandeur()"

  5. Dans l'Ă©diteur de script, menu ModĂšles de code/Utilisateurs Bonita, cliquer sur processInitiatorUser

  6. Glisser et déposer le modÚle dans l'éditeur. Un modÚle de script est automatiquement généré.

récuperer l'initiateur du processus

  1. Pour pouvoir retourner l'adresse email de l'initiateur du processus, depuis le menu ModÚles de code/Utilisateurs Bonita, glisser et déposer userProfessionalContact entre .getStartedBy() et }catch(UserNotFoundException e){
  • Remplacer userId par processInitiator.id
  • Ajouter un "." et sĂ©lectionner email : string dans la liste dĂ©roulante
  • On peut remplacer def proContactData = par return

récuperer l'email de l'initiateur

  • Cliquer sur le bouton OK pour fermer l'Ă©diteur de script
  • Cliquer sur Suivant
  • Dans Sujet, spĂ©cifier "Demande de congĂ©s approuvĂ©e"
  • Cliquer sur Terminer
  1. Répéter l'étape précédente en nommant le connecteur "envoiEmailRefus" et en spécifiant "Demande de congés refusée" comme sujet

Alternativement, vous pouvez utiliser la fonctionnalité qui permet de copier un connecteur configuré sur une tùche vers une autre tùche.

Tester le projet

  1. Lancer le processus à partir du studio (l'utilisateur Walter Bates sera utilisé)

  2. Soumettre le formulaire de Saisie demande congés. Les acteurs étant correctement configurés, la tùche Valider demande de congés n'est pas proposée à Walter Bates.

  3. Dans la barre de menu en haut Ă  gauche, cliquer sur Walter Bates, puis sur DĂ©connexion :

déconnexion du portail

  1. Se connecter avec l'utilisateur "helen.kelly" et le mot de passe "bpm"

  2. Le filtre d'acteur s'est bien exécuté, la tùche Valider demande de congés est disponible dans la liste des tùches à faire

  3. Exécuter deux fois le processus pour tester les différents chemins et s'assurer que les emails sont bien envoyés et interceptés par FakeSMTP

Exercice suivant : création d'une page application puis de son descripteur