Version 1 — Juillet 2007 — cam.lafit
Proposition de documentation concernant la rédaction du plugin.xml
http://www.spip.net/fr_article3448.html
http://doc.spip.org/@Tuto-Se-servir-des-points-d-entree
Comment lire :
<!-- Ceci est un commentaire -->
titi|toto : soit titi soit toto (ou exclusif)
<plugin>
<!-- Nom du plugin -->
<nom> NomPlugin </nom>
<!-- Auteur du plugin -->
<auteur> AuteurPlugin </auteur>
<version> 0.1 <version>
<etat>dev|test|stable|experimental</etat>
<icon></icon>
<description> Un descriptif autant complet que possible, utilisation de la syntaxe spip autorisée.</description>
<!-- URI de documentation -->
<lien> une url interne ou bien sur le net </lien>
<!-- précise le prefixe utilisé pour toutes les fonctions du plugin, en général le nom du plugin -->
<prefix>unprefix</prefix>
<!-- précise le fichier à charger à chaque recalcul, partie publique -->
<fonctions>chemin du fichier </fonctions>
<!-- précise le fichier à charger à chaque appel de la page, partie publique -->
<options>chemin du fichier </options>
<!-- Chemin du fichier d'installation et de mise à jour -->
<install>chemin du fichier</install>
<!--pipeline, surcharge de fonction à des moments précis de la génération d'une page spip -->
<pipeline>
<!-- voir la page sur doc.spip.org, pour connaitre l'ensemble des pipeline -->
<nom>point_entree</nom>
<!-- nom de la fonction a appelé sans son prefixe -->
<action>fonction</action>
<!-- chemin du fichier contenant la fonction -->
<inclure>fichier.php</inclure>
</pipeline>
<!-- à préciser -->
<chemin dir='' />
<!-- précise les dépendance vis à vis de spip ou d'autres plugins -->
<necessite id="nomplugin" version="[versionminiale;versionmax]" />
</plugin>
<install>
Lors de la déclaration de la balise
nom du fichier qui doit être appelé.
Il y a un consensus :
- pour avoir ce fichier dans le répertoire base de ton plugin
- d’utiliser le prefixe déclaré dans
Ce qui donne
Après dans ce fichier. On déclare une fonction :
function prefixeplugin_install($action){
switch ($action){
case 'test':
//Contrôle du plugin à chaque chargement de la page d'administration
break;
case 'install':
//Appel de la fonction d'installation. Lors du clic sur l'icône
depuis le panel.
break;
case 'uninstall':
//Appel de la fonction de suppression
break;
}
}
Donc ’test’ se lance à chaque fois qu’on accède à la page
d’administration des plugins. Cela peut donc servir lors des mises à
jours.
’install’ sert aux opérations lors de l’activation du plugin.
’uninstall’ sert aux opérations lors de la suppression du plugin.
Dans les exemples que j’ai pu voir test et install sont assez proches.