De mon coté, je me suis décidé à appliquer le "patch" proposé dans le bug (MDL-35459).
Je me suis lancé dans une petite analyse afin de savoir si 20 Mo était une bonne taille.
** Répartition
J'ai 200,512 entrées dans la table mdl_files.
SELECT component, count( * ) as Nombre
FROM `mdl_files`
WHERE filesize >0
GROUP BY component
ORDER BY Nombre
component Nombre
calendar 1
backup 2
mod_glossary 2
mod_lesson 4
mod_url 4
mod_questionnaire 6
block_html 9
mod_book 12
mod_quiz 19
mod_data 57
mod_assign 65
qtype_match 70
assignfeedback_file 107
mod_wiki 166
mod_hotpot 176
question 229
mod_label 244
mod_scorm 525
mod_page 1164
core 2219
mod_folder 3170
mod_forum 3464
user 8015
assignsubmission_file 24932
mod_resource 36058
course 68193
J'ai donc 24932 fichiers déposés dans le cadre des devoirs depuis la rentrée 2012.
> Taille
SELECT *
FROM `mdl_files`
WHERE filesize > 20000000
AND component LIKE "assignsubmission_file"
NB : 22 882 entrées ont une taille = 0 et un filename = '.'
> Sur les 24932 fichiers :
- 22581 sont inférieurs à 1 Mo
- 2353 sont supérieurs à 1 Mo
- 757 sont supérieurs à 2 Mo
- 183 sont supérieurs à 5 Mo
- 69 sont supérieurs à 10 Mo
- 23 sont supérieurs à 20 Mo
- le plus gros fait 101 Mo (limite actuelle : 150 Mo)
** Conclusion
Cette analyse me fait dire qu'on pourrait mettre la limite à 5 ou 10 Mo sans souci. Maintenant, vu mon infrastructure, je vais rester sur 20 Mo. Cette taille sera celle "par défaut", l'enseignant peut la descendre ou la monter à sa guise (max la taille max des cours soit 150 Mo chez nous (limite php)).
J'ai donc mis 20 Mo et j'ai changé ce paramètre de taille de tous les devoirs qui avaient gardé la valeur par défaut :
UPDATE `assign_plugin_config` SET value = 20971520
WHERE subtype LIKE "assignsubmission"
AND name LIKE "maxsubmissionsizebytes"
AND value = 0
Petit bémol : je m'aperçois à ce moment là que 866 devoirs sur 2,253 avaient déjà une limite de taille comprise entre 1 Mo et 50 Mo. Ma précédente analyse est donc en partie biaisée : les tailles observées des fichiers (et notamment la grosse proportion des fichiers < 1 Mo) sont forcément influencées par la limite établies.
Mais cela ne change pas la conclusion en soit.
** (Bonus) Taille des fichiers en gl (limite php : 150 Mo)
> Sur les 200,512 fichiers de la table :
- 53 221 sont égals à 0
- 139 700 sont inférieurs à 1 Mo
- 9 230 sont supérieurs à 1 Mo
- 5 337 sont supérieurs à 2 Mo
- 2 735 sont supérieurs à 5 Mo
- 1 710 sont supérieurs à 10 Mo
- 944 sont supérieurs à 20 Mo
- 425 sont supérieurs à 50 Mo
- 175 sont supérieurs à 100 Mo
- 106 sont supérieurs à 125 Mo
- 13 font entre 145 et 150 Mo (de la vidéo, 1 zip et 1 ppt !)
- 52 dépassent les 150 Mo (max=541 Mo) (je les ai déposés manuellement)