[SPIP Zone] Surcharger un plugin

'jour,

Est-il envisageable/possible/souhaitable de pouvoir surcharger une arbo d'un
plugin.

Mettons le plugin "monplugin" qui nous donnerait une arbo de site de ce style

-+-+-+-+-+-+-+-+-+-
config
dist
ecrire
IMG
plugins
   cfg
   couteau_suisse
   monplugin
persos
   monplugin
...
-+-+-+-+-+-+-+-+-+-

ou

-+-+-+-+-+-+-+-+-+-
config
dist
ecrire
IMG
plugins
   cfg
   couteau_suisse
   monplugin
perso_monplugin
perso_couteau_suisse
...
-+-+-+-+-+-+-+-+-+-
Dans les deux cas, on pourrait surcharger un plugin sans toucher à son noyau et
récupérer le répertoire pour une install personnalisée ailleurs grâce au dossier
"persos" ou "perso_NomDuPludin".
Ou c'est déjà possible ?
Ou c'est stupide comme orientation ?

-- Franck

* franck.ducas@free.fr tapuscrivait, le 16/10/2008 16:23:

'jour,

Est-il envisageable/possible/souhaitable de pouvoir surcharger une arbo d'un
plugin.

Mettons le plugin "monplugin" qui nous donnerait une arbo de site de ce style

-+-+-+-+-+-+-+-+-+-
config
dist
ecrire
IMG
plugins
   cfg
   couteau_suisse
   monplugin
persos
   monplugin
....
-+-+-+-+-+-+-+-+-+-

ou

-+-+-+-+-+-+-+-+-+-
config
dist
ecrire
IMG
plugins
   cfg
   couteau_suisse
   monplugin
perso_monplugin
perso_couteau_suisse
....
-+-+-+-+-+-+-+-+-+-
Dans les deux cas, on pourrait surcharger un plugin sans toucher à son noyau et
récupérer le répertoire pour une install personnalisée ailleurs grâce au dossier
"persos" ou "perso_NomDuPludin".
Ou c'est déjà possible ?
Ou c'est stupide comme orientation ?

Avec SPIP 2 et <necessite>, il suffit de faire un nouveau plugin qui <necessite> celui que tu veux surcharger.
Et de mettre dans ce plugin les fichiers de l'autre plugin que tu veux surcharger.

Tout cela est possible grâce à find_in_path :wink:

--
RealET

Selon RealET <real3t@gmail.com>:

Avec SPIP 2 et <necessite>, il suffit de faire un nouveau plugin qui
<necessite> celui que tu veux surcharger.
Et de mettre dans ce plugin les fichiers de l'autre plugin que tu veux
surcharger.

Ah oui, prendre le problème dans l'autre sens. Trop parfait.

Tout cela est possible grâce à find_in_path :wink:

Impec.
Merci.

-- Franck

franck.ducas@free.fr a écrit :

Selon RealET <real3t@gmail.com>:

Avec SPIP 2 et <necessite>, il suffit de faire un nouveau plugin qui
<necessite> celui que tu veux surcharger.
Et de mettre dans ce plugin les fichiers de l'autre plugin que tu veux
surcharger.
    
Ah oui, prendre le problème dans l'autre sens. Trop parfait.
  
ou simplement :
/squelettes/fichierasurcharger.php

il sera pris en compte à la place de
/plugins/monplugin/fichierasurcharger.php

@++

Selon Stephane <stephane@rezo.net>:

franck.ducas@free.fr a écrit :
> Selon RealET <real3t@gmail.com>:
>
>
>> Avec SPIP 2 et <necessite>, il suffit de faire un nouveau plugin qui
>> <necessite> celui que tu veux surcharger.
>> Et de mettre dans ce plugin les fichiers de l'autre plugin que tu veux
>> surcharger.
>>
>
> Ah oui, prendre le problème dans l'autre sens. Trop parfait.
>

ou simplement :
/squelettes/fichierasurcharger.php

il sera pris en compte à la place de
/plugins/monplugin/fichierasurcharger.php

Non. Marche pas pour tout. J'ai essayé :
http://rosenberg.asso.fr/squelettes/
Et j'ai été obligé de modifier les fichier en dur dans le plugin pour changer
des couleurs par exemple...

-- Franck

Selon franck.ducas@free.fr:

> ou simplement :
> /squelettes/fichierasurcharger.php
>
> il sera pris en compte à la place de
> /plugins/monplugin/fichierasurcharger.php

Non. Marche pas pour tout. J'ai essayé :
http://rosenberg.asso.fr/squelettes/
Et j'ai été obligé de modifier les fichier en dur dans le plugin pour changer
des couleurs par exemple...

Sans compter si on veut surcharger plusieurs (au moins deux) plugins qui ont des
fichiers nommés de la même façon...

-- Franck

* franck.ducas@free.fr tapuscrivait, le 16/10/2008 17:15:

Selon franck.ducas@free.fr:

ou simplement :
/squelettes/fichierasurcharger.php

il sera pris en compte à la place de
/plugins/monplugin/fichierasurcharger.php

Non. Marche pas pour tout. J'ai essayé :
http://rosenberg.asso.fr/squelettes/
Et j'ai été obligé de modifier les fichier en dur dans le plugin pour changer
des couleurs par exemple...

Sans compter si on veut surcharger plusieurs (au moins deux) plugins qui ont des
fichiers nommés de la même façon...

Là, il faudrait préfixer les noms des fichiers des dits plugins de leur prefixe déclaré dans le plugin.xml
Tu penses à quels plugins ?

--
RealET

* Stephane tapuscrivait, le 16/10/2008 17:02:

ou simplement :
/squelettes/fichierasurcharger.php

Ah oui, j'avais oublié qu'on pouvait faire simple :wink:

--
RealET

Le 16 oct. 08 à 17:10, franck.ducas@free.fr a écrit :

Selon Stephane <stephane@rezo.net>:

franck.ducas@free.fr a écrit :

Selon RealET <real3t@gmail.com>:

Avec SPIP 2 et <necessite>, il suffit de faire un nouveau plugin qui
<necessite> celui que tu veux surcharger.
Et de mettre dans ce plugin les fichiers de l'autre plugin que tu veux
surcharger.

Ah oui, prendre le problème dans l'autre sens. Trop parfait.

ou simplement :
/squelettes/fichierasurcharger.php

il sera pris en compte à la place de
/plugins/monplugin/fichierasurcharger.php

Non. Marche pas pour tout. J'ai essayé :

Bien sur que si ca marche !

Mais surcharger un plugin est aussi mal et aussi peu perenne que surcharger le core.
La surcharge est un mécanisme de prototypage ou de bricolage dans son coin, ou de depannage quand aucun mecanisme de personalisation n'existe.
Quand il s'agit d'un plugin, il est bien plus simple et perenne de commit directement un mecanisme correspondant dans le plugin.
Si chacun surcharge dans son coin, rien ne sera jamais extensible.
Si chacun ajoute les branchements à chaque fois qu'il en a besoin, cela profite à tout le monde.

Cédric

franck.ducas@free.fr a écrit :

Selon franck.ducas@free.fr:

ou simplement :
/squelettes/fichierasurcharger.php

il sera pris en compte à la place de
/plugins/monplugin/fichierasurcharger.php
      

Non. Marche pas pour tout. J'ai essayé :
http://rosenberg.asso.fr/squelettes/
Et j'ai été obligé de modifier les fichier en dur dans le plugin pour changer
des couleurs par exemple...
    
c'est que l'appel au fichier n'est pas fait dans les regles de l'art... et c'est donc plutot le plugin qu'il faut corriger pour pouvoir le faire.
idéalement d'ailleurs, on "charge une fonction" (et celle-ce a un nom finissant par _dist dans le plugin), si on veut vraiment profiter de toute la chaine de surcharge.

Sans compter si on veut surcharger plusieurs (au moins deux) plugins qui ont des
fichiers nommés de la même façon...
  
d'ou l'importance de coder correctement ses plugins en prenant soin de prefixer les noms de ses fichiers et de ses fonctions pour eviter toute collision.

@++

cedric.morin@yterium.com a écrit :

Quand il s'agit d'un plugin, il est bien plus simple et perenne de commit directement un mecanisme correspondant dans le plugin.
Si chacun surcharge dans son coin, rien ne sera jamais extensible.
Si chacun ajoute les branchements à chaque fois qu'il en a besoin, cela profite à tout le monde.

comme c'est bien dit !
et il y a meme des fadas qui prevoient des points d'entrée partout avant meme d'en avoir besoin !
j'en profite donc pour te dire un grand merci pour les pipelines de F&T : MERCI !

as-tu regarder http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_stable_/formslies ?
j'ai aussi en projet d'ajouter comme ca quelques types de champ (localisation par code insee, formulaire contact et lien url)
ces pipelines seront bien maintenus dans la prochaine version ?

@++

Selon "cedric.morin@yterium.com" <cedric.morin@yterium.com>:

Mais surcharger un plugin est aussi mal et aussi peu perenne que
surcharger le core.
La surcharge est un mécanisme de prototypage ou de bricolage dans son
coin, ou de depannage quand aucun mecanisme de personalisation n'existe.

C'était plus ça mon problème : du dépanage rapidos.

Quand il s'agit d'un plugin, il est bien plus simple et perenne de
commit directement un mecanisme correspondant dans le plugin.

Oui. Mais je suis en phase d'observation : tout va très vite autour de spip, et
si mes projets sont clairs, les adapter à spip l'est moins. Alors je regarde et
je bricole, puis je pose des questions. Et après je commiterais.

Si chacun surcharge dans son coin, rien ne sera jamais extensible.

Je suis loin de ça. Partageons, partageons !

Si chacun ajoute les branchements à chaque fois qu'il en a besoin,
cela profite à tout le monde.

Il faut savoir le faire aisément, et c'est pas toujours le cas. Mais je suis
d'accord et en plein dans cette logique. J'observe, pour l'instant, et j'essaye
des trucs. Rien n'empêche de faire un plugin qui en surcharge un autre puis
d'introduire ce plugin dans l'autre comme fonctionnalité.
C'était bien de rappeler la logique à suivre en tout cas.

-- Franck

Selon "cedric.morin@yterium.com" <cedric.morin@yterium.com>:

>> ou simplement :
>> /squelettes/fichierasurcharger.php
>>
>> il sera pris en compte à la place de
>> /plugins/monplugin/fichierasurcharger.php
>
> Non. Marche pas pour tout. J'ai essayé :

Bien sur que si ca marche !

Bon, je retenterais.

Et ça, pourquoi ça ne marche pas :
http://spip.graphismes.free.fr/squelettes/prive/images/
-> Je vois encore les anciennes icônes