Je voudrais savoir, puisque le but est il me semble de pouvoir distribuer SPIP avec ou sans les plugins du core (ou juste une sélection) s'il ne faut pas indiquer dans certains plugins des dépendances vis à vis de ces plugins du core.
Par exemple, "gravatar" utilise des fonctions qui sont dans "core/filtres_images".
Malheureusement, si je mets un <necessite ...> ça ne marche plus en version stable. Mais je pourrais au moins mettre un <utilise ...>, non ?
Ou alors, il faudrait pouvoir définir des alternatives de lots de dépendances, genre "SPIP 2.0" OU ("SPIP 2.1" ET "filtres_images")... mais je m'égare...
Non je ne pense pas que tu t'égares. C'est une question qui va devoir être résolu quand même assez tôt.
- Est-ce que l'ensemble des créateurs de plugins vont devoir faire une version spéciales pour SPIP 2.1 afin de mettre les bons <necessite> sans bloquer SPIP 2.0 ?
- Ou bien est-ce que dans une version mineure SPIP 2.0.X ne faut-il pas inclure une extension à la syntaxe de <necessite> afin de dire sur *quelle* version de SPIP le plugin nécessite tel ou tel autre plugin ?
C'est l'un ou l'autre non ? Et la première solution me parait un peu aberrante : s'il n'y a QUE une ligne du XML à changer c'est un peu abuser de faire deux versions de chaque plugin de la zone...
- Ou bien est-ce que dans une version mineure SPIP 2.0.X ne faut-il pas
inclure une extension à la syntaxe de <necessite> afin de dire sur *quelle*
version de SPIP le plugin nécessite tel ou tel autre plugin ?
Ou encore, que SPIP 2.0.x sache qu'il répond à <necessite filtres_images> !?
Je n'ai pas compris.
"sache CE qu'il répond [...]" ?
Le problème c'est qu'on ne peut pas prévoir à l'avance ce qui sera découpé ou pas du core au final. Si yen a un nouveau qui arrive il faudra le rajouter ? Et il y a aussi des plugin du core de SPIP 2.1 qui marche aussi en SPIP 2.0 non (urls étendus ?) ?
D'ailleurs c'est un peu le même problème avec les boutons des menus, même sans parler des <necessite>. Comment fait-on pour qu'un plugin s'insère bien dans les menus à la fois dans l'ancienne version et dans le nouveau bandeau ? S'il n'y a que ça qui change dans un plugin est-ce qu'on doit faire deux versions juste pour ça ?
Ou encore, que SPIP 2.0.x sache qu'il répond à<necessite filtres_images>
!?
Je n'ai pas compris.
"sache CE qu'il répond [...]" ?
Non, c'est bien "sache qu'il répond" (positivement à la demande)
Autrement dit ce que je suggère c'est de mettre un patch dans la
branche 2.0 disant "si le plugin nécessite filtre_images, j'ignore ce
necessite, étant donné que j'offre cette fonctionnalité". Si le patch
sait faire ça pour un array de fonctionnalités, on n'aura qu'à remplir
cet array avec les plugins exportés du core.
Ou encore, que SPIP 2.0.x sache qu'il répond à<necessite filtres_images>
!?
Je n'ai pas compris.
"sache CE qu'il répond [...]" ?
Non, c'est bien "sache qu'il répond" (positivement à la demande)
Autrement dit ce que je suggère c'est de mettre un patch dans la
branche 2.0 disant "si le plugin nécessite filtre_images, j'ignore ce
necessite, étant donné que j'offre cette fonctionnalité". Si le patch
sait faire ça pour un array de fonctionnalités, on n'aura qu'à remplir
cet array avec les plugins exportés du core.