SVP et les branches SPIP

Eric Lupinacci <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <CAM6W4bbVh6AdLusJJJt9=yZsezGggiNwqW8R2jYG76uFnW=CnA@mail.gmail.com>
Hello,

Dans ma quête du SVP en mode nectar, après les catégories, je pensais
m'attaquer aux branches SPIP qui y sont décrites.
Aujourd'hui, concernant la gestion des branches, on a dans SVP :

- Une balise SVP_BRANCHES_SPIP qui renvoie la liste des branches (contenue
dans une globale voir après) avec un formatage adéquat pour l'affichage et
quelques options.
Cette balise n'est jamais utilisée dans SVP, elle ne sert à priori que pour
Plugins SPIP pour l'affichage de la compatibilité.
==> je propose de supprimer cette fonction de SVP tout simplement de la 3.3
car tant que Plugins SPIP reste en 3.2 on aura pas de souci et comme il
disparaitra surement au profit de Contrib il faudra traiter cette balise
dans le cadre de la refonte.

- deux define et une globale, à savoir:

if (!defined('_SVP_VERSION_SPIP_MIN')) {
   /**
    * Version SPIP minimale quand un plugin ne le precise pas
    * Version SPIP correspondant à l'apparition des plugins */
   define('_SVP_VERSION_SPIP_MIN', '1.9.0');
}

if (!defined('_SVP_VERSION_SPIP_MAX')) {
   /**
    * Version SPIP maximale
    * Pour l'instant on ne connait pas la borne sup exacte */
   define('_SVP_VERSION_SPIP_MAX', '3.3.999');
}

/**
 * Liste des branches significatives de SPIP et de leurs bornes
(versions min et max)
 * À mettre a jour en fonction des sorties
 * @global array $GLOBALS ['infos_branches_spip']
 */
$GLOBALS['infos_branches_spip'] = array(
   '1.9' => array(_SVP_VERSION_SPIP_MIN, '1.9.2'),
   '2.0' => array('2.0.0', '2.0.999'),
   '2.1' => array('2.1.0', '2.1.999'),
   '3.0' => array('3.0.0', '3.0.999'),
   '3.1' => array('3.1.0', '3.1.999'),
   '3.2' => array('3.2.0', '3.2.999'),
   '3.3' => array('3.3.0', _SVP_VERSION_SPIP_MAX),
);

La globale est utilisée dans la balise précédemment citée.
En outre, et c'est le principal, ces définitions sont utilisées par SVP
pour déterminer et normaliser les intervalles de compatibilité des plugins
lors de la lecture des fichiers XML et la création des plugins en base de
données.
En particulier c'est le cas avec les fonctions compiler_branches_spip(),
fusionner_intervalles(), extraire_bornes()...

Néanmoins, je suis peut-être un peu pinailleur, mais je trouve que ces
déclarations n'ont rien à faire avec SVP qui traite des plugins mais
uniquement avec SPIP.
En outre, il existe déjà dans SPIP des define liés à la version courante
que l'on modifie à chaque release.
Et donc il faut aussi modifier ces déclarations SVP à chaque release.

Ne serait-il pas intéressant de transférer ces déclarations dans SPIP pour
plus de cohérence et pour une gestion simplifiée des releases ?
Dans ce cas, on pourrait en profiter pour améliorer le tableau des branches
en rajoutant l'état de la branche (maintenu, en dev, obsolète) voire
d'autres infos si cela a du sens.
Le tableau pourrait même devenir un json uniquement (avec une petite api de
lecture), seuls les define min et max serait ajouté à inc_version ou autre
include.

Je sais que ce n'est pas essentiel mais comme je bosse sur SVP ces derniers
autant avancer un peu.
Votre avis ?

++
Eric
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.