API Addon - OVML : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
 
(Introduction)
Ligne 2 : Ligne 2 :
 
== Introduction ==
 
== Introduction ==
  
Il est important de connaître le langage OVML pour comprendre la suite de ce chapitre (Voir la documentation OVML).
+
Il est indispensable de connaître le langage OVML pour comprendre la suite de ce chapitre (Voir la documentation OVML).
  
Le langage OVML apparaît dans Ovidentia afin de permettre aux utilisateurs de récupérer des données qui se retrouveront par la suite dans des fichiers HTML. Ces données sont généralement présentes dans la base de données. Dans le cadre d'un module, il est parfois nécessaire de créer de nouvelles fonctions OVML si l'interface ne permet pas tout. Par exemple, dans le cas d'un gestionnaire de fichiers, des fonctions OVML permettent de créer soi-même son interface html de visualisation.
+
Le langage OVML apparaît dans Ovidentia afin de permettre aux administrateurs de personnaliser leurs pages d'accueil ou autres fichiers. L'avantage du langage est qu'il s'intègre facilement dans un code html et que son code reste compatible avec les nouvelles versions d'Ovidentia. Les données récupérées sont généralement présentes dans la base de données, la syntaxe du langage évite des accès directs aux enregistrements.
 +
Dans le cadre d'un module, il est parfois nécessaire de créer de nouvelles fonctions OVML si les fonctions existantes du noyau ne sont pas suffisantes.
  
On remarque dans la documentation générale de l'OVML, cette syntaxe d'utilisation dans le cadre des modules :
+
Syntaxe d'utilisation des containers OvML des modules :
  
 
<OCAddon name="" param1="" param1="" ...>
 
<OCAddon name="" param1="" param1="" ...>
Ligne 19 : Ligne 20 :
  
 
Explication :
 
Explication :
Lorsqu'on va utiliser cette syntaxe, le moteur ovml d'Ovidentia va envoyer au module plusieurs données ainsi que les paramètres du container <OCAddon>. De son côté, le module renvoit les valeurs correspondantes aux variables de la fonction utilisée (<OVvar1> et <OVvar2>).
+
Lorsqu'on va utiliser le container OCAddon, le moteur ovml d'Ovidentia va envoyer au module plusieurs données ainsi que les paramètres du container OCAddon. De son côté, le module renvoit les valeurs correspondantes aux variables de la fonction utilisée (<OVvar1> et <OVvar2> dans cet exemple).
  
 
== Fonctionnement ==
 
== Fonctionnement ==

Version du 4 janvier 2007 à 10:32

Introduction

Il est indispensable de connaître le langage OVML pour comprendre la suite de ce chapitre (Voir la documentation OVML).

Le langage OVML apparaît dans Ovidentia afin de permettre aux administrateurs de personnaliser leurs pages d'accueil ou autres fichiers. L'avantage du langage est qu'il s'intègre facilement dans un code html et que son code reste compatible avec les nouvelles versions d'Ovidentia. Les données récupérées sont généralement présentes dans la base de données, la syntaxe du langage évite des accès directs aux enregistrements. Dans le cadre d'un module, il est parfois nécessaire de créer de nouvelles fonctions OVML si les fonctions existantes du noyau ne sont pas suffisantes.

Syntaxe d'utilisation des containers OvML des modules :

<OCAddon name="" param1="" param1="" ...> <OVvar1> <OVvar2> </OCAddon>

name : nom de l'add-on où se trouve la fonction (préfixe de l'add-on) param1 : premier paramètre d'envoi au module, généralement le nom de la fonction à utiliser param2 : deuxième paramètre d'envoi au module, généralement le premier paramètre de la fonction ovml du module …

Explication : Lorsqu'on va utiliser le container OCAddon, le moteur ovml d'Ovidentia va envoyer au module plusieurs données ainsi que les paramètres du container OCAddon. De son côté, le module renvoit les valeurs correspondantes aux variables de la fonction utilisée (<OVvar1> et <OVvar2> dans cet exemple).

Fonctionnement

Pour gérer de nouvelles fonctions OVML dans notre module, il faut ajouter un fichier ovml.php dans le répertoire avec les fichiers PHP (dossier Programs dans le fichier zip ou $babInstallPath/addons/add-on prefix).

Le fichier ovml.php doit contenir la fonction :

function addon-name_ovml($args) {} où addon-name est le préfixe du nom de l'add-on et $args est un tableau associatif qui contiendra les noms des paramètres envoyés ainsi que leurs valeurs

Le fonctionnement de cette fonction est laissé au programmeur. Exemple de récupération des paramètres : if (isset($args['param1'])) { switch($args['param1']){ case '1': ... case '2': ... } }

Une chose importante est de toujours renvoyer un tableau indexé comprenant des tableaux associatifs contenant les noms des variables (sans le préfixe OV) et leurs valeurs. Le tableau renverra plusieurs lignes donc plusieurs tableaux des mêmes variables dans le cas où plusieurs résultats sont retournés. Le container ovml <OCAddon> fera autant de boucles qu'il y a d'index dans le tableau.

Remarque : si aucun résultat, il faut renvoyer un tableau vide. Exemple de renvoi du tableau : $tab = array(); $feed['var1'] = "value var1"; $tab[0] = $feed; return $tab;