[Moodle 2.5] Requête pour suivre les modifications des cours

[Moodle 2.5] Requête pour suivre les modifications des cours

par Patrick Lemaire,
Nombre de réponses : 0
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

J'avais rapidement élaboré une requête afin de suivre les modifications apportées aux cours d'une catégorie sur la plateforme. Je vous la livre "en l'état" clin d’œil Entendons nous bien, il s'agit d'une requête SQL qui liste toutes (enfin je crois) les modifications apportées aux cours d'une catégorie et sous-catégories en dépouillant les logs de Moodle.

On doit surement pouvoir en tirer un meilleur parti en combinant cette requête avec un script PHP (envoi de mail,...) mais pour le moment, c'est déjà ça.

SELECT TO_CHAR(TO_TIMESTAMP(time), 'DD/MM/YYYY HH24:MI:SS')
 "date-heure", u.firstname "Prénom", u.lastname "Nom", ip "Adresse IP",
c.fullname "Nom complet du cours", module, action,
concat('http://mon.moodle.fr/course/view.php?id=',c.id) "Lien vers le cours", info "Complément"
  FROM mdl_log l
INNER JOIN mdl_course c on c.id=l.course
INNER JOIN mdl_user u on u.id=l.userid
where course in (SELECT id
FROM
    mdl_course c
WHERE
 c.category IN (SELECT
            cc.id
        FROM
            mdl_course_categories cc
        WHERE
/*
 * Choix de la catégorie
 * ici /1 représente la catégorie 'Divers' ('Miscellanous')
 */
            cc.path LIKE '/1/%' or cc.path LIKE '/1')
            )
and (action like 'add' or action like 'add mod' or action like 'update mod')

/*
 * Date à partir de laquelle établir la liste
 * le format sera '10/04/2014 06:00' pour définir le 10 avril 2014 à 6h
 */
and to_timestamp(time) >  to_timestamp('10/04/2014 06:00', 'DD/MM/YYYY HH24:MI')
order by time DESC;

 Il faut adapter l'adresse de votre serveur.

Attention c'est du PostgreSQL !!! Il faut adapter pour du MySQL.

La sortie donnera le nom/prénom de la personne ayant procédé à la modification (ou ajout) ainsi que le nom complet du cours et un lien vers celui-ci. D'autres informations sont laissées en complément car ils aident à comprendre la nature de la modification en fonction du type de ressource ou d'activité. Parfois, les lignes sont doublées car le journal de Moodle inscrit 2 événements pour certaines actions notamment lors d'un ajout (il compte un ajout et une modification). C'est pas joli-joli mais j'ai pas trouvé mieux.

On peut imaginer, par la suite, un script qui enverrait des alertes aux responsables pédagogiques si un cours est modifié dans la catégorie qui les concernent... Ou justement une notification aux étudiants sachant que nos enseignants oublient de mentionner systématiquement les modifications apportés à leur cours. Là, par contre, il faudrait affiner la requête pour ne pas envoyer n'importe quoi.

Des remarques, des questions,... N'hésitez pas !

A bientôt,
Patrick

Moyenne des évaluations  -