Depuis la MAJ 2.3.4, nous avons du intervenir une dizaine de fois pour "rétablir" des cours. Plusieurs enseignants se sont vus affichés la fameuse erreur "Erreur de programmation détectée. Ceci doit être corrigé par un programmeur : PHP catchable fatal error" après avoir manipulé des activités. Visiblement cela se produit après la suppression d'une activité (d'après ce que nous disent les enseignants; nous n'avons pas de rapport précis).
La solution est simple : il suffit de vider le champ "modinfo" du cours en question. Celui-ci est regénéré correctement. En effet, en comparant les contenus avant et après, on s'aperçoit que la référence vers l'activité supprimée était restée dans le contenu du champ. Cela semble être la source de l'erreur.
En comparant les 2, on voit que le contenu avant suppression contient une entrée en plus :
i:2984;O:8:"stdClass":12:{s:2:"id";s:2:"10";s:2:"cm";s:4:"2984";s:3:"mod";s:6:"assign";s:7:"section";s:1:"3";s:9:"sectionid";s:3:"958";s:6:"module";s:1:"1";s:5:"added";s:10:"1360832730";s:7:"visible";s:1:"0";s:10:"visibleold";s:1:"1";s:6:"indent";s:1:"1";s:16:"showavailability";s:1:"1";s:4:"name";s:57:"Send your description by April 15th for personal feedback";}
Le module en question n'existe plus :
SELECT * FROM mdl_course_modules WHERE id = 2984
ne renvoie rien.
Ce problème était pas (ou alors très peu) présent avant l'application de la MAJ 2.3.4. J'ai faite celle-ci le 01/02/2013. Il s'agit de la version Moodle 2.3.4+ (Build: 20130125).
Mais nous venons de constater le mm problème avec notre autre plate-forme dont la version est Moodle 2.3.4+ (Build: 20130131).
J'ai bon espoir que la prochaine MAJ (prévue pour la semaine prochaine logiquement) corrige ce problème.
Je voulais savoir si d'autres personnes le rencontraient ? Je n'ai pas trouvé d'infos précisément là-dessus sur les forums. D'ailleurs le problème ne se pose pas à chaque suppression mais que dans certains cas sans que l'on sache pourquoi exactement. Il semblerait qd même que cela concerne des "gros" cours (= des cours avec pas mal de contenu, qui a pu être manipulé à plusieurs reprises).
Nous sommes aussi étonnés que Moodle bloque complètement le cours alors qu'il est capable de corriger le problème tout seul (il regénère un modinfo correct, pourquoi ne le fait-il pas de lui-même qd il rencontre ce problème ?)
Merci de vos retours. J'essayerai de vous dire si la prochaine MAJ a corrigé le problème.