CHANGELOG.md 15.2 KB
Newer Older
Thomas Fradet's avatar
folder  
Thomas Fradet committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
# 08/01/2019

## Description des sections

La description des sections s'affiche si elle est renseignée même lorsqu'elle ne contient pas de balise HTML `<p>`. 

La description des sections s'affiche en mode édition de la même manière qu'en mode lecture, y compris avec la possibilité d'afficher / masquer la suite. 

Le lien pour afficher / masquer la suite est placé en dessous de la zone de description pour être plus visible et a des bords inférieurs arrondis pour ressembler à une petite "tirette". 

Le texte du lien pour afficher / masquer la suite lorsqu'elle est dépliée est remplacé de "Réduire" à "Réduire la description" pour en augmenter la largeur et donc cliquer dessus plus facilement pour replier. 

## Barre de progression

La barre de progression de l'étudiant sur la page de cours affiche un pourcentage de progression globale correct et précis à une décimale. 

Les ronds de couleur qui indiquent l'état d'achèvement des activité est modifiée pour prendre en compte les différents états d'achèvement possibles. Le orange n'est plus utilisé pour fonctionner avec les dates des sections. Etats et couleurs : 

- Pas fait : vert clair. 
- Fait (non noté) : vert foncé. 
- Fait et réussi (noté) : vert foncé. 
- Fait mais échoué (noté) : orange clair. 

Toute la barre de progression ne base ses informations que sur les activités qui ont un suivi d'achèvement. L'ancien système de suivi à paramétrer en parallèle du suivi d'achèvement n'est plus utilisé. 

La largeur des labels contenant le nom des sections est fixée à 300px afin que les ronds à droite soient toujours alignés (but esthétique). La largeur correspond à un nom de section de 5 mots environ. 

## Pourcentage de progression dans les entêtes de section

Le pourcentage de progression dans les entêtes de section est juste et ne peut pas afficher 99% quand tout est effectué. Il est calculé selon la même méthode que pour la barre de progression en haut de page. 

## Suivi (enseignant)

### Tableau de suivi (enseignant)

A présent, toutes les activités sous suivi d'achèvement apparaissent dans le tableau et seulement celles-ci. La sélection des activités à suivre n'existe plus car elle était un doublon du suivi d'achèvement et avait une faible plus-value. Pour qu'une activité apparaisse il faut activer le suivi d'achèvement. 

Les activités cachées mais disponibles s'affichent forcément dans la barre de progression tant qu'elles sont sous suivi d'achèvement. Sur le principe, toute activité pour laquelle on a jugé bon d'activer le suivi d'achèvement est bien censée apparaître dans les tableau de suivi de l'étudiant et de l'enseignant. 

Le tableau est modifié en conséquence du changement de toutes les données et de leurs formes. Les informations présentes restent identiques. 

Les intitulés de colonnes (nom des activités) sont placés en biais afin d'avoir plus de place pour afficher un grand nombre d'activité. 

Le tableau peut défiler en largeur et en hauteur. Les entêtes sont toujours visibles à l'écran. 

Le tableau permet de voir le nom d'une activité au survol de la souris d'une case. 

Les cases sont colorées selon l'état d'achèvement selon les mêmes règles que pour le graphique de progression de l'étudiant sur la page du cours : 

- Pas fait : vert clair. 
- Fait (non noté) : vert foncé. 
- Fait et réussi (noté) : vert foncé. 
- Fait mais échoué (noté) : orange clair. 

La performance est améliorée, notamment lors de l'affichage d'un seul groupe (au lieu de tous les étudiants). 

La sélection d'étudiants en vue d'envoyer un message est préservée en utilisant le filtre de section et le filtre de pourcentage d'achèvement, mais pas le filtre de groupe, ce qui n'aurait pas d'intérêt en principe de toutes façon. On peut donc appliquez différents filtres de section et de % d'achèvement en sélectionnant au fur et à mesure plusieurs étudiants puis leur envoyer un message. 

Le filtre sur le degré d'achèvement est plus précis. Il permet de sélectionner tous, = 100%, = 0%, < 25%, < 50%, < 100% et >= 50%, >= 25%, >= 0%. 

Le téléchargement du tableau est amélioré avec un pourcentage à deux décimales, des décimales localisées (virgule en français pour une meilleure ouverture du CSV sur les outils Microsoft) et un score différent en fonction du type d'achèvement pour plus d'information : 

- Pas fait : 0
- Fait (non noté) : 1
- Fait et réussi (noté) : 2
- Fait mais échoué (noté) : 0,5

Le tableau téléchargé contient les étudiants du groupe actuellement sélectionné et la section actuellement affichée. Il est possible de sélectionner tous les groupes et toutes les sections pour avoir un tableau complet. Ceci est indiqué via une aide sous le lien de téléchargement. Le filtre du pourcentage d'achèvement n'est pas appliqué. 

Les paramètres de filtre sont conservé au rechargement de la page et au changement de groupe. 

### Page du cours (étudiant)

Le score global de l'étudiant dans sa barre de progression est plus précis et ne devrait plus afficher 99% au lieu de 100% quand tout est complet ou autres problèmes similaires, tant que le nombre d'activité est inférieur à 1000. 

Le score détaillé de l'étudiant (barre de progression) est affiché plus large et aligné pour des raisons esthétiques et des bonne lecture des nombre de section. 

Le score détaillé de l'étudiant (barre de progression) et le score présent dans l'entête de chaque section comporte plus de sécurités quant à la présentation de chiffres erronés. L'ajout, suppression et modification des paramètres d'achèvement d'activité avant ou après achèvement est prise en compte. 

Le score présent dans l'entête de chaque section s'affiche dès que la section comporte des activités sous suivi d'achèvement, même si aucune n'est effectuée (score de 0%). 

# 12/02/19

## Entête du cours

Le style n'est plus inclus directement dans le PHP, mais placé dans le fichier styles.css global du plugin. 

## Entêtes de section

La taille des éléments de l'entête est modifiée pour qu'elle soit moins massive. 

Thomas Fradet's avatar
maj  
Thomas Fradet committed
92 93 94 95 96 97 98 99 100 101 102
Modification du label d'accès au suivi des étudiants lorsqu'un groupe a été sélectionné pour harmonier avec aucune sélection (suivi et suivi étudiants au profit de suivi étudiants). 

## Tableau de suivi

Si aucune donnée n'est disponible dans le tableau, alors un message l'indique au lieu de présenter un tableau vide. 

Sélectionner toute la liste ne sélectionne plus que les étudiants en effet affichés, au lieu de sélectionner également les étudiants qui n'y figurent pas à cause de l'application d'un filtre. Après avoir sélectionné tout, on ne peut pas changer de filtre et sélectionner tout pour le nouveau résultat du filtre appliqué, mais seulement désélectionner tout. Par exemple, il n'est pas possible de sélectionner tous < 25% puis tout > 75%. 

Lors de l'envoi d'un message à certains étudiants sélectionnés, le nombre d'étudiants concernés est affiché dans le titre. 

Lors de l'envoi d'un message à certains étudiants sélectionnés, si aucun destinataire n'a été sélectionné, un message l'indique et l'envoi est indisponible. Un bouton permet de revenir à la page précédente. 
Thomas Fradet's avatar
folder  
Thomas Fradet committed
103

Thomas Fradet's avatar
Thomas Fradet committed
104 105
Correction du fait que le filtre affichait >=0 au lieu de >0. 

Thomas Fradet's avatar
Thomas Fradet committed
106 107 108 109
# 23/05/2019

__MAJ en 3.7__

Thomas Fradet's avatar
Thomas Fradet committed
110
## __à tester__
Thomas Fradet's avatar
Thomas Fradet committed
111

Thomas Fradet's avatar
Thomas Fradet committed
112
### 2
Thomas Fradet's avatar
Thomas Fradet committed
113

Thomas Fradet's avatar
Thomas Fradet committed
114
Sur la page d'accueil du cours. 
Thomas Fradet's avatar
Thomas Fradet committed
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129

Warning: include(../../lib.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/moodle37/course/format/iena/entity/course_format_iena_cron_action.php on line 37

Warning: include(): Failed opening '../../lib.php' for inclusion (include_path='/Applications/MAMP/htdocs/moodle37/lib/pear:.:/Applications/MAMP/bin/php/php7.2.10/lib/php') in /Applications/MAMP/htdocs/moodle37/course/format/iena/entity/course_format_iena_cron_action.php on line 37

Warning: include(../../../../config.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/moodle37/course/format/iena/entity/course_format_iena_cron_action.php on line 38

Warning: include(): Failed opening '../../../../config.php' for inclusion (include_path='/Applications/MAMP/htdocs/moodle37/lib/pear:.:/Applications/MAMP/bin/php/php7.2.10/lib/php') in /Applications/MAMP/htdocs/moodle37/course/format/iena/entity/course_format_iena_cron_action.php on line 38

Les fichiers ne sont plus inclus car ils le sont dans course/view.php qui devrait se charger d'inclure à son tout le reste. 

[ ] tester si les crons fonctionnent toujours et si oui, classer le bug. 

## __Bugs résolus__

Thomas Fradet's avatar
Thomas Fradet committed
130 131 132
### Page principale du cours

#### 3
Thomas Fradet's avatar
Thomas Fradet committed
133 134 135 136 137 138 139 140 141 142 143

Clef numsection manquante sur l'objet cours. Suppression de l'appel à cette clef car dans le format de cours topic ils utilisent 0 pour ne pas recréer de sections. Question : à quoi ça sert ?

Test : créé un nouveau cours avec cette modification : OK
Test : changer le nombre de sections avec cette modification : OK

Avant : course_create_sections_if_missing($course, range(0, $course->numsections));
Après : course_create_sections_if_missing($course, 0);

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
144
#### 4
Thomas Fradet's avatar
Thomas Fradet committed
145 146 147 148 149 150 151

Typo numsections au lieu de $numsections dans une condition dont l'intérieur n'était pas utilisé. 

La condition elle-même est commentée et le $ est ajouté. 

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
152
#### 5
Thomas Fradet's avatar
Thomas Fradet committed
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169

Notice: Undefined offset: 0 in /Applications/MAMP/htdocs/moodle37/course/format/iena/renderer.php on line 788

Avant : $nameSection[$section] .= $this->section_title_without_link($thissection, $course);
Après : $nameSection[$section] = $this->section_title_without_link($thissection, $course);

[x] Solved. 

ET 

Notice: Undefined offset: 0 in /Applications/MAMP/htdocs/moodle37/course/format/iena/renderer.php on line 796

Avant : $introSection[$section] .= $this->section_header($thissection, $course, false, 0, true);
Après : $introSection[$section] = $this->section_header($thissection, $course, false, 0, true);

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
170
#### 6
Thomas Fradet's avatar
Thomas Fradet committed
171 172 173 174 175 176 177

Notice: Undefined property: stdClass::$showdefaultsectionname in /Applications/MAMP/htdocs/moodle37/course/format/iena/renderer.php on line 102

Commenté : sert à rien et la property n'existe pas. Pas présent dans le code de base du format topic. 

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
178
#### 7
Thomas Fradet's avatar
Thomas Fradet committed
179

Thomas Fradet's avatar
Thomas Fradet committed
180
Notice: Undefined property: stdClass::$sectionposition in /Applications/MAMP/htdocs/moodle37/course/format/iena/renderer.php on line 836
Thomas Fradet's avatar
Thomas Fradet committed
181

Thomas Fradet's avatar
Thomas Fradet committed
182 183 184 185 186 187
Property sectionposition non définie dans une condition qui de plus requiert isset d'une variable non instanciée (code commenté). Dans le test d'une condition pour echo justement cette variable non instanciée (=== NULL). 

La condition et l'echo qu'elle contient sont commentés. 

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
188
#### 8
Thomas Fradet's avatar
Thomas Fradet committed
189 190 191 192 193 194 195 196 197

Notice: Undefined variable: completion_total in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_course_header.php on line 13

Instantiation d'une propriété de la classe view_course_header d'après une variable n'existant pas en paramètre du constructeur. Cette propriété n'est plus utilisée (code commenté). 

La création de la propriété devenue inutile est commentée. 

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
198
#### 9
Thomas Fradet's avatar
Thomas Fradet committed
199 200 201 202 203 204 205

Notice: Undefined variable: USER in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_course_header.php on line 370

Ajout de la global $USER dans la méthode. 

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
206
#### 10
Thomas Fradet's avatar
Thomas Fradet committed
207 208 209 210 211 212 213

Notice: Undefined variable: view in /Applications/MAMP/htdocs/moodle37/course/format/iena/renderer.php on line 413

Instanciation de la variable $view = "";

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
214
#### 11 
Thomas Fradet's avatar
Thomas Fradet committed
215 216 217 218 219 220 221 222 223 224 225

Notice: Trying to get property 'presence' of non-object in /Applications/MAMP/htdocs/moodle37/course/format/iena/renderer.php on line 511

ET

Idem pour date_rendu juste en dessous. 

Ajout d'une condition que la variable contenant l'objet ne soit pas === false dans le cas où aucun paramètre n'a été réglé pour la section (date, modalité, notifications). Sinon ce n'est pas un objet, mais false. 

[x] Solved. 

Thomas Fradet's avatar
Thomas Fradet committed
226
#### 12
Thomas Fradet's avatar
Thomas Fradet committed
227 228 229 230 231 232 233 234

Notice: Undefined variable: date in /Applications/MAMP/htdocs/moodle37/course/format/iena/renderer.php on line 622

Après le correctif #11, une variable instanciée uniquement dans la condition où $param_section n'est pas false ne l'est plus quand il n'y a aucun paramétrage existant pour la section. 

Ajout d'un else à la condition pour que $date soit toujours instancié. 

[x] Solved. 
Thomas Fradet's avatar
Thomas Fradet committed
235

Thomas Fradet's avatar
Thomas Fradet committed
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
### Page de suivi des étudiants

#### 13

Notice: Undefined variable: where in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 67

Warning: implode(): Invalid arguments passed in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 67

Notice: Undefined variable: where_params in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 68

Notice: Undefined variable: firstnamesort in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 70

Notice: Undefined variable: csv in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 71

Warning: Use of undefined constant COMPLETION_REPORT_PAGE - assumed 'COMPLETION_REPORT_PAGE' (this will throw an Error in a future version of PHP) in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 71

Notice: Undefined variable: csv in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 72

Notice: Undefined variable: start in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 72
Non-numeric limitnum parameter detected: 'COMPLETION_REPORT_PAGE', did you pass the correct arguments?
line 1050 of /lib/dml/moodle_database.php: call to debugging()
line 1231 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->normalise_limit_from_num()
line 1200 of /lib/completionlib.php: call to mysqli_native_moodle_database->get_records_sql()
line 1232 of /lib/completionlib.php: call to completion_info->get_tracked_users()
line 73 of /course/format/iena/view/view_suivi_unit3.php: call to completion_info->get_progress_all()
line 102 of /course/format/iena/suivi_unit.php: call to require_once()

Problèmes relatifs à la fonction copiée dans le suivi d'achèvement natif de MOODLE dont les paramètres sont ici inexistants. 

Remplacement des variables non instanciées par des valeur qui sont celles par défaut dans la fonction appellée : 
- $where = ''
- $where_params = array()
- $pagesize = '', 
- $start = ''

Utilisation du classement 'u.lastname ASC, u.firstname ASC' au lieu d'utiliser une variable booléenne (non instanciée) pour choisir entre prénom/nom ou nom/prénom. 

[x] Solved. 

#### 14

Notice: Undefined index: filter in /Applications/MAMP/htdocs/moodle37/course/format/iena/view/view_suivi_unit3.php on line 114

Modification de la prise en compte du paramètre get optionnel 'filter' pour 'all' si non isset et sinon la valeur du paramètre passé dans le but qu'il ne puisse jamais être NULL. La valeur est utilisée pour matcher la liste déroulante du filtre de % d'achèvement. 

[x] Solved. 

#### 1

NaN dans le tableau d'achèvement quand pas d'activité dans la section (division par 0). 

Le nombre d'activité est vérifié pour afficher 0 s'il n'y a pas d'activité. 

## Améliorations

### Suivi des étudiants

#### Message quand pas d'activité à suivre

[ ] Lorsqu'une section ne contient pas d'activité suivies, afficher un message au lieu de la liste des étudiants avec aucune activité en colonne et 0% pour chaque.