r12439 - in spip/ecrire: exec inc public

Author: esj@rezo.net
Date: 2008-08-28 19:07:13 +0200 (jeu, 28 aoû 2008)
New Revision: 12439

Log:
La fonction {{{evaluer_fond}}} avait 4 arguments dont le 3e n'était pas utilisé, et du coup plusieurs de ses appels donnaient comme 3e argument ce qui se voulait le dernier (le nom du serveur). On corrige en éliminant le paramètre superflu (attention pour ceux qui avaient bon donc).

Par ailleurs, cette fonction ressemble fortement à une autre, {{{recuperer_fond}}}, qui n'est vraiment indispensable qu'au code compilé. En conséquence, {{{recuperer_fond}}} migre dans le fichier chargé uniquement en cas d'exécution de squelette et ne doit plus être utilisée afin de clarifier l'interface aux fonctions du compilateur.

Ce ménage permet de réduire quelques inclusions superflues, et de commencer à retrouver un découpage plus fonctionnel du compilateur: {{{public/assembler}}} ne devrait être chargé que pour les pages initiales, Ajax ou non, qui doivent traiter les variables d'URL, les autres pages devant pouvoir ne charger que {{{public/parametrer}}}. On n'y est pas encore, mais on s'en approche.

Modified:
   spip/ecrire/exec/articles.php
   spip/ecrire/exec/breves_voir.php
   spip/ecrire/exec/naviguer.php
   spip/ecrire/exec/sites.php
   spip/ecrire/exec/statistiques_visites.php
   spip/ecrire/inc/filtres.php
   spip/ecrire/inc/presentation.php
   spip/ecrire/inc/statistiques.php
   spip/ecrire/inc/utils.php
   spip/ecrire/public/assembler.php
   spip/ecrire/public/composer.php
   spip/ecrire/public/parametrer.php

Details: http://trac.rezo.net/trac/spip/changeset/12439

la cause est noble mais cela tue le peu d'ancien plugin qui marchait encore avec la 2.0
recuperer_fond a ete introduit en 1.9.1 de mémoire
evaluer_fond a ete introduit sur la branche dev

Il est certain que le second doit remplacer le premier a terme, mais là on ne prevoit meme pas de transition pour les plugins qui sont de facto tous morts.

Cédric

Le 28 août 08 à 19:07, esj@rezo.net a écrit :

Author: esj@rezo.net
Date: 2008-08-28 19:07:13 +0200 (jeu, 28 aoû 2008)
New Revision: 12439

Log:
La fonction {{{evaluer_fond}}} avait 4 arguments dont le 3e n'était pas utilisé, et du coup plusieurs de ses appels donnaient comme 3e argument ce qui se voulait le dernier (le nom du serveur). On corrige en éliminant le paramètre superflu (attention pour ceux qui avaient bon donc).

Par ailleurs, cette fonction ressemble fortement à une autre, {{{recuperer_fond}}}, qui n'est vraiment indispensable qu'au code compilé. En conséquence, {{{recuperer_fond}}} migre dans le fichier chargé uniquement en cas d'exécution de squelette et ne doit plus être utilisée afin de clarifier l'interface aux fonctions du compilateur.

Ce ménage permet de réduire quelques inclusions superflues, et de commencer à retrouver un découpage plus fonctionnel du compilateur: {{{public/assembler}}} ne devrait être chargé que pour les pages initiales, Ajax ou non, qui doivent traiter les variables d'URL, les autres pages devant pouvoir ne charger que {{{public/parametrer}}}. On n'y est pas encore, mais on s'en approche.

Modified:
   spip/ecrire/exec/articles.php
   spip/ecrire/exec/breves_voir.php
   spip/ecrire/exec/naviguer.php
   spip/ecrire/exec/sites.php
   spip/ecrire/exec/statistiques_visites.php
   spip/ecrire/inc/filtres.php
   spip/ecrire/inc/presentation.php
   spip/ecrire/inc/statistiques.php
   spip/ecrire/inc/utils.php
   spip/ecrire/public/assembler.php
   spip/ecrire/public/composer.php
   spip/ecrire/public/parametrer.php

Details: http://trac.rezo.net/trac/spip/changeset/12439

_______________________________________________
spip-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-commit
dev: http://trac.rezo.net/trac/spip/

je suis étonné qu'à la veille d'une release stable on modifie la signature de la fonction evaluer_fond et on déplace brutalement son ancienne version recuperer_fond sans ménagement ni aucun égard pour les plugins qui marchaient encore un peu.

En plus, on fait ça pour corriger un bug (certes répétitif) dans le core, et du coup on introduit un bug chez tous ceux qui s'étaient donné la peine de coder proprement.

Ce commit ne peut pas être reporte sur la branche 2.0 en l'etat.
Cédric

Le 28 août 08 à 19:07, esj@rezo.net a écrit :

Author: esj@rezo.net
Date: 2008-08-28 19:07:13 +0200 (jeu, 28 aoû 2008)
New Revision: 12439

Log:
La fonction {{{evaluer_fond}}} avait 4 arguments dont le 3e n'était pas utilisé, et du coup plusieurs de ses appels donnaient comme 3e argument ce qui se voulait le dernier (le nom du serveur). On corrige en éliminant le paramètre superflu (attention pour ceux qui avaient bon donc).

Par ailleurs, cette fonction ressemble fortement à une autre, {{{recuperer_fond}}}, qui n'est vraiment indispensable qu'au code compilé. En conséquence, {{{recuperer_fond}}} migre dans le fichier chargé uniquement en cas d'exécution de squelette et ne doit plus être utilisée afin de clarifier l'interface aux fonctions du compilateur.

Ce ménage permet de réduire quelques inclusions superflues, et de commencer à retrouver un découpage plus fonctionnel du compilateur: {{{public/assembler}}} ne devrait être chargé que pour les pages initiales, Ajax ou non, qui doivent traiter les variables d'URL, les autres pages devant pouvoir ne charger que {{{public/parametrer}}}. On n'y est pas encore, mais on s'en approche.

Modified:
   spip/ecrire/exec/articles.php
   spip/ecrire/exec/breves_voir.php
   spip/ecrire/exec/naviguer.php
   spip/ecrire/exec/sites.php
   spip/ecrire/exec/statistiques_visites.php
   spip/ecrire/inc/filtres.php
   spip/ecrire/inc/presentation.php
   spip/ecrire/inc/statistiques.php
   spip/ecrire/inc/utils.php
   spip/ecrire/public/assembler.php
   spip/ecrire/public/composer.php
   spip/ecrire/public/parametrer.php

Details: http://trac.rezo.net/trac/spip/changeset/12439

_______________________________________________
spip-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-commit
dev: http://trac.rezo.net/trac/spip/

Le 28 août 08 à 20:14, cedric.morin@yterium.com a écrit :

je suis étonné qu'à la veille d'une release stable on modifie la signature de la fonction evaluer_fond et on déplace brutalement son ancienne version recuperer_fond sans ménagement ni aucun égard pour les plugins qui marchaient encore un peu.

En plus, on fait ça pour corriger un bug (certes répétitif) dans le core, et du coup on introduit un bug chez tous ceux qui s'étaient donné la peine de coder proprement.

[Il y a des pbs réseaux, je reçois les mails dans un ordre complètement aléatoire]

Pour le chgt de signature d'evaluer_fond je rappelle qu'il y avait un paramètre qui ne servait à rien, ça aurait été complètement absurde d'enteriner ça en corrigeant les appels dont l'intention était bonne plutot que la définition foireuse. Et comme le core donnait le mauvais exemple avec des appels foireux, il est probable que plus d'un plugin ont reproduit l'erreur, donc de toutes façons une bonne partie des plugins sont concernés par la correction de ce bug, qu'elle qu'elle soit.

Pour recuperer_fond, on va la refaire passer au premier plan, mais à quoi ça rime d'avoir une fonction comme evaluer_fond dans inc/utils, si dans les faits la fonction la plus intéressante est une autre fonction perdue au milieu d'un fichier qui à l'orgine n'était appelé qu'à travers un "charger_fonction" sur encore une autre fonction ?

Enfin, quant au fait de changer qqch "à la veille d'une release", ceci explique cela: comme on écrit trop peu de doc et qu'on se concerte trop peu, le signal de la release est vécu moins comme "on ne corrige plus que les bugs" mais plutôt comme "on met au propre les magnifiques idées jaillies sans spec ni concertation". C'est visiblement le mode de fonctionnement de l'équipe, faut faire avec.

Je tiens à dire à nouveau que je suis très content et admiratif des fonctionnalité supplémentaires que tu as amené au compilateur, mais je ne trouve souhaitable pour personne qu'on officialise la dégradation de son interface de programmation: elle était sans doute inévitable, mais on ne peut pas la laisser comme ça.

Emmanuel