Communication entre les modules : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
 
(28 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
[[Catégorie:Développement de modules]]
 +
[[Catégorie:Technologies à l'étude]]
 +
 +
== Dépendances entre les modules au moment de l'installation ==
 +
 
Lors de l'installation d'un module, des dépendances peuvent êtres utilisées, le nom des modules dépendants doivent être ajoutés dans le fichier addonini.php avec le numéro de version minimum nécessaire dans la section "addons" :
 
Lors de l'installation d'un module, des dépendances peuvent êtres utilisées, le nom des modules dépendants doivent être ajoutés dans le fichier addonini.php avec le numéro de version minimum nécessaire dans la section "addons" :
  
exemple avec le module ivdashboard qui nécessite le module client :
+
exemple avec le module dashboard qui nécessite le module client :
 
<pre>
 
<pre>
  
 
[general]
 
[general]
name="ivdashboard"
+
name="dashboard"
 
version=6.09
 
version=6.09
description="Gestion de projets INVIVO"
+
description="Gestion de projets"
db_prefix="ivd_"
+
db_prefix="gdp_"
 
ov_version=5.6.2
 
ov_version=5.6.2
 
php_version=4.1.2
 
php_version=4.1.2
Ligne 18 : Ligne 23 :
 
</pre>
 
</pre>
  
 +
== Gestionnaire d'événements et fonctionnalités ==
  
Pour que les différents modules puissent partager des fonctions, les développeurs pourrons utiliser le [[API du gestionnaire d'événement|gestionnaire d'événements]]
+
Pour que les différents modules puissent partager des fonctions, les développeurs pourront utiliser le [[API du gestionnaire d'événement|gestionnaire d'événements]] et l'[[API des fonctionnalités]]
 
+
[[Image:Com addons.jpg]]
+
 
+
 
+
 
+
== DRAFT : API d'appel de fonction direct entre les modules ==
+
 
+
=== Proposer une fonction ===
+
 
+
Chaque module proposant une ou plusieurs fonctions disponibles pour les autres modules devra contenir un fichier "interface.php" avec un objet contenant des méthodes statiques.
+
 
+
Le nom de l'objet sera crée à partir du nom du module de la manière suivante : addonname_interface
+
 
+
La syntaxe [[phpdoc|http://www.phpdoc.org/]] devra être utilisée pour définir le numéro de version du module minimum requis.
+
 
+
exemple :
+
 
+
<pre>
+
 
+
 
+
class forms_interface {
+
+
/**
+
* get form object
+
* @since 5.0
+
* @static
+
*/
+
function getForm($id_form) {
+
+
}
+
}
+
 
+
 
+
</pre>
+
 
+
 
+
=== Appeler une fonction ===
+
 
+
Lors de l'appel d'un fonction d'un autre module, les droits ACL du module cible sont testés, il faut utiliser la fonction bab_callAddon() avec les paramètres suivants :
+
  
* nom de l'addon
+
[[Image:Com addons.svg]]
* nom de la méthode
+
* ... (un ou plusieurs paramètres qui serons passés à la méthode cible)
+

Version actuelle en date du 6 mars 2009 à 11:07


Dépendances entre les modules au moment de l'installation

Lors de l'installation d'un module, des dépendances peuvent êtres utilisées, le nom des modules dépendants doivent être ajoutés dans le fichier addonini.php avec le numéro de version minimum nécessaire dans la section "addons" :

exemple avec le module dashboard qui nécessite le module client :


[general]
name="dashboard"
version=6.09
description="Gestion de projets"
db_prefix="gdp_"
ov_version=5.6.2
php_version=4.1.2
mysql_version=3.23

[addons]
clients=2.8

Gestionnaire d'événements et fonctionnalités

Pour que les différents modules puissent partager des fonctions, les développeurs pourront utiliser le gestionnaire d'événements et l'API des fonctionnalités

Com addons.svg