
Je m’apprêtais à ajouter cette ligne dans le CHANGELOG de la prochaine version et puis je me suis ravisé parce qu’il compliqué de savoir quel est le code qui tournera à ce moment :
📣 Warning: authentication following Dotclear update will be in safe-mode (by default)
En effet, au moment de la mise à jour vers la 2.24 les fichiers sont modifiés mais pas mal d’entre eux, je parle de ceux de l’ancienne version, sont encore en mémoire et donc c’est du code ancien
— celui de la 2.23 — qui tourne encore.
Donc cette ligne dans le CHANGELOG est vraie pour le nouveau code, mais pas dans l’ancien, vous voyez le problème ? Difficile de dire si ça sera vraiment le cas parce que ça peut dépendre du cache que PHP met en œuvre sur le serveur, que ce soit OPCode, APC, Memcache ou autre…
C’est d’ailleurs pour la même raison qu’on trouve dans le code, encore actuellement ce genre de chose :
// Update transition from 2.22 to 2.23
if (version_compare(DC_VERSION, '2.23', '<')) {
global $core;
} else {
$core = dcCore::app();
}
Bref c’est pas simple !
Va falloir que je regarde dans les autres projets pour voir comment ils gèrent ça, si jamais ils le font…
1 De Biou -
Pas moyen de vider le ou les caches PHP après une mise à jour ? Sur quoi se base le cache d’opcode pour cacher qqch?
2 De Franck -
Si bien sûr, pour OPCode et APC je sais faire, pas de souci ; je veux simplement faire ça à bon escient.
3 De Franck -
Cela dit il y a peut-être aussi un cache du côté de l’autoloader, il faut que j’investigue…
4 De Nicolas -
Et bien, je n’ai pas trouvé de moyen simple de gérer les mises à jour. Comme tu dis, pas facile de savoir quel code va gérer la transition.