Dépendances de plugins
Gari
Member
Salut à tous,
Je propose d'ajouter un champ de "Dépendances" dans le fichier infos.xml accompagnant les plugins.
Ce champ contiendrait l'ensemble des noms des plugins dont le plugin dépend.
Ca pourrait ressembler à :
Cette information serait, au minimum, purement indicative (affichage éventuel dans la page des plugins).
On pourrait imaginer un test automatique de pluXml à l'installation d'un nouveau plugin pour vérifier la présence des plugins dont il dépend, avec message à la clé (du genre "Attention ce plugin dépend des plugins trucs et machins, qui ne sont pas installés actuellement).
Un plugin d'installation automatique de plugins (suivez mon regard) pourrait même prendre en compte le téléchargement et l'installation automatique des dépendances
Si cette idée intéresse je veux bien plancher sur une proposition de code.
Le seul point qui me gêne un peu, avec cette histoire de dépendance, concerne l'esprit de pluXml : est-ce que le fait de faire des "briques techniques" à la debian est considéré comme compatible avec la philosophie de simplicité de pluXml ?
Je pense à cette évolution pour mon plugin plnStaticPages qui se veut rentrer exactement dans la catégorie des "plugins techniques" dont dépendraient d'autres plugins...
Je propose d'ajouter un champ de "Dépendances" dans le fichier infos.xml accompagnant les plugins.
Ce champ contiendrait l'ensemble des noms des plugins dont le plugin dépend.
Ca pourrait ressembler à :
<?xml version="1.0" encoding="UTF-8"?>
<document>
<title><![CDATA[MonPlugin]]></title>
<author><![CDATA[Auteur]]></author>
<version>1.0</version>
<date>30/04/2015</date>
<site></site>
<dependencies>plnStaticPages AutrePluginDeDependance</dependencies>
<description><![CDATA[Mon plugin]]></description>
</document>
Cette information serait, au minimum, purement indicative (affichage éventuel dans la page des plugins).
On pourrait imaginer un test automatique de pluXml à l'installation d'un nouveau plugin pour vérifier la présence des plugins dont il dépend, avec message à la clé (du genre "Attention ce plugin dépend des plugins trucs et machins, qui ne sont pas installés actuellement).
Un plugin d'installation automatique de plugins (suivez mon regard) pourrait même prendre en compte le téléchargement et l'installation automatique des dépendances
Si cette idée intéresse je veux bien plancher sur une proposition de code.
Le seul point qui me gêne un peu, avec cette histoire de dépendance, concerne l'esprit de pluXml : est-ce que le fait de faire des "briques techniques" à la debian est considéré comme compatible avec la philosophie de simplicité de pluXml ?
Je pense à cette évolution pour mon plugin plnStaticPages qui se veut rentrer exactement dans la catégorie des "plugins techniques" dont dépendraient d'autres plugins...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
donc même si pluXml cherche a être simple, je pense qu'il faut faire en sorte de ne pas avoir de code en double (avec par exemple de dépendances entres extensions) et ensuite réfléchir à comment optimiser tout ça pour que ça fonctionne simplement
autre chose qui vient de passer par la tête, dans l'autre discussion, il était question de gérer plusieurs dépôts d'extension donc si l'information "dependencies" fonctionne avec cela, il faudra rajouter l'information qui indique dans quel dépôt trouver l'extension
Le champ "requirements" dans le fichier infos.xml était prévu à cet effet pour indiquer les dépendances entre plugins. Je n'ai pas été plus loin dans le développement car le besoin ne se faisait pas réellement sentir, et d'autres sujets me semblaient plus prioritaires à traiter.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Je reviens sur le sujet, je suis quand même fan du principe de dépendances entre plugins.
J'ai écrit un petit document de cadrage sur le sujet, qui permet de définir l'ensemble des besoins et fonctionnalités. Si vous pouviez le lire et me faire vos commentaires... J'ai l'intention par la suite de coder tout ça pour l'intégrer au moteur (par contre je ne sais pas du tout comment faire pour soumettre mes modifications, je suis un gros nul de Github).
Le document : La gestion des dépendances des plugins T0.1
Gari.
Tout à fait d'accord avec ça. Surtout que le moteur de pluxml n'a pas besoin de se complexifier juste pour ça. Ce champs peut etre utilisé par contre pour un plugin installeur de plugin comme ici : spxplugindowloader
Ce plugin pouvant résoudre la problématique des dépendances en demandant si le user veut installer le plugin + les dépendances. Il pourrait aussi afficher un warning dans les plugins installés dont les dépendances ne le sont pas. Je vais surement travailler sur le sujet.
a+
jéjé
@je-evrard : ca, ce serait le top ! Je ne sais pas si je peux aider (d'autant qu'il me semble que tu es bien largement meilleur que moi en programmation) mais si besoin je peux donner un coup de main : ça m'intéresse vraiment de pouvoir découpler mes différentes briques de fonctionnalités !
On est tous d'accord pour dire qu'idéalement il faudrait que ce soit géré.
Après dans la pratique, dans notre cas bien précis de PluXml, on va alourdir le moteur pour gagner quoi... pour qui... On risque donc + de complexifier plutôt que simplifier et de se rajouter des contraintes.
Ok pour un affichage à titre informatif sur la page du plugin. Aller au delà de ça... on risque de faire fausse route
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Les gars on ne s'inquiète pas la dessus, on va plancher sur la question.