Utilisation des Plugins

De ISPWiki.

Attention! Cet article est en cours de traitement, tous les projets décrits au-dessous n'ont pas encore été réalisés.

Sommaire

Utilisation des plugins

Le plugin doit contenir les balises suivantes:

  • name - le descriptif qui s'affiche dans la liste des plugins
  • description - les informations détaillées: le but du plugin et les éléments de l'interface après l'activation du plugin
  • version - la mise à jour du plugin. L'apparence recommandée: les chiffres se divisent par le point. Vous pouvez utiliser tous les nombres de points.

La comparaison des versions est réalisée par voie de comparaisons successives de chaque partie (les parties se divisent par le point) à partir de début. En cas d'impossibilité à transformer une partie en chiffre (par exemple, s'il y a des symboles qui ne sont pas identiques avec des chiffres) elle sera égale à zéro.

  • url - l'adresse URL d'où le fichier est téléchargé
  • lang - le langage du plugin. L'installateur vérifiera la possibilité de son utilisation, il y a des variantes disponibles: perl, php, python (si cela est nécessaire, la liste sera élargie). Si votre plugin n'en a pas besoin, par exemple, il est écrit sur Shell ou il ne contient aucun gestionnaire, cette balise ne sera pas indiquée
  • langver - la version minimale de l'interpréteur. Si cette balise n'existe pas, la version ne sera pas vérifiée. La balise détient l'attribut 'strict'. S'il est égal 'yes', la version sera vérifiée. Si votre plugin fonctionne sous Python 2.5 et 2.6, mais il ne fonctionne pas sous la version 3.0, créez deux balises langver avec strict="yes". Le serveur ne supporte pas plusieurs versions de l'interpréteur, la vérification est réalisée à l'aide de la commande "python --version". Vous pouvez paramétrer le serveur de telle façon pour que la version nécessaire soit lancée par défaut
  • require - les modules nécessaires pour le fonctionnement du plugin. L'installateur vérifiera leur présence et si cela est nécessaire, il demandera l'utilisateur de les installer.
  • depend - le nom et la mise à jour du plugin nécessaire pour le fonctionnement de ce plugin. Par exemple: "libxxx 2.0". La version n'est pas obligatoire.
  • manager - le nom de produit auquel le plugin est destiné. Par exemple: ispmgr, billmgr. Il est possible d'avoir plusieurs balises. Cette balise est obligatoire.
  • mgrver - la mise à jour auquel le plugin est destiné. Par exemple: ISPmanager-Lite, ISPmanager-Pro 4.3. Il est possible d'avoir plusieurs balises. Si ce type de balises n'existe pas, le plugin est destiné à toutes les versions. Si la version numérique a été indiquée, elle sera vérifiée à l'aide des indications décrites ci-dessus
  • os - le système d'exploitation auquel le plugin est destiné. Vous pouvez renseigner la version numérique, par exemple: Linux, FreeBSD-8. La valeur du système d'exploitation actuel est trouvée comme indiqué dans les informations sur la licence. Il est possible d'avoir plusieurs balises.
  • author - les informations sur l'auteur de tout format
  • site - la page de la description et du support due plugin. Cela peut être le site, le sujet du forum ou un billet dans le blog.
  • contact - les détails de contact de l'auteur de tout format

Les balises ne sont pas obligatoires (sauf manager). Nous vous conseillons de remplir toutes les informations. La description de plugin est présentée comme suit

<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<plugin> 
<name lang="ru">Massive password change</name>
<description lang="ru">Plug-in that can be used for massive password change. On the users' list a new icon will display, select the users whose passwords you wish to change and click this icon.</description>
<url>http://download.ispsystem.com/plugins/plugins/masspasswdchange.tar.gz</url>
<version>1.0</version>
<lang>perl</lang>
<langver strict="yes">5.8</langver>
<require>XML-LibXML</require>
<require>DBD-mysql</require>
<require>Math-BigInt</require>
<manager>ispmgr</manager>
<author>John Ivanov</author>
<site>http://mysite.com/plugin1</site>
<contact>ICQ: 123; email:user@example.com</contact>
</plugin>
 tags that describe functionality of the plug-in
</mgrdata>

Scripts des plugins

Le plugin peut contenir les scripts suivants

  • preinstall – le script demandé avant l'installation de plugin
  • postinstall – le script demandé après l'installation de plugin
  • preupdate – le script demandé avant la mise à jour
  • postupdate – le script demandé après la mise à jour
  • predelete – le script demandé avant la suppression de plugin

Tous les scripts doivent être dans le répertoire var/.plugin_scripts/ et ont des noms, tels que: NAME_TYPE, où NAME - le nom de plugin, TYPE - le type de script, par exemple:apachestatus_preinstall

Si la réalisation du script est réussie, il reviendra 0. Mais s'il y a des erreurs, le code de retour sera différent de 0 et la sortie (stdout) contiendra tout message qui sera affiché à l'utilisateur.

Pas sur l'installation

Après l'installation de plugin, les actions suivantes seront réalisées:

  • le plugin sera téléchargé sur le serveur et l'archive sera ouverte dans le répertoire
  • l'interpréteur et sa version seront vérifiés
  • les modules nécessaires seont vérifiés
  • le script preinstall sera lancé
  • le fichier du plugin sera copié dans le répertoire du panneau de configuration. Puis, le panneau sera redémarré.
  • le script postinstall sera lancé

S'il y a une erreur, l'installation sera interrompue et tous les fichiers des plugins seront supprimés. En cas d'erreur, les scripts preinstall et postinstall doivent corriger la situation.


Mise à jour

Le panneau de configuration peut trouver des mises à jour de plugins, les installer ou vous informe de la présence de ces versions.

Le processus du renouvellement est identique à celui de l'installation sauf les scripts demandés/ En cas de mise à jour, les scripts preupdate et postupdate seront lancés. Attention! Si le script revient postupdate l'erreur, le plugin sera supprimé.

Cet article vous a-t-il été utile? Oui | Non
Affichages