svn:Plugin

Dernière modification : 2008/03/10 23:02

Cette possibilité existe uniquement à partir de WiKiss 0.3

Principes

Les plugins sont des extensions à WiKiss permettant de lui ajouter de nouvelles fonctionnalités.

  • un plugin ↔ un fichier php commençant par wkp_ ↔ une classe
  • regroupés dans un répertoire et chargés automatiquement → plugins/

Liste de plugins

Développement d'un plugin


Structure

Un plugin se présente sous la forme d'un fichier .php installé dans le répertoire plugins de votre WiKiss.
Le nom de ce fichier doit être de la forme wkp_<LeNomDuPlugin>.php. Ce fichier ne contient qu'une classe nommée LeNomDuPlugin.

<?php # coding: utf-8
/* fichier wkp_MyWikissPlugin.php */
class MyWikissPlugin
{
   /* votre code */
}
?>


Méthodes

__construct

  • appelée à l'initialisation du plugin

__destruct

  • appelée à la destruction du plugin

__toString

  • appelée pour avoir une description du plugin

writedPage

  • appelée après l'écriture (la modification) d'une page
  • utilisable typiquement pour un flux rss, un envoi de mail ...

action

  • appelée lorsqu'une action est inconnue
  • in: le nom de l'action
  • out: TRUE si action traitée, FALSE sinon

formatBegin

  • appelée au début de l'analyse du formatage de la page

formatEnd

  • appelée à la fin de l'analyse du formatage de la page

template

  • appelée lors de la phase de remplissage du template html

Attributs

Note: l'attribut description de la version 0.3 est remplacé par la méthode __toString()


Archive

Le plugin doit être fournit sous forme d'une archive contenant tous les fichiers nécessaires au plugin. La racine de celle-ci doit être la racine de WiKiss. De plus elle doit contenir l'arborescence du plugin.
Le nom de celle-ci doit être le nom du plugin.
Par exemple l'archive d'un plugin très simple devra contenir :
plugins/
plugins/wkp_TresSimple.php



Exemples

Vous trouverez dans le répertoire plugins de WiKiss quelques plugins simples sur lesquels vous pouvez vous baser.
Un squelette de plugin est aussi disponible.

Idées de Plugins

  • Upload
  • Genération de flux RSS wkp_Rss
  • Intégration de page dynamique
  • Ajout de contenu embeded (vidéo YouTube ...)
  • Gestion des templates (à la fvaTigerWiki) wkp_Themes
  • Fil d'Arianne
  • Hiérarchisation des pages
  • gestion des pages (verrouiller ...)
  • Liste des plugins installés wkp_ListPlugins

Performances

Le nombre de plugins peut faire chuter les performances de WiKiss.
Tests réalisés sur un vieux Celeron, moyenne de 100 affichages de la page TestSpeed avec instrumentation du code et avec la version WiKiss 0.3rc1.
Entre () le nombre de plugins. Les chiffres sont en secondes
WiKiss 0.2.1      : 0,388500
WiKiss 0.3dev ( 0): 0,370330
WiKiss 0.3dev ( 2): 0,392012
WiKiss 0.3dev (12): 0,494774
WiKiss 0.3dev (12): 0,530683 *

* : version abandonnée (avec passage de paramètres)