Bonjour à tous !
Nous avons trouvé le problème !
Cela venait du plugin Wooclap que nous avions installé...ci-dessous le détails de nos échanges :
Le problème se passe dans le fichier suivant: mod/wooclap/classes/observer.php
La fonction user_loggedin est appelé et fait une redirection pour authentifier l'
utilisateur sur wooclap a chaque
login utilisateur.
1. Tous les
utilisateurs passent par cette fonction et non pas ceux qui sont sur les
cours utilisant l'
activité. Ça me paraît un peu lourd comme process
2. La redirection ne prend pas en
compte l'URL actuelle. Bref, ça redirige toujours sur la
page d'accueil si l'on n’a pas configuré la variable SESSION->wantsurl (ce qui se passe dans notre cas)
SOLUTION :
Notamment dans le fichier mod/wooclap/classes/observer.php, nous avons effectué le changement suivant
```
public static function user_loggedin(\core\event\user_loggedin $event) {
global $CFG, $SESSION;
if (isset($SESSION->wooclap_callback)
&& isset($SESSION->wooclap_courseid)
&& isset($SESSION->wooclap_cmid)) {
try {
wooclap_redirect_auth($event->userid);
} catch (Exception $e) {
throw new moodle_exception($e->getMessage());
}
} else {
if (isset($SESSION->wooclap_wantsurl)) {
$url = $SESSION->wooclap_wantsurl;
unset($SESSION->wooclap_wantsurl);
redirect($url);
}
}
// Otherwise: do nothing and let the default behaviour play out.
}
```
Nous vérifions désormais si les variables wooclap_callback/wooclap_courseid/wooclap_cmid ou wooclap_wantsurl ont une valeur dans $SESSION, et sinon nous ne faisons rien. Il ne devrait donc plus y avoir de redirection pour les cours ouverts.
Dernière version du plugin Moodle de Wooclap
La nouvelle version (2019060702) contient les changements suivants :
1) Lors de la création d'une
activité Wooclap, il est maintenant possible de partir d'un événement Wooclap existant pour créer son activité dans Moodle. Il s'agit de l'option "Dupliquer un événement Wooclap" dans l'interface de création de l'activité. Ceci permettra aux professeurs de facilement ré-utiliser le contenu d'un événement Wooclap (par exemple pour faire une autre session).
2) Accès assistant : les éditeurs d'un cours Moodle peuvent maintenant accéder à l'édition du contenu de l'activité Wooclap.
3) Gestion du
rôle étudiant : si le professeur change son
rôle en "
étudiant", il sera redirigé vers l'interface de participation lorsqu'il clique sur l'activité Wooclap dans Moodle.
4) Pour
valider les paramètres de configuration, nous avons rajouté une
indication visuelle suivant si les paramètres sont corrects ou non. De manière générale, nous avons rajouté plus de
validation des paramètres lors de la configuration.
5) Dans le
carnet de notes, le nom des
activités Wooclap est maintenant correctement affiché (avant, il était indiqué "Wooclap" pour toutes les
activités).
6) Le plugin fonctionne maintenant correctement pour les instances Moodle configurées avec PostgreSQL comme base de données.
7) L'observateur "course_module_viewed" vérifié maintenant correctement qu'il s'agit d'un
module de type "wooclap".