La limite de temps au-delà de laquelle il n'est plus possible de modifier son message dans un forum est parfois critiquée. L'administrateur peut la fixer à 60 minutes maximum. Si on veut malgré tout donner la permission de modifier sans aucun délai imposé, cela s'appliquera à n'importe quel message, pas seulement à ceux qu'on a écrits.
Martin Dougiamas se refuse à toute modification sur ce point. Sa philosophie à propos des forums est la suivante : il s'agit d'une sorte d'œuvre collective, qui doit garder son histoire, et qui perdrait de sa cohérence (dans les réponses) si les messages précédents pouvaient être modifiés.
C'est un point de vue qui se défend.
Pourtant, un forum peut être utilisé autrement que dans sa vocation première. Dans mon cas, je l'utilise comme ceci : un élève commence une discussion en écrivant un texte à vocation littéraire (il doit donc en rester le propriétaire). D'autres peuvent y réagir, apporter des critiques, des suggestions, en fonction desquelles « l'écrivain » peut améliorer, modifier, etc. Peu importe si les réponses deviennent ensuite décalées : elles n'étaient pas destinées à être relues. C'est le premier message seulement qui compte.
Bien sûr, on peut utiliser d'autres activités pour arriver à cela. Mais je trouve la syntaxe d'un wiki trop lourde. Un blog est rarement lu. Un glossaire ne permet pas d'être averti des nouvelles interventions. L'architecture d'un atelier est rebutante. Bref, je voulais un forum où chacun restait maître de ses messages, en pouvant les modifier sans limite de temps.
Ce que j'ai du mal à comprendre, c'est que Moodle est un outil très personnalisable, alors pourquoi ne pas laisser à chacun la liberté de fixer ou non un délai ?
J'en étais resté jusqu'ici à deux solutions maladroites.
- Soit donner la permission de modifier n'importe quel message (mais c'est inapproprié)
- Soit bricoler dans la base de données pour fixer la limite de temps à... 100 ans ! (Avec cette solution, les élèves ironisaient sur mon optimisme, ce qui est plutôt sympa, mais l'inconvénient majeur était que les abonnés au forum recevaient les courriels... un siècle en retard).
Bref, j'ai bidouillé une nouvelle permission « editownpost ». Cf. fichier joint. C'est assez laborieux à mettre en place, c'est une modification du core, donc c'est sensible aux mises à jour futures. Je ne le mets ici que pour ceux qui en auraient vraiment besoin.
// Ou, pour le dire autrement :
if !($USER->type == 'reallyneedsit' && has_capability('beingpatient', $modcontext)
&& has_capability('nothostiletomodifyingthecore', $modcontext)) {
print_error('dropit');
} else {
echo $string = "firstbackupeverything";
echo $string = "nowarranty";
echo $string = "atyourownrisk";
echo $string = "youmayproceed";
}