Submitted by acharrex on
Depuis quelques temps, je rencontre quelques soucis avec le module Workflow et plus spécifiquement avec ses droits d'accès.
Après avoir mis en place un flux de travail "standard" ("Brouillon" -> "En attente d'approbation" -> "Validé") ainsi que des notifications par mail permettant de prévenir un superviseur lorsqu'un document passe à l'état "En attente d'approbation", je suis tombé sur un gros problème.
En effet, lorsqu'un éditeur créé un document, il ne peut l'assigner qu'aux états "Brouillon" ou "En attente d'approbation". Du temps que le document en question se trouve dans un de ces deux états, un visiteur quelconque (= utilisateur anonyme) ne pourra pas le voir. Jusque là, cela me paraît logique.
Mais lors de l'édition d'un contenu déjà existant, le même fonctionnement agit et donc l'édition d'une page existante et son assignation au statut "En attente d'approbation" à pour conséquence de supprimer la page aux yeux d'un utilisateur anonyme (!)
Je me demandais donc si le module Workflow était capable de gérer plusieurs révisions d'un même document et d'afficher, le cas échéant, la version validée d'un document (ex. révision 1) qui peut également être sujet à l'approbation (ex. révision 2).
Cela me paraît tellement logique, que je ne comprends pas pourquoi ce module agit de cette façon...
Ca a été évoqué dans un
Permalien Soumis par davidm le 27 Avril, 2009 - 13:59
Ca a été évoqué dans un sujet récent, le module workflow ne gère pas séparémment plusieurs versions d'un même contenu, ce n'est pas comme ça que ça marche principalement parceque ce n'est pas comme ça que sont gérées les révisions d'un noeud dans Drupal (une révision n'est pas un duplicata d'un noeud avec l'ensemble des attributs d'un noeud notamment publié, droit d'accès...).
Par contre quand tu dis lorsqu'un éditeur créé un document, il ne peut l'assigner qu'aux états "Brouillon" ou "En attente d'approbation" ça c'est toi qui le défini dans ton workflow lorsque tu créé tes transitions (admin/build/workflow/edit/* ou * est l'ID de ton workflow, car tu peux en avoir plusieurs). Tu peux très bien donner la possiblité à un approbateur de passer directement à n'importe quel autre statut du workflow.
Enfin, petite note : lorsqu'on active le sous module Workflow Access il faut faire attention aux conflits avec d'autres module d'accès (content access, forum access... etc)
Salut, Merci beaucoup pour
Permalien Soumis par acharrex le 27 Avril, 2009 - 15:19
Salut,
Merci beaucoup pour ta réponse ;)
Oui, que j'en disais "lorsqu'un éditeur créé un document, il ne peut l'assigner qu'aux états Brouillon ou En attente d'approbation" cela est voulu. Je ne veux pas qu'un éditeur puisse publier un document non validé par le superviseur/réviseur.
Par contre, est-ce que tu connaitrais un autre module que "Workflow" permettant de remplir cette tâche ? Ou dois-je obligatoirement passer par une modification de ce dernier ? Est-ce que le module "Revision Moderation" permettrait de remplir ce rôle ?
Le problème, c'est que
Permalien Soumis par davidm le 27 Avril, 2009 - 15:38
Le problème, c'est que comme je le disai les révisions telles que gérées par le core de Drupal ne permettent pas de faire ce que tu veux (à savoir, chaque révision a l'ensembles des propriétés d'un noeud), ré-écrire le module workflow ne changera pas ça...
Au pire, pour faire ce que tu veux il faudrait associer une action dans ton workflow qui clone le document à chaque révision en définissant tel ou telle action de publication/dépublication mais ça risque d'être une gymnastique complexe et source d'erreur à plusieurs niveaux...
Effectivement le module revision moderation semble correspondre à ce que tu cherche mais pour D6 c'est une alpha...
Oui effectivement je cerne
Permalien Soumis par acharrex le 27 Avril, 2009 - 21:41
Oui effectivement je cerne un peu mieux le soucis et oui le module "Revision Moderation" réponds entièrement à ma demande, même s'il ne possède pas de notification par mail pré-configurée. Mais bon on ne peut pas tout avoir... :)