[spip-dev] balise <fournit> dans plugin.xml / paquet.xml ?

Coucou,

en essayant de valider certains plugins dans la branche dev de SPIP on
s'aperçoit que pour gérer le cas d'un plugin intégré au core il manque
quelque chose. Si par exemple on a un plugin toto qui nécessite les
itérateurs, il faut qu'il indique :

toto/plugin.xml = <necessite id="ITERATEURS" />

il faudrait donc que le "core.xml" de la version dev soit en mesure de dire
<fournit id="ITERATEURS" />

et c'est pareil avec job_queue (je crois que c'est tout).

On peut aussi imaginer qu'un plugin se substitue à un autre pour
"fournir" un service, ou en fournisse plusieurs…

Je ne crois pas que ces cas soient prévus dans la DTD ? Peut-on les ajouter ?

Si c'est compliqué ou pas mûr, je pensais ajouter dans l'immédiat
juste un petit hack traitant à part ces deux cas, histoire de ne pas
avoir à réécrire tous les plugin.xml avec une duplication du xml selon
les versions de SPIP : car c'est vraiment très moche, et de deux maux
choisir le moindre :slight_smile:

-- Fil

Hello,

Juste pour comprendre, le problème c'est d'éviter d'activer un plugin si le
core le fournit déjà ?

oui c'est d'ignorer ce <necessite> si le core <fournit> la fonctionnalité

Est ce que de ce point vue ça désactiverait aussi le necessite iterateurs
quand le core le fournit ? Parce que là ça serait intéressant car on
n'aurait plus besoin de modifier le plugin.xml ou paquet.xml pour êtrre
compatible avec la version de dev.

c'est exactement ça

oui c’est d’ignorer ce si le core la fonctionnalité

Est ce que de ce point vue ça désactiverait aussi le necessite iterateurs
quand le core le fournit ? Parce que là ça serait intéressant car on
n’aurait plus besoin de modifier le plugin.xml ou paquet.xml pour êtrre
compatible avec la version de dev

j’ai essayé d’ajouter dans ecrire/core.xml :

mais comment faire pour le prendre en compte. J’imagine qu’il faut bosser dans la branche 2.2 ?

– Fil

Voilà c’est commit en http://core.spip.org/projects/spip/repository/revisions/17757 sous le nom de “balise <procure id=‘iterateurs’ version=0.3.0’ />”

merci Eric pour les tuyaux

– Fil

aie, va falloir merger ça avec ce que Emmanuel et Eric on fait sur la branche 2.2…
Pour ma part j’avais pris le parti de ne rien faire côté plugin sur la branche dev tant que le merge était pas fait pour éviter ce problème.

Cédric