sas 01 et approfondissement des workflow
By Mihamina Rakotomandimby on Thursday 10 November 2011, 11:34 - formation - Permalink
J'ai demandé aux élèves du sas de formation de
me reproduire le workflow suivantavec Drupal:
Il s'agit d'un Workflow par défaut sur Plone, je l'ai chois pour
l'exercice.
Les élèves ont le droit d'utiliser Drupal 6 ou Drupal 7 selon leur convenence.
Qu'est-ce qu'il a fallu créer dans votre installation de Drupal pour arriver à quelquechose qui se rapproche de ce Workflow?
- Quels users?
- Quels roles?
- Quel états?
- Quoi d'autre?
Décrivez votre expérience:
- Y arrivez-vous? (presque, pas du tout,)
- Pourquoi? Grace à quoi?
- Comment avez-vous géré la contrainte d'interdire le passage direct de "public" à "private"
- Sur quel problème avez-vous "perdu" du temps?
Répondez à ces questions dans vos commentaires.
Comments
Pour pouvoir faire les workflows dans Drupal 7, il a fallu installer Maestro (un module remplaçant les modules workflow de Drupal 5 et 6). Ce module propose de créer des workflows afin de manipuler mes flux des utilisateurs sur votre site Drupal. On vient de découvrir il y a tout juste une heure et on va l'exploiter un peu plus cet après midi. Pour Drupal 6 et 5, il y a le module "workflow" ou encore "action" mais on a préféré cherché le module de Drupal 7 ce qui a fallu ce petit retard. (^_^)
On vient de voir le workflow qu' on nous a demandé de créer , on voulait reproduire un à peu près pareil mais avec 3 rôles d'utilisateurs: AUTHOR,APPROBER,PUBLISHER avec les droits et permissions spécifiques pour chaque utilisateur sur Drupal 7, mais le module pour le workflow n'existe pas encore avec Drupal7,alors on s'est mis à installer drupal6.2 pour l'essai et on commencera dans l'aprés-midi la création des users et workflow proprement dit dans drupal6.
Aujourd'hui ,
on a commencé à détailler le workflow dans un CMS,on a ainsi essayé d'en reproduire un avec Drupal7 mais,le module pour le workflow n'existe pas encore,ce que nous voulons créer sont les rôles author, approber, et publisher pour réaliser le workflow.On a décidé de travailler avec Drupal 6 et peut-être ajouter d'autres utilisateurs qui coincident aux utilisateurs dans le workflow de notre formateur dans l'après-midi.
Pour le moment nous sommes entrain de chercher une solution pour installer les modules qui permet d’effectuer d' workflow sur Drupal 7, on a déjà installer le module workflow sur Drupal 6 mais il y a quelques difficultés et on a décidé d'utiliser quand même Maestro sur Drupal 7 . Maintenant on est en phase d'apprentissage du module Maestro.
Le travail collaboratif(workflow) est définit comme étant une enchainement de processus qui va de la création à un état final. Avec, Drupal, le workflow n'est pas activé par défaut, il faut installer un module qui s'appèle workflow pour la D6 et avec un peu de recherche,et on a trouvé Maestro pour la D7. L'installation de ce module (Maestro) nécessite l'installation et l'activation de quelques modules notons : Date Popup, User reference, Features... On arrivé a activé le module, on est en phase de manipulation en suivant des tutoriels..
Tout d'abord, on a utilisé Drupal 7 et après une longue moment de recherche, on a finalement trouver maestro un module qui permet de faire du workflow avec Drupal. C'est trés important car la puissance d'un CMS se réside sur le fait de pouvoir faire un travail collaboratif. Pour le moment, on étudie le fonctionnement de maestro pour pouvoir exploiter ses fonctionnalités.
On a essayé de parcourir les workflow de la version antérieur de Drupal 7 puisqu'on utilise actuellement cette version, au début on a installé le module workflow et après installation une erreur se produite qui indique l'incompatibilité du module. Après plusieurs recherches on fini par trouvé qu'il existe une module appelé "maestro" pour faire de workflow avec Drupal version 7.x, on a activé ce module en suivant des documentations en ligne sur Drupal.
On maîtrise à 70% et on a réussit à faire le workflow de l'exercice Maestro est un module assez intéressant, il offre des différents "tasks" comme comme les tasks interactives, des contenus seulement, des conditions ... Avec ce module, on peut dire que Drupal est vraiment un CMS très très intéressantes. J'ai appris à utilisé maestro, crée des rôles dans drupal, attribuer des rôles et gérer les publications déduit du workflow, gérer les articles en attente de confirmation ... (^_^)
A propos de workflow, on a un petit problème avec Drupal sur l’accès a la base, le temps exécution d'une requête est trop lente a cause du ressource mémoire . On a essayer de résoudre ce problème de la gestion des ressources en analysant le log Mysql et sa configuration et on fini par trouvé une solution pour permettre Mysql et PHP d’exécuté une requête plus rapidement pour qu'on puisse continué nos travail sur workflow.
On a réussi à manipuler le module Maestro de Drupal 7 aujourd'hui. Le processus a suivre est de créer d'abord les utilisateurs avec leurs droits spécifiques, ou bien créer des rôles avec des permissions spécifiques (
autor,editor, publisher) et leurs droits spécifiques (créer un article, éditer l'article, publier l'article et quelques droits sur les adminitrations des menus, blocks et contenu). Ainsi, on crée un "Content Type Task " pour l'auteur, un "Interactive Function Task" pour l'éditeur pour qu'il puisse valider ou non l'article,et de même pour le publisher. Pour les états, on a créé des "If Task" pour valider ou non une action. Chaque tâche qu'on a créé, a été assigné à chaque utilisateur spécifié. Maestro offre toutes ses disponibilités pour créer un workflow.
Lors de l'installation des modules, on a eu quelques problèmes car on manquait de ressource. Alors lors de la lecture et l'écriture dans la base de données, Drupal met beaucoup de temps, dépasse le temps maximal d’exécution pour chaque requête et la plupart du temps ça échoue. On a augmenté le temps d'execution (max_execution_time dans php.ini) mais cela n'a rien changé. Ensuite, on a ajouté la ligne : query_cache_size qui est une cache pour les requêtes dans my.ini et ça a évolué! Concernant le "workflow", on a réussi à installer "maestro" et on va maintenant se plonger dans les tutoriels pour pouvoir le manipuler convenablement.
J'ai approfondi mes connaissances du CMS Drupal srutout pour la modélisation du workflow .j'ai effectué un exercice d'application du workflow pour une publishingtask dans laquelle on a crée 3 rôles: "AUTHORS" avec la permission de création,modification et de suppression de contenu;"APPROBER" avec comme permission ,la revision d'un contenu et l'acceptation ou le refus avant la publication; "PUBLISHER" qui décide si le contenu doit être publié ou non.Durant l'exercice, j'ai rencontré un problème lors de l'installation du module MAESTRO qui est le moteur de Workfolw dans Drupal7,Ce problème est lié au cron qui est important pour l'installation du module mais j'ai pu résoudre ce problème en configurant la tache crone et le module triggers, après celà,j'ai pu effectuer mon exercice en s'appuyant sur un tutoriel video.
Aujourd'hui, on est basé sur ce qu'on entend sur workflow de Drupal.C'est un sujet à part entière de la gestion de contenu, et en l'étendant, qui s'applique à la gestion des processus d'affaire. Et ce qui concerne le workflow, nous avons essayé d'installer le module maestro workflow et ça bien fait.On est arrivé jusqu'à la la création de workflow concernant l'article.
Cet après-midi après s'être documentée sur le net on a pu résoudre le problème d'absence du module workflow dans Drupal7 ,grâce à le découverte de MAESTRO conçu pour le workflow dans drupal7,des problèmes sont survenus durant l'installation du Maestro,en faite c'etait au niveau du task cron qu'il fallait configurer et qu'il fallait également activer les triggers pour les modules puis reconfigurer les modules .Avec les rôles déja crées, j'ai définit le workflow en attribuant les tâches pour chaque rôle dans le console d'administration du workflow avec les contraintes :
author:édition modification et suppression de contenu puis sousmission à l'Approber vient ensuite le contrôle de l'approber en cas de rejet de sa part retour à l'author pour une modification,en cas d'acceptation, soumission du contenu au publisher, qui à son tour décide si lapublication doit avoir lieu ou qu'il faut encore que l'approber revise le contenu.
Pour cet après-midi on a travail sur le module Maestro en partant de la création de l'Workflow correspondant à la diagramme sur l'image ci-dessus jusqu'au phase de test. Au cours de cet apprentissage on a découvrit beaucoup des nouvelles connaissances tels que la création des rôles pour gérer les privilèges des utilisateurs, la gestion de contenu proprement dit, pour qu'il soit être privé ou public et l'attribution des actions pour les acteurs.
Dans Drupal, tout est module. Les fonctionnalités de bases peuvent être étendues relativement facilement, ou même complètement surchargées. Aujourd’hui on a découvrit des divers fonctionnalités sur ces modules de drupal , comme example le module " Masquarade " qui permet à un utilisateur avec les permissions de changer d'utilisateur, le module " Taxonomie Manager " pour gérer les Taxonomies. Concernant la simulation sur l’Workflow, je pourrais dire qu’on a atteint la 85% de l’objectif, Ce qu’il nous reste à faire et de trouver des solutions pour gérer les événements, les actions et les états .
Aujourd’hui, je connais bien la base de Drupal. Il s'inspire sur l'utilisation des modules, sans eux Drupal ne fonctionne pas correctement.Donc je sais maintenant comment installer les modules? et comment il réagit sur le coeur (core ) de Drupal? Mais la plupart des modules a de problème de compatibilité,il faut le savoir. Il y a aussi beaucoup d’autres fonctionnalités qui doivent être savoir comme les actions, les rôles, les règles, … On voit alors que Drupal est très vaste.
On a continué encore sur la manipulation de la module "maestro" du Drupal 7, vu que cette version de Drupal contient peu de tutoriel et de module (par rapport a la version anterieur de Drupal) car elle est encore en version non stable. On a rencontré un problème sur ce module sur sa façon de sauvegardé les donnés de chaque "Template" il y a toujours une erreur AJAX et dépassement de "Timeout" signalé par le serveur WAMP. Malgré ces erreurs, j'ai appris beaucoup de choses sur ce module "maestro". J'ai appris comment faire du workflow avec ce module en manipulant la fonction Batch Tasks,l'utilisation d'iteration If Tasks, Interactives functions Tasks ,... et aussi j'ai découvert qu'on peut associé une workflow avec une "Cron" ou tache planifié, Rules, Actions et avec d'autres modules créé par le développeur du site.
Aujourd'hui on a essayé de tester le workflow crée ,on a installé le module masquerade pour pouvoir booster d'un utilisateur à un autre pour chaque rôle,on n'a pas réussi à voir les taches dans le Task Consol de chaque user , et on a coché dans permission l'accès au Task Consol, le problème avec Author est ainsi résolu, mais pour les autres ça n'affichait rien, on a essayé d'éditer les taches dans le workflow pour voir s'il y eu des erreurs quelque part dans workflow,et on a obtenu à chaque tentative une erreur d'ajax avec action failed ,et on s'est bloquée là,firebug nous a indiqué des erreurs dans les codes de maestro:"maestroTaskInterfaceinteractivefunction"dans les classes .maestro_task_interface.class.php et maestro_tasks.class.php ,les balises php n'etaient pas fermé dans ces 2 codes et on les a fermé, mais l'erreur persistait encore et firebug n'a signalé aucun erreur et l'histoire demeure non-resolue, peut être qu'une réinstallation de drupal serait la seule solution
workflow fonctionne comme un enchainement de processus ou de tâche. Avec Drupal 7, on a réussi a élaborer le graphe illustrant l'enchainement des tâches et en faire quelque manipulation. Mais le plus grand problème c'est que certains fonctionnalité de "maestro"ne sont pas exploité à fond(de plus il n'y a pas de tutoriel spécifique) et on arrive pas à un vrai workflow; il y a l'état de l'article qui n'est pas gérer convenablement ainsi que"batch function task", où on arrive pas à spécifier l'action à faire. De nombreux termes et fonctionnalités sont apparues comme la gestion des rôles, octroi de permission, actions, rules, triggers,... et on en enrichit mes connaissances sur le fonctionnement de Drupal!
aujourd'hui, après avoir crée le workflow on a assigné les roles AUTHOR, APPROBER et PUBLISHER à chacun de trois utilisateurs ,puis on a passé un test.j'ai rencontré un problème sur "task flow" et que j'ai l'esseyer de resoudre en reconfigurant la permission pour chaque role,et cela s'amarhe avec le l' AUTHOR mais aucune effet avec les deux autres roles. alors j'ai esseyer de retrouver d'autre solution et j'ai verifier le workflof si ce où le problème ou non; et là une autre erreur "an AJAx error occurrent the opération has failed" est encore apparu lorsque j'ai tenté d'éditer le workflow. on a esseyé de trouver de solution mais on arrive pas à resoudre ce problème. il y a aussi certains erreur qui sont apparu sur firebug dans le module maestro: dans certains classe la balise <?php ?> n'été pas fermé et les autres sont des eurreur js,mais on pu corrigé ces erreurs.
Aujourd'hui, on a essayé de voir plus claire le module "maestro" de Drupal 7, nous avons réussi à créer un worflow et qui marchait bien jusqu'au moment où on voulait créer un Batch Task avec une fonction spécifique. Mais, en générale, on a bien exploité le BackOffice de Drupal: les menu, les blocks, les rôles et les permissions des utilisateurs, les actions,le cron, les triggers, ainsi que la puissance de Drupal: "les modules". Drupal se base sur des modules qui lui permet d'avoir des fonctionnalités surprenantes. Ce serait bien encore abusive de dire que je maitrise Drupal 7, car la maitrise est l'effet vertueux de notre expérience....