Trouver le dernier log d'un rôle Enseignant ?

Trouver le dernier log d'un rôle Enseignant ?

par Olivier Valentin,
Nombre de réponses : 3
Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
Bonjour !

Ce matin, je fais chauffer mes neurones sur une réflexion autour d'un dev dans le cadre de mon plugin Course Manager... et j'aimerais beaucoup avoir votre avis !

Pour rendre cet outil plus efficace, je suis en train de créer une série de rapports qui seront uniquement disponibles pour les admins. Et parmi les outils proposés, je suis en train de créer une page qui va recenser les cours dans lesquels aucun compte avec un rôle Enseignant n'est inscrit. Jusque là, il n'y a aucun problème, la récupération de cette liste via une requête SQL est très facile.

Cette liste sera affichée dans un tableau. Toutefois, afin de donner la meilleure information possible,  j'aurais voulu récupérer d'autres informations propres à chaque cours, et notamment savoir quand est-ce qu'un utilisateur avec le rôle Enseignant avait fait quelque chose pour la dernière fois, et de qui il s'agit. C'est là que les choses se compliquent...

En effet, je ne vois pas sur quoi me baser de véritablement fiable pour récupérer ces informations. J'avais immédiatement pensé à la table des logs. Je m'étais dit par exemple qu'en prenant le dernier log "created" ou "deleted" (les créations et suppressions sont généralement réservées aux enseignants !), cela pourrait marcher. Mais je me trompais : un étudiant qui ajoute, modifie ou supprime un devoir aura des logs de ces types CRUD !

Bref, dès le moment où un enseignant a été désinscrit de son cours, je ne trouve aucun moyen sûr de récupérer des informations qui m'indiqueraient qui était le dernier enseignant du cours et ce qu'il y a éventuellement fait pour récupérer une date.
De votre côté, auriez-vous une idée lumineuse ??

Merci de votre aide ! sourire
Olivier
Moyenne des évaluations  -
En réponse à Olivier Valentin

Re: Trouver le dernier log d'un rôle Enseignant ?

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles
Bonjour Olivier,

Idée : en utilisant la colonne edulevel avec la valeur 1 qui, je pense, correspond à "Enseignant".

Par exemple avec un cours d’identifiant 6 :

SELECT *
FROM `mdl_logstore_standard_log`
WHERE `edulevel` = '1' AND `courseid` = '6' AND `origin` = 'web'


Christian

Moyenne des évaluations Utile (1)
En réponse à Christian Bocquet

Re: Trouver le dernier log d'un rôle Enseignant ?

par Olivier Valentin,
Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
Bonjour Christian,
merci pour cette réponse ! Je pense que la piste devrait être bonne, d'autant qu'à présent, le plugin propose la possibilité de définir le rôle Enseignant dans le plugin.
Je mettrai tout de même un avertissement, car j'imagine qu'il peut toujours y avoir des cas un peu tordus qui rendront l'information moins pertinente... Le but est vraiment de donner un aperçu global !
Merci encore ! sourire
Olivier
En réponse à Olivier Valentin

Re: Trouver le dernier log d'un rôle Enseignant ?

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
Bonjour,
tu peux aussi imaginer ajouter un plugin logstore qui stoquerait ce genre d'information action d'un enseignant dans une table du genre
id, idcours,userid,...
ceci en te servant d'évènements moodle sur le cours
ici il y a un exemple de logstore qui capte les modifications dans un cours et les stoque dans une table
https://github.com/cperves/moodle-logstore_last_updated_course_module
là j'ai les connexions à un cours
https://github.com/cperves/moodle-logstore_last_viewed_course_module
du coup qui capte les inscriptions/désisncriptions à un cours avec un ou des rôles spécifiés et les stoque dans une table, avec ou non mise à jour de la ligne (pour une lecture plus rapide par exemple)

Céline
Moyenne des évaluations Utile (1)