Pourquoi et quand faire un plugin ?¶
Il est nécessaire de faire un plugin lorsque :- l'on désire gérer des objets d'inventaire supplémentaires ou des champs supplémentaires sur des objets existants
- l'on veut modifier certains comportements standards de GLPI (bloquer la modification de certains champs, chercher des données dans une source externe, etc)
Quelles sont les fonctionnalités apportées par un plugin ?¶
Comment développer un plugin ?¶
Comment rendre disponible son plugin ?¶
Il suffit de demander l'ouverture d'un projet sur la forge des plugins en envoyant un email sur la mailing list glpi-dev AT gna.org (en précisant un nom court de 20 caracrtères maximum sans espace).Une fois celui-ci créé, vous aurez tout loisir de gérer son évolution comme vous le souhaitez :
- svn propre au projet (plugin)
- wiki
- annonces
- publication de fichiers
- ajout de personnes dans l'équipe du projet
Comment voir son plugin publié sur le catalogue ?¶
Il suffit :- de rajouter à la racine du svn du plugin un fichier XML (voir plus bas)
- de rajouter à la racine du svn du plugin un logo en png 100*100 max et avec fond transparent.
- d'envoyer un email sur la mailing list glpi-dev AT gna.org afin de demander l'ajout du plugin au catalogue
<?xml version="1.0" encoding="UTF-8"?> <root> <name>Plugin name </name> <key>uniquekeyduplugin</key> <state>stable</state> <logo>https://forge.indepnet.net/svn/pluginname/logo_pluginname.png</logo> <description> <short> <fr><![CDATA[texte court décrivant le plugin ]]></fr> <en></en> </short> <long> <fr><![CDATA[texte long décrivant le plugin ]]></fr> <en></en> </long> </description> <homepage>https://forge.indepnet.net/projects/show/pluginname/</homepage> <download>https://forge.indepnet.net/projects/list_files/pluginname</download> <authors> <author>Michel Dupont </author> <author>Mike Durand </author> </authors> <versions> <version> <num>3.0.0</num> <compatibility>0.72</compatibility> </version> <version> <num>2.0.0</num> <compatibility>0.71</compatibility> </version> <version> <num>1.0.0</num> <compatibility>0.65</compatibility> </version> </versions> <langs> <lang>fr_FR</lang> <lang>en_GB</lang> </langs> <license><![CDATA[GPL v2+]]></license> <tags> <fr> <tag>réseau</tag> <tag>Graphique</tag> </fr> <en> <tag>network</tag> <tag>Graph</tag> </en> </tags> </root>
Attention pour les versions Il ne sera affichée dans le catalogue que les deux premières. Il faut donc remplir dans l'ordre antichronologique.
- Liste des tags suggérés en / fr (possibilités d'en mettre d'autres personnalisés)
- Entities / entités
- Environment / environnement
- Import / import
- Miscellaneous / divers <----- Déconseillé : mettre d'autres tags personnalisés
- Helpdesk / Helpdesk
- Reports / Rapports
- Network / réseau
- Liste des champs triables / filtrables dans le catalogue
- category
- lang
- compatibility
- state
- Liste des champs obligatoires
- name
- key (doit être unique dans tout le catalogue et ne doit jamais changer)
- state (stable ou test)
- description short
- download
- version
- lang (1 minimum / 5 max)
- tags [ 1 min / 5 max)