Attention.

Cet article contient des éléments de détail assez indigestes quant à l'utilisation de Subversion par Wordpress.org et l'extraction des numéros de versions des plugins, susceptibles de heurter la sensibilité des moins barbus. Ce qui devait arriver arriva... Partiellement.

J'ai laissé passer un bug au déploiement du plugin sur la plateforme Wordpress, et... selon la configuration de Php sur le serveur, et si l'utilisateur modifiait ses options, il y avait un risque de perdre l'accès à sa page de login. Tout ça à cause d'une fonction de callback pas correctement nommée dans le formulaire des options.

😡

Alors chez moi, ça ne s'est pas manifesté, et chez ma dulcinée non plus. Mais Patrick a eu le déplaisir de devoir désactiver manuellement Wp Login Door sur son site, et nous avons eu un échange par email qui m'a permis de localiser le bug.

A partir de là, j'ai été semi-soulagé, et j'ai déployé la correction sur le svn de Wordpress.

Ooooh, le mec, genre "ouais, tranquille gros, j'ai déployé mon petit patch pépère, et hop, ni vu ni connu..."

Bon, d'accord, j'ai hurlé après Wordpress pour déployer ce cristi de plugin.

Pour ceux qui aiment les détails, en voici. Les autres, passez votre chemin ;)

Tout d'abord, il faut savoir que Wordpress utilise Subversion pour la gestion du repository de plugins. Il y a un répertoire principal qui contient tous les plugins disponibles sur WP, et chaque committer dispose de son sous-dossier personnel, avec les dossiers standard svn: trunk, tags et branches, ainsi qu'un dossier assets pour les images.

Alors le truc, c'est que si on se contente de déployer la nouvelle release dans un sous-dossier de tags (tags/1.2 par exemple), cette version ne sera pas notée comme active dans le dépôt des plugins, et le gestionnaire de mises à jour de Wordpress ne la verra pas. En fait, il sait que cette version existe, mais ne la considère pas comme la version courante... C'est bête...

Dans la documentation de Wordpress, il est indiqué que le fichier readme.txt doit contenir le numéro de la version courante. Ce que j'avais fait. Et dans le fichier principal du plugin. Ce que j'avais fait aussi...

En fait, pour que la version soit considérée comme courante, et soit visible depuis le système de mise à jour de Wordpress, il faut que le readme.txt et le fichier principal (via le bloc de commentaires standardisé) du dossier trunk contiennent le numéro de version! Même si la version ne sera pas téléchargée depuis là! Enfin... En fait j'en sais rien, si elle est téléchargée depuis trunk ou tags... la seule chose certaine, c'est que ça m'a bien, mais alors bien pris la tête...

Alors pour finir, j'ai vidé le dossier tags, tous les fichiers sont maintenant dans trunk, on est à la version 1.2, ça fonctionne, et ça ira bien comme ça!

Je ne sais pas si j'ai été très clair dans mon explication... En même temps, je ne sais pas si cet article intéressera quelqu'un! Mais ça m'a fait du bien d'extérioriser...

Pour le fun, voici le journal des messages de commit. On peut sentir la moutarde monter peu à peu...

image

Bonnes fêtes à vous!

Article précédent Article suivant