29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Configuration / Workflow : modérer les commentaires





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Workflow : modérer les commentaires

Date de publication: le mercredi 12 décembre 2007 à 00h34
Dernière modification: par Pascal BOYER le lundi 17 décembre 2007 à 23h21
« Article précédent: eZ publish : crontab et runcronjobs.php
» Article suivant: Workflow : configurer un multiplexeur pour lancer un workflow à partir d'un workflow

Workflow : comment modérer les commentaires à priori

Le présent article explique comment mettre en place un système de modération à priori des commentaires que peuvent laisser les visiteurs au bas des articles de votre site.

Dès lors qu'un tel mécanisme de modération est en place, les commentaires rédigés par les visiteurs ne sont publiés qu'après avoir été approuvés par au moins l'une des personnes auxquelles vous aurez attribuer le droit d'approbation.

Pour accéder à l'interface de gestion des workflow (flux de travail), cliquez, dans l'interface d'administration de eZ Publish, sur l'onglet Administration puis sur le lien Workflows dans le menu de gauche:

Fig. 1: Nom du seul groupe de workflow présent par défaut

Bien qu'il soit tout à fait possible de créer un groupe de workflow, nous nous en tiendrons, pour la suite de l'article, à l'utilisation du groupe par défaut.
Donc, cliquez à présent sur le lien Standard:

Fig. 2: Affichage de la liste (ici vide) des workflow définis dans le groupe Standard.

A partir de la vue ci-dessus vous pouvez créer un nouveau workflow en cliquant sur le bouton Nouveau processus de workflow:

Fig. 3: Première étape de création d'un worflow: le nommer

...que l'on nomme comme indiqué ci-dessus (ou tout autrement, le nom du workflow étant totalement libre).

:
Pour la modération des commentaires, l' événement doit être celui proposé par défaut, à savoir de type Approuver (voir fig. 3 )

Cliquez ensuite sur le bouton Ajouter un événement (à droite du champ Événement / Approuver):

Fig. 4: Définition des paramètres du workflow

A partir du cadre ci-dessus, vous définissez, en cliquant sur le bouton Ajouter des utilisateurs, les utilisateurs qui auront le droit d'approuver les commentaires. Le cadre qui s'affiche alors présente la liste des Groupes d'utilisateurs du système. Pour accéder aux utilisateurs il est nécessaire de cliquer sur le nom d'un de ces groupes puis de sélectionner un ou plusieurs utilisateurs du groupe.
Il est possible de répéter à plusieurs reprises cette opération d'ajout d'utilisateurs.

Vous pouvez également sélectionner des groupes d'utilisateurs plutôt que chaque utilisateur d'un même groupe.

Enfin, il vous est possible de définir des groupes d'utilisateurs dont les commentaires n'auront pas besoin d'être modérés et qui seront donc directement publiés.

Validez tous vos paramètres/choix avec le bouton OK:

Fig. 5: Le nouveau workflow apparaît à présent dans la liste des workflow du groupe Standard

Workflow : créer un déclencheur (trigger)

Cliquez sur le lien Déclencheurs dans le menu de gauche puis sélectionnez le workflow que vous venez de créer:

Fig. 6: Le nouveau workflow est associé au déclencheur content/publish/before/

Workflow : approuver ou rejeter les commentaires

A partir de maintenant, plus aucun commentaire ne sera publié sans avoir été préalablement approuvé par l'un des approbateurs que vous avez définis.

Lorsqu'un commentaire est écrit puis envoyé par un visiteur, il devient accessible depuis l'interface d'administration.
Pour le visualiser, cliquez sur l'onglet Mon compte puis sur le lien Collaboration dans le menu gauche:

Fig. 7: Liste des commentaires en attente d'approbation

Pour approuver ou rejeter un commentaire, cliquez, dans le cadre Liste des éléments, soit sur le petit icône qui précède le lien soit sur le lien lui-même.

Dans les deux cas ceci s'affiche:

Fig. 8: Interface de gestion d'un élément en attente

Les deux boutons Approuver et Rejeter sont d'un usage qui se passe de toute explication.

Quant au bouton Ajouter un commentaire il ne doit être utilisé qu'après avoir effectivement ajouté un commentaire dans le cadre du même nom placé juste au dessus du bouton.
La rédaction du commentaire validée avec ce bouton, un nouveau cadre est affiché au bas de la page:

Fig. 9: Cadre présentant le commentaire ajouté par l'approbateur

Le fait d'ajouter un commentaire n'approuve ni ne rejette le commentaire du visiteur. Vous devez donc valider l'une de ces deux options après avoir ajouté un commentaire.

Approuver ou rejeter un commentaire renvoie à la figure 7. Cliquer sur le bouton Inbox permet d'afficher ceci:

Fig. 10: Liste des commentaires approuvés et rejetés

:
Les lignes présentant le chiffre 1 entre parenthèses indiquent que l'objet contient 1 commentaire ajouté par un approbateur

:
Contrairement à ce que peut laisser penser la présence des croix rouge, il est impossible de supprimer quoique ce soit dans ce cadre.
Cela fait des années que régulièrement des personnes demandent que les éléments contenus par le cadre Inbox puissent être supprimés mais pour l'instant, rien n'y fait...

Les commentaires ajoutés par les approbateurs ne sont pas affichés sur le site public. Seul le texte rédigé par le visiteur est publié.

Pour publier les commentaires approuvés

La publication des commentaires approuvés ne sera effective qu'après que le script workflow.php a été exécuté.

:
Par défaut, ce script n'est pas exécuté par le script runcronjobs.php

Vous devez donc créer, dans les siteaccess publics concernés, une surcharge du fichier de configuration settings/ cronjob.ini
Voici ce que doit contenir cette surcharge:

vi settings/siteaccess/plain_site/cronjob.ini.append.php

1 <?php /* #?ini charset="utf-8"?
  2
  3 [CronjobSettings]
  4 Scripts[]=workflow.php
  5
  6 [CronjobPart-workflow]
  7 Scripts[]=workflow.php
  8
  9 */ ?>

Pour lancer manuellement le script workflow.php, videz les caches une fois puis lancez cette commande:

./runcronjobs.php

...
Running cronjobs/workflow.php
Checking for workflow processes
Status list
(2): 1
(5): 1
 
2 out of 2 processes was finished

Et du coup les commentaires approuvés sont publiés sur le site.

On voit donc qu'il est nécessaire d'exécuter assez périodiquement le script workflow.php. Et pour cela cron est tout désigné (voir cet article pour plus d'informations sur l'utilisation et la configuration de cron et de runcronjobs.php).

Exécuter uniquement le script workflow.php

La partie importante du fichier de surcharge cronjob.ini.append.php est la section [CronjobPart-workflow] car c'est elle qui permet d'exécuter le script runcronjobs.php avec cette option:

./runcronjobs.php workflow

Running cronjob part 'workflow'
 Running cronjobs/workflow.php
 Checking for workflow processes
 Status list
 (2): 1
 (5): 1
 
 2 out of 2 processes was finished

Si la section [CronjobPart-workflow] est inexistante, alors la sortie de la commande est:

./runcronjobs.php workflow

Running cronjob part 'workflow'
Notice: No scripts found for execution.

Donc, créez dans le répertoire /root un petit script contenant ceci:

#!/bin/bash
cd /usr/local/www;
/usr/bin/php runcronjobs.php workflow;
exit 0

...puis ajoutez une ligne à la table cron de root:

crontab -u root -e

0-59/15 * * * *        /root/ezpWorkflow

De la sorte le script workflow.php sera exécuté tous les quarts d'heure et les commentaires publiés au plus 15 minutes après avoir été approuvés.

Commentaires

  • @EZPUBLISH DEVELOPPEUR

    Bonjour,

    Le système de gestion des commentaires de Luxpopuli n'est pas l'extension «eZ Comments».

    J'ai testé cette extension sur un site (pas la version 1.2), mais elle pose (posait ?) un certain nombre de problèmes, à commencer par le fait que les commentaires ne sont pas des objets (ils sont ajoutés à l'objet «article», par exemple) et ne sont donc pas gérables en tant que tel, ce qui est gênant.

    Mais d'après ce que tu dis, les choses ont l'air d'évoluer dans le bon sens.

    Cordialement,

    test d'approbation

    Je passe souvent ici quand je suis en manque de solution(merci).
    Il y a un petit plus qui pourrait t' intéresser sur le système de commentaire.
    Depuis la sortie de la version 1.2, l'auteur a rajouté un onglet dans la partie admin.
    C'est une vue avec la liste des commentaires avec checkbox , pour pouvoir en retirer...
    C'est sur github, les fichiers sont ceux a partir d'avril.

    @EZPUBLISH DEVELOPPEUR

    Et non ! pas de système de modération sur mon site ;-)
    Ça casse un peu la réactivité.

    Par contre, à chaque message je reçois un mail de notification ce qui me permet de répondre relativement vite.

    Cordialement

    ajout de commentaire

    un test pour voir si tu as mis un system d'approbation pour ezcomments

    @ RICOZOR

    Bonjour,

    Supposons que chaque modérateur ait son propre compte, donc une adresse e-mail différente de celle des autres modérateurs.

    Une fois connecté à l'interface d'admin, chacun des modérateurs peut aller dans l'onglet «Dashboard/Tableau de bord» et configurer ses notifications après avoir cliqué sur le lien «Mes paramètres de notification».

    Il me semble que cela devrait fonctionner.

    notfication par email

    Bonjour,

    je voudrai savoir si il est possible d'envoyer une notification par email aux modérateurs à chaque nouveau commentaire

    merci

    Moderation sur tous les objets !!!

    Bonjour,
    j'etais tres content de trouver cet article.
    J'ai essayé de mettre en place ce workflow comme indiqué mais apparemment , tous les objets crees de n'importe quelle classe necessite apparement d'etre modéré.
    Et effectivement , je ne vois pas à quel moment on peut filtrer sur le type de classes à moderer , ou sur l'emplacement à modérer ....