Les dernières modifications dans la gestions des plugins ont eu pour conséquence que l'ordre alphabétique des plugins pour la constitution du spippath n'est plus pris en compte de la même manière.
Avant, un plugin placé en premier dans l'ordre alpha surchargeait tous les autres.
Ce n'est plus le cas.
Par ailleurs, les <utilise> devraient faire que le plugin déclarant utiliser un autre plugin puisse le surcharger.
C'est ce que fait <necessite>
Mais <utilise> ne change pas l'ordre du spippath.
Les dernières modifications dans la gestions des plugins ont eu pour conséquence que l'ordre alphabétique des plugins pour la constitution du spippath n'est plus pris en compte de la même manière.
Avant, un plugin placé en premier dans l'ordre alpha surchargeait tous les autres.
Ce n'est plus le cas.
Par ailleurs, les <utilise> devraient faire que le plugin déclarant utiliser un autre plugin puisse le surcharger.
C'est ce que fait <necessite>
Mais <utilise> ne change pas l'ordre du spippath.
Il me semble que dans ecrire/inc/plugin.php ligne 181 et suivante, on trouve :
if ($necessite_ok AND $utilise_ok){
$liste[$p] = $liste_non_classee[$p];
$ordre = $plug;
unset($liste_non_classee[$p]);
}
Et que donc, $ordre n'est pris en compte que si le plugin est necessité. Et pas s'il est simplement utilisé.
D'autre part, juste avant, ligne 178 :
$utilise_ok = true;
Semble dire que <utilise> n'a finalement aucun effet puisqu'il est toujours vrai...
Les dernières modifications dans la gestions des plugins ont eu pour conséquence que l'ordre alphabétique des plugins pour la constitution du spippath n'est plus pris en compte de la même manière.
hum, "dernières modifications" ?
je ne sais pas bien ce que tu entends par là...
La dernière modification de inc/plugin qui aurait pu avoir un impact date de plus de 9 mois
Avant, un plugin placé en premier dans l'ordre alpha surchargeait tous les autres.
Ce n'est plus le cas.
Si il y a aucun necessite ni utilise, ça l'est toujours à ma connaissance.
Mais ce n'est plus vrai dès qu'il y a des infos de dépendances qui induisent la construction d'un graphe d'appel.
Par ailleurs, les <utilise> devraient faire que le plugin déclarant utiliser un autre plugin puisse le surcharger.
C'est ce que fait <necessite>
Mais <utilise> ne change pas l'ordre du spippath.
A chaque fois que j'ai testé, j'ai constaté que si, pourtant.
Il me semble que dans ecrire/inc/plugin.php ligne 181 et suivante, on trouve :
if ($necessite_ok AND $utilise_ok){
$liste[$p] = $liste_non_classee[$p];
$ordre = $plug;
unset($liste_non_classee[$p]);
}
Et que donc, $ordre n'est pris en compte que si le plugin est necessité. Et pas s'il est simplement utilisé.
non non, tu lis mal le code.
Tu devrais essayer le pas à pas en php, ça te permettrait de voir ce que le code fait vraiment.
D'autre part, juste avant, ligne 178 :
$utilise_ok = true;
Semble dire que <utilise> n'a finalement aucun effet puisqu'il est toujours vrai...
Si tu fais abstraction es lignes 179 et 180, bien sûr ..
* cedric.morin@yterium.com tapuscrivait, le 13/07/2009 20:05:
* RealET tapuscrivait, le 13/07/2009 15:50:
Les dernières modifications dans la gestions des plugins ont eu pour conséquence que l'ordre alphabétique des plugins pour la constitution du spippath n'est plus pris en compte de la même manière.
hum, "dernières modifications" ? Connexion · GitLab
je ne sais pas bien ce que tu entends par là...
La dernière modification de inc/plugin qui aurait pu avoir un impact date de plus de 9 mois Connexion · GitLab
Avant, un plugin placé en premier dans l'ordre alpha surchargeait tous les autres.
Ce n'est plus le cas.
Si il y a aucun necessite ni utilise, ça l'est toujours à ma connaissance.
Mais ce n'est plus vrai dès qu'il y a des infos de dépendances qui induisent la construction d'un graphe d'appel.
Par ailleurs, les <utilise> devraient faire que le plugin déclarant utiliser un autre plugin puisse le surcharger.
C'est ce que fait <necessite>
Mais <utilise> ne change pas l'ordre du spippath.
A chaque fois que j'ai testé, j'ai constaté que si, pourtant.
Il me semble que dans ecrire/inc/plugin.php ligne 181 et suivante, on trouve :
if ($necessite_ok AND $utilise_ok){
$liste[$p] = $liste_non_classee[$p];
$ordre = $plug;
unset($liste_non_classee[$p]);
}
Et que donc, $ordre n'est pris en compte que si le plugin est necessité. Et pas s'il est simplement utilisé.
non non, tu lis mal le code.
Tu devrais essayer le pas à pas en php, ça te permettrait de voir ce que le code fait vraiment.
D'autre part, juste avant, ligne 178 :
$utilise_ok = true;
Semble dire que <utilise> n'a finalement aucun effet puisqu'il est toujours vrai...
Si tu fais abstraction es lignes 179 et 180, bien sûr ..
Bon, je vais être concret.
SoyezCreateurs est dans un dossier _SoyezCreateurs qui est donc en premier d'un point de vue alphabétique.
Il <utilise> Agenda 2.
Il a(vait) une page agenda.html à la racine du plugin, tout comme agenda2
Et c'est la page agenda.html d'agenda2 qui s'est mise brusquement à être prise comme squelette de spip.php?page=agenda
Il y a donc un bug.
Je ne sais pas d'où il vient.
Mais je le constate.
Est-ce que ça viendrait de ce que agenda2 déclare :
<version>2.0.1 beta</version>
Et que je vérifie sa présence par :
<utilise id="Agenda" version="[2.0.1;]" />
Ah ben voila, c'est donc parfaitement normal.
Sachant que agenda est actuellement en
<version>2.0.1 beta</version>
Avant ton skel utilisait le plugin agenda en version 0.18 ou supérieure, donc le plugin agenda "2.0.1 beta" convenait, et était chargé avant, ce qui permettait à ton skel de le surcharger (donc de redefinir des pages).
Mais maintenant, tu demande la version 2.0.1 ou supérieure. Sachant qu'une beta est avant une stable, la "2.0.1 beta" ne convient plus, et n'est plus considérée comme utilisée par ton skel.
Du coup ton skel est chargé avant (grace à tes noms de repertoires), et c'est l'agenda qui surcharge ton skel. Donc la page en question est prise dans le plugin et non dans ton skel.
Ah ben voila, c'est donc parfaitement normal.
Sachant que agenda est actuellement en
<version>2.0.1 beta</version>
Avant ton skel utilisait le plugin agenda en version 0.18 ou supérieure, donc le plugin agenda "2.0.1 beta" convenait, et était chargé avant, ce qui permettait à ton skel de le surcharger (donc de redefinir des pages).
Mais maintenant, tu demande la version 2.0.1 ou supérieure. Sachant qu'une beta est avant une stable, la "2.0.1 beta" ne convient plus, et n'est plus considérée comme utilisée par ton skel.
Du coup ton skel est chargé avant (grace à tes noms de repertoires), et c'est l'agenda qui surcharge ton skel. Donc la page en question est prise dans le plugin et non dans ton skel.
Pas de bug, dans SPIP tout du moins
Ok, merci.
Je reconnais mon erreur.
Maintenant, il faut mettre quoi dans <utilise> quand y'a autre chose que des numéros et des point dans le numéro de version ?
<utilise id="Agenda" version="[2.0.1 beta;]" />
?
Maintenant, il faut mettre quoi dans <utilise> quand y'a autre chose que des numéros et des point dans le numéro de version ?
<utilise id="Agenda" version="[2.0.1 beta;]" />