mardi 28 août 2007

Comment créer un process avec BONITA

Ce document est tiré de l'analyse de la présentation flash "Bonita_workflow_demo" telechargeable sur http://wiki.bonita.objectweb.org/xwiki/bin/download/XWiki/MySkin/Approval_workflow_Demo_7Dec06_AM.htm

Aprés avoir correctement installer les composants de bonita, et avoir lancer Bonita

1 - S'authentifier en tant qu'utilisateur administrateur /exmpl bsoa/bsoa



2 - Lancer l'editeur de processe


"Concepteur -> Editeur des workflow (Proed)"

3 - Clicker sur l'icone "Nouveau Projet" ou bien aller dans "Fichier -> Nouveau"



4 - Saisir le nom du projet "Approval_workflow"

5 - Faire un click droit sur la fenêtre à droite
et clicker ensuite sur "propriétés"

6 - Aller dans l'onglet "Participants"
clicker sur le bouton "Ajouter"

- Cocher "Nouveau participant"
- Cocher "role" dans le choix "type:"
- Saisir le nom "Adiministrateur"
- Choisir la façon avec la quelle le rôle sera resolver au lancement (Bonita mapper)

//Sur cette partie on ne retrouve pas encore les

Nous avons 3 types de mappage de rôles
LDAP : pour prendre les membres des groupes sur LDAP
Properties : pour prendre l'initiateur du projet
Custom : pour définir des classes propre pour le mappage des rôles

Dans cet exemple on a choisit le type "custom"
et "herro.mapper.AdministrateurMapper"
il faut savoir que dans la présentation Flash de Bonita le nom "herro.mapper.AdministrateurMapper"
etait déjà présent et que dans notre exemple nous l'avons saisit à la main
ainsi il faut d'abord deployer le mapper; voir l'article http://coper23.blogspot.com/2007/08/comment-ajouter-deployer-des-hooks-et.html

- Clicker sur "valider"

7 - Aller dans l'onglet "Attributs"


a - Clicker sur le boutton "Ajouter"
- Saisir "User_name"
b - Clicker sur le boutton "Ajouter"
- Saisir "Email_adress"
c - Clicker sur le boutton "Ajouter"
- Saisir "Phone_number"
d - Clicker sur le boutton "Ajouter"
- Saisir "Available_application"
- Choisir le type "Enumération Statique"
- Clicker sur "Ajouter" , taper "appli1"
- Clicker sur "Ajouter" , taper "appli2"
- Clicker sur "Ajouter" , taper "appli3"
- Dans "valeur initial" mettre "appli1"
- Clicker sur le bouton "valider"
e - Editer XForm
- Clicker sur "valider"
- Choisir le repetroire dans le quel sera sauvgarder le process
- Double clicker sur le champ "user_name"
- Mettre "Nom utilisateur" dans le champs "label fr"
- Mettre "Required" à "Yes"
- Clicker sur "edit constraint" pour voir les contraintes
- Selectioner le champ "Available_application"
Changer le type du champ en cliquant sur une petite icone dans la barre de menu "MULTIPLE SELECTION"
- Clicker avec le bouton droit sur le nom du formulaire pour modifier ces propriétés
- Mettre "workflow approbation" dans le champ "label fr"
- Clicker sur "Fichier -> Enregistrer"
- Clicker sur "OK"

8 - Ajouter une nouvelle "activité"
- clicker sur un rectagle arrondi blue dans la barre du milieu
- placer le rectangle dans la fenêtre du milieu
- saisir "Approval dans la zone nom"
- dans le champs performer choisir "Administrtateur"
- Aller dans l'onglet "Attributs"
- clicker sur le bouton "Ajouter"
- saisir "Decision" dans le champ "Nom"
- choisir "Enumeration static" pour Type
- clicker sur le bouton "ajouter"
- Saisir "Reject"
- clicker sur le bouton "ajouter"
- Saisir "Grant"
- choisir "Reject" comme "Valeur initial"
- clicker sur valider
- clicker avec le bouton droit sur le rectangle de l'activité
- choisir "propriété"
- aller dans l'onglet attributs
- clicker sur "Edit XForms"
- Selectioner le champ "Available_application"
Changer le type du champ en cliquant sur une petite icone dans la barre de menu "MULTIPLE SELECTION"
- Enregistrer les modifications

9 - Ajouter une nouvelle "activité"
- clicker sur un rectagle arrondi blue dans la barre du milieu
- placer le rectangle dans la fenêtre du milieu
- saisir "Rejection" dans la zone "Nom"
- clicker sur l'onglet "Hooks"
- clicker sur "Ajouter"
- selectionner "on Terminate (rollback in failed)"
- selectionner le HOOK
"hero.hook.MailReject"

10 - Ajouter une nouvelle "activité"


- clicker sur un rectangle arrondi blue dans la barre du milieu
- placer le rectangle dans la fenêtre du milieu
- saisir "Acceptance" dans la zone "Nom"
- clicker sur l'onglet "Hooks"
- selectionner "on Terminate (rollback in failed)"
- selectionner le HOOK
"hero.hook.MailAccept"

11 - Ajouter une nouvelle "Transition"
- clicker sur la fleche noire dans la barre du milieu
- lier la flèche du rectangle "Approval" vers le rectangle "Rejection" dans la fenêtre du milieu
- lier la flèche du rectangle "Approval" vers le rectangle "Acceptance" dans la fenêtre du milieu
- clicker sur la fleche blanche (le curseur)dans la barre du milieu

- double clicker sur la transition (Approval-Rejection)
- Dans le tableau condition
- choisir l'attibuts "Decision" et dans le champ valeur choisir "Reject"

- double clicker sur la transition (Approval-Acceptance)
- Dans le tableau condition
- choisir l'attibuts "Decision" et dans le champ valeur choisir "Grant"

- Enregistrer les modiffications

12 - Importation du process

- Aller dans bonita
- clicker sur le menu "Concepteur -> Charger XPDL"
- clicker sur "parcourir" et choisir le fichier du process
- clicker sur le bouton "Importer"

13 - Tester le process



- Pour demarrer une instance il faut
- se loger en tant qu'utilisateur
- aller dans le menu "Utilisateur -> A Démarrer -> Approval_workflow"

Et enfin votre process est prêt à l'utilisation

Libellés :