Moodle offre de nombreuses manières de contourner ou altérer le comportement de la plate-forme. Malgré toutes les méthodes qui permettent de ne pas altérer la partie standard de moodle. Il existe certaines modificaitons non réductibles qui nécessitent des interventions localisées dans le code standard.
L'inconvénient majeur des patchs est la perte de certaines fonctionnalités ou comportements lors de l'écrasement de la base de code par une mise à jour. La maintenance d'une base de code nécessite alors une maintenance des patchs
Si on ne peut parler “d'avantage” directement, on peut néanmoins donner deux cas de figure où le patch ne peut pas être évité, à moins de renoncer à certains objectifs de fonctionnement dans la plate-forme. L'équation résultante est une équation coût-bénéfice qu'il faut maîtriser. Des bonnes pratiques permettront de réduire les coûts de l'intégration de patchs afin d'en préserver le bénéfice.
La protique des patchs est communément détestée par les exploitants, car cela entraîne souvent une certaine “obligation” à connaître le dessous du capot. Il existe cependant un certain nombre de pratiques et d'outillages qui permettent d'améliorer l'équation coût/risque/bénéfices que représente l'usage de patchs “core”.
Les pratiques qui réduisent le problème :
Les plugins APL proposent une description formelle des patchs. Deux répertoires contiennent les patchs et leurs fichiers de référence.
Tous les patchs sont identifiés par une séquence PATCH+ … PATCH-.
Ce catalogue est fourni par le composant Rapport de patch noyau. Il peut scanner le code du moodle installé à la recherche de marques formelles de patchs et fournir un rapport détaillé des implantations.
Vous pouvez utiliser un comparateur de code (WinMerge, BeyondCompare, ou autre) pour intégrer les modifications.
Exemples de modifications éligibles.
Exemples de modifications non éligibles.
Il peut exceptionnellement se produire des cas d'incertitude. Les plugins sont révisés pour faire référence aux fichiers les plus récents de chaque version majeure de moodle, Les cas de doutes doivent être rarissimes.
La qualification formelle des patchs permet d'envisager un objectif plus ambitieux de pour voir gérer la presque totalité des patchs avec une méthode automatisée de réintégration. Cet outillage est en cours de test et sera proposés à nos clients qui hébergent et construisent leur propre version locale de moodle.