Table des matières

Bloc Course Notification : Guide technique

Design architectural

Le bloc ajoute ou retire des tâches assimilables à des événements (et non des états). Il ne peut donc traiter un événement lié à une condition dont on ne connaît pas la date future de réalisation. Pour des événements liés à la date d'inscription de l'utilisateur, le bloc réagit sur les événements de modification de l'état de l'utilisateur pour reprogrammer les tâches d'émission associées aux événements à traiter. Pour des événements tels que l'inactivité, une tâche est provisionnée sur un accès au cours, et repoussée à chaque nouvelle entrée du cours.

Capacités

block/course_notification:addinstance

L'utilisateur avec cette capacité peut ajouter un bloc de notifications de cours

block/course_notification:benotified

L'utilisateur avec cette capacité est notifié par le bloc de notifications

block/course_notification:excludefromnotification

L'utilisateur avec cette capacité n'est pas notifié par le bloc de notifications

block/course_notification:setup

L'utilisateur avec cette capacité peut configurer les notification

Evénements et observateurs

Observateurs : Ce plugin observe l'événement “Course Completed” pour émettre le signal d'achèvement des objectifs pédagogiques.

Tâches

L'émission des notifications est traitée par une tâche programmée de moodle. Cette tâche est désactivée à par défaut à l'installation du plugin. Elle est réglée par défaut pour passer à chaque cron et détecter le plus souvent possible les passages par les “instants clefs” de notification pour tous les cours concernés. Il peut être utile de ralentir légèrement cette tâche pour protéger la performance du serveur, mais dans tous les cas, évitez de la faire tourner à une fréquence moindre qu'une fois toutes les 4 ou 6 heures.

Modèle de données

Ce plugin installe une table supplémentaire pour stocker l'état d'émission de chaque signal pour chaque participant de chaque cours qui est concerné par les notifications.

Script CLI de contrôle et rattrapage

Exemples de retour de script pour un cours ID 196:


Revenir à l'index du composant - Revenir à l'index des plugins - Revenir au catalogue