Issuu on Google+

Les workflows avec Alfresco

Michael Harlaut

Michael.harlaut@alfresco.com

1


SOMMAIRE Généralités..............................................................................................................................3 Principe d’intégration..............................................................................................................4 Fonctionnalités........................................................................................................................5 Outil de modélisation..............................................................................................................7 Captures d’écran.....................................................................................................................8 Ressources.............................................................................................................................18

2


Généralités Afin d’assurer la mise en œuvre de tâches de workflow, Alfresco intègre le moteur jBPM qui apporte une solution complète permettant la gestion de processus métier complets. Ce moteur étant parfaitement intégré dans la solution, il est possible, depuis toute interface Alfresco, de lancer des processus, d’accéder à l’ensemble des informations contenues dans l’entrepôt (en lecture et/ou écriture) ou encore s’intégrer au système de messagerie pour délivrer des notifications. Il est aussi possible de piloter le workflow depuis des API diverses, y compris l’API Javascript, permettant ainsi ce pilotage depuis des applications tierces.

3


Principe d’intégration

Possibilités de l’architecture •

Extension du langage de définition jBPM pour ajouter : o L’invocation d’actions Alfresco o L’invocation de script Javascript Alfresco o L’accès à tous les objets Alfresco depuis un processus/une tâche. o Invocation distante des processus

La définition d’un processus décrit les états (étapes) et les transitions d’un workflow. Une étape peut être aussi bien basée sur une action humaine que système. Les étapes de type « système » peuvent effectuer tout type d’opération sur l’entrepôt Alfresco. Toutes sont décrites et implémentées dans la définition du processus. Alfresco intègre le moteur de processus JBoss jBPM qui lui-même fournit le langage de définition jPDL. jPDL est utilisable avec les formats suivants : 1. JBoss jBPM process archive (fichier .par) 2. JBoss jBPM jPDL xml document (fichier .xml) La définition de nouveaux processus peut s’effectuer à chaud, par simple copie de fichiers sur le serveur Alfresco.

4


Modèle de tâche Le modèle de tâche permet la description de toutes les actions humaines sur le workflow. Chaque description de tâche consiste en : - Nom et titre - Propriété et associations (Les informations attachées à la tâche) La description est utilisée pour générer les interfaces utilisateur permettant de visualiser et gérer la tâche. Alfresco fournit un "Dictionnaire de Données " pour décrire les types d’objets à stocker, visualiser et éditer. Ce mécanisme est aussi utilisé pour décrire les tâches de workflow. Configuration du client web La configuration du client web permet de spécifier la présentation des tâches aux différents utilisateurs. Cette configuration permet : -

De spécifier quelles propriétés sont affichées. De contrôler quelles propriétés sont en lecture seule, ou bien obligatoires. De déterminer comment sont présentées les informations (rendu) Une boite de dialogue spécifique peut être utilisée pour chaque type de tâche.

L’ensemble des messages, propriétés, noms de tâche, choix, … peuvent être personnalisés, et faire l’objet d’une traduction si nécessaire.

Fonctionnalités Le moteur jBPM fournit nativement un très grand nombre de fonctionnalités, toutes disponibles directement dans Alfresco. On peut citer : -

Les circuits série et parallèle La gestion des groupes utilisateurs La notion de pot commun (tâches partagées) La notion de délégation de tâche La notion de timer (minuterie) La notion d’escalade …

Un reporting est possible en utilisant les tableaux de bord (API REST) ou bien en utilisant un outil tiers dédié à cette tâche, et qui ira parcourir les définitions et les états stockées en base de données.

5


Fonctionnalités pour utilisateur final Lancer un workflow (depuis une liste de workflows prédéfinis) -

Entrer les paramètres du workflow (date limite, priorité, commentaire, …) Attacher des ressources (documents) au workflow Assigner à des participants (Utilisateurs Alfresco) o Gestion de groupes

-

Liste des workflows assignés à un utilisateur Liste des tâches finalisées. Liste des tâches assignées à une équipe Visualiser et gérer les tâches.

-

Éditer les informations associées à la tâche Ajouter un commentaire Visualiser l’historique du workflow (traçabilité des actions) Lancer des actions sur les documents associés (verrouillage, édition, suppression) Ajouter des documents Déléguer à un autre utilisateur Maquer la tâche comme effectuée S’attribuer une tâche partagée. Retourner une tâche attribuée au pot commun Annuler un workflow

-

Déterminer si une ressource (document) est rattachée à un workflow.

Quelques exemples fournis avec Alfresco - Revue et approbation - Assignation d’une tâche

6


Outil de modélisation L’outil de modélisation « jBPM Process Designer » de JBoss est un éditeur graphique utilisé pour développer les workflows. Il est possible de basculer entre les vues « diagramme » et « XML » afin de gérer l’ensemble du processus de développement, y compris l’ajout d’appels à des fonctionnalités Alfresco.

Cet outil permet aussi le déploiement direct des définitions de processus sur le serveur Alfresco, ou encore la sauvegarde sous forme d’archives. Console d’administration La console d’administration des workflows est un outil mis à disposition des développeurs de processus pour interagir avec les workflows : debug, diagnostic, lancement, arrêt, déploiement, suppression, …

7


Captures d’écran Lancement de workflow depuis l’interface Explorer

8


Lancement de workflow depuis l’interface Share

9


Tableau de bord (liste des tâches) depuis l’interface Explorer (interface documentaire)

Tableau de bord (liste des tâches) dans une portlet JSR-168 (interface portail) et dans l’interface Share (interface collaborative)

10


Liste des détails d’une action

11


Zoom sur une tâche terminée, avec historique des actions et informations associées

12


Exemple d’application Alfresco utilisant massivement les workflows Pour un grand groupe industriel Français, utilisation d’Alfresco pour gérer l’ensemble des processus « ressources humaines » pour 12 000 employés, cela incluant : - les workflows associés - le stockage de l’ensemble des informations associées - la liaison avec un ERP pour la gestion des habilitations - une interface personnalisée permettant le suivi des différentes procédures, ainsi que la création de rapports complets. … en utilisant uniquement les outils fournis par Alfresco (y compris pour l’interface spécifique).

Liste des processus en cours

13


Lancement d’un nouveau processus

14


Historique d’un processus

15


GĂŠnĂŠration de rapports sur les processus

16


Ressources Wiki Alfresco - Présentation générale : http://wiki.alfresco.com/wiki/Workflow - Définir des workflows : http://wiki.alfresco.com/wiki/WorkflowAdministration - L’API Javascript Alfresco : http://wiki.alfresco.com/wiki/JavaScript_API Documentation jBPM - http://docs.jboss.com/jbpm/v3.2/userguide/html/

17


Alfresco share