Groupeid Moodle non transmit à LabNbook
- Role : enseignant / étudiant
- Page(s) / Url(s) :
/api/v1/mission/<id_mission>/use
,/api/v1/mission/<id_mission>/update
,/report/enter/<id_team_config>
- Comportement actuel (si besoin) : Les groupes de Moodle ne sont pas transmit par le plugin à LabNbook
- Comportement attendu :
-
Spécification V3 : les groupes devaient être gérés de deux façon
- À la création / modification d'activité, le couple
courseid
etgroupid
et envoyé à LNB qui crée une classe pour le coupe correspondant - À l'arrivée d'un étudiant sur
/report/enter/<id_team_config>
Moodle transmet le couplecourseid
/groupid
de l'étudiant, au besoin, LabNbook crée une classe pour son groupe et duplique le team_config d'origine
- À la création / modification d'activité, le couple
- Implémentation réelle l'étape 1. ne transmet jamais de
groupid
, l'étape 2 n'est pas implémentée
-
Spécification V3 : les groupes devaient être gérés de deux façon
- Proposition technique :
- Transmettre un
groupeid
directement depuis l'activité est extrêmement compliquée : une activité n'a pas de groupe de manière intrinsèque: elle peut être restreinte à un groupe mais il s'agit d'une restriction (parmi d'autre) appliquée par Moodle. Il n'existe à priori pas d'API propre et claire pour récupèrer legroupeid
auquel serait restreint une activité par Moodle.
Je propose donc de ne pas traiter ce cas directement.
Concrètement, côté utilisateur cela voudrait dire assigner autant de fois la mission qu'il y a de groupe sur le même cours en restreignant à chaque fois à un groupe. Si un utilisateur tente ça il aura un message disantCette mission est déjà attribué à cette classe
Je propose donc de modifier ce message pour indiquer :Cette mission est déjà attribué dans ce cours, il n'est pas possible d'affecter plusieurs fois une mission à un cours même en activant des restrictions de groupe
- Ici c'est relativement simple, on peut passer le couple
courseid
etgroupid
a/report/enter/<id_team_config>
, il y a alors 3 cas :- Le couple n'est pas passé, on entre "normalement" dans le teamconfig
- Le couple et passé et correspond au
ext_code
de la classe du teamconfig, on entre dans le teamconfig - Le couple et passé et ne correspond pas au
ext_code
de la classe du teamconfig :- Il existe une classe avec l'
ext_code
cible et un teamconfig avec la même mission dans cette classe, on entre sur ce teamconfig - Il n'existe pas une telle classe, on la crée en dupliquant la classe d'origine, duplique le teamconfig dans cette classe puis entre sur le teamconfig nouvellement crée
- Il existe une classe avec l'
Cette solution implique donc des modifications minimes :
TODO
- Coté Moodle
-
Changer le message d'erreur de 1. -
Envoyer groupeid
etcourseid
au/report/enter/<id_team_config>
-
- Côté Labnbook
-
Gérer les cas du 2. -
Répercuter les changements de team_config via l'API sur tous les teamconfig enfants - Mettre à jour tests auto
-
Corriger test mission -
Ajouter test avec multiples groupes
-
-
Mettre à jour documentation
-