|
|
| (19 révisions intermédiaires par 3 utilisateurs non affichées) |
| Ligne 1 : |
Ligne 1 : |
| − | == Introduction ==
| + | [[:Catégorie:Développement de modules|Développement de modules]] |
| − | | + | |
| − | Un module d'Ovidentia est une archive qui peut être distribuée et qui améliore les fonctionnalités du portail. Les méthodes de développement utilisées dans les modules sont les mêmes que celles du noyau ; de ce fait, les modules utilisent les fonctions disponibles dans le noyau (moteur de templates, gestion des droits ...)
| + | |
| − | | + | |
| − | Les templates d'Ovidentia représentent l'outils qui permet de séparer le code PHP du code HTML ; la gestion des skins d'ovidentia est basée sur ce principe. Les modules sont généralement développés en utilisant cette technologie.
| + | |
| − | | + | |
| − | Ce document est un guide qui fourni au développeur toutes les étapes nécessaires à la construction d'un module basique. Le lecteur doit être familiarisé au préalable avec les notions de développement PHP HTML et CSS.
| + | |
| − | | + | |
| − | == Structure du module ==
| + | |
| − | | + | |
| − | | + | |
| − | Pour créer un module, il faut créer les répertoires nécessaires dans l'arborescence d'Ovidentia en utilisant un nom unique pour le module. Pour connaître la disposition des répertoires autorisés dans un module, consultez la page [[Structure des répertoires d'un module]]
| + | |
| − | | + | |
| − | Dans le répertoire contenant les fichiers php (programs), il existe des fichiers avec des noms imposés :
| + | |
| − | | + | |
| − | * [[Fichiers spécifiques des modules#addonini.php|addonini.php]]
| + | |
| − | * [[Fichiers spécifiques des modules#ovml.php|ovml.php]]
| + | |
| − | * [[Fichiers spécifiques des modules#history.txt|history.txt]]
| + | |
| − | * [[Fichiers spécifiques des modules#init.php|init.php]]
| + | |
| − | | + | |
| − | == Gestion de la base de donnés ==
| + | |
| − | | + | |
| − | Le lien avec le serveur de base de donnés MySQL se fait au travers d'un objet php, le client mysql de php n'est pas utilisé directement, l'objet bab_database propose quelques fonction supplémentaires décrites dans la documentation ci-dessous :
| + | |
| − | | + | |
| − | * [[Documentation de l'objet bab_database]]
| + | |
| − | | + | |
| − | == Les fonction d'Ovidentia ==
| + | |
| − | | + | |
| − | Les fonctions disponibles pour les modules se trouvent dans les fichier utilit/addonapi.php, les fonctions des autres fichiers qui ne sont pas spécifiées dans ce wiki comme disponibles ne doivent pas être utilisées car elles sont sujettes à modification ou suppression dans les futures versions d'Ovidentia.
| + | |
| − | | + | |
| − | == Les variables globales ==
| + | |
| − | | + | |
| − | Lors du développement dans le contexte d'un module, certaines variables globales peuvent êtres utilisées.
| + | |
| − | | + | |
| − | * [[Liste des variables globales pour les modules]]
| + | |
| − | | + | |
| − | == Templates ==
| + | |
| − | | + | |
| − | Les moteur de template est une fonction qui permet la fusion d'un fichier HTML avec des balises spécifiques dit "template" avec un object php.
| + | |
| − | | + | |
| − | * [[Exemple d'utilisation de la fonction bab_printTemplate()]]
| + | |
| − | * [[Syntaxe des templates]]
| + | |
| − | * [[Nouveau moteur de templates]]
| + | |
| − | | + | |
| − | == Droits d'accès ==
| + | |
| − | | + | |
| − | Les modules peuvent utiliser l'interface ACL qui est visibles dans les fonctions de base d'Ovidentia. Cela permet d'assigner des droits d'accès à un élément en fonction des groupes d'utilisateurs du portail.
| + | |
| − | | + | |
| − | * Voir la documentation : [[Access Control List]]
| + | |
| − | | + | |
| − | == Utiliser des fonction avancées d'Ovidentia ==
| + | |
| − | | + | |
| − | | + | |
| − | === Le gestionnaire d'événements ===
| + | |
| − | | + | |
| − | Le gestionnaire d'événements est un outil qui permet de s'enregistrer lors de l'installation du module afin d'être notifié de l'exécution de certaines actions ou à l'inverse, prévenir d'autres modules.
| + | |
| − | | + | |
| − | * [[API du gestionnaire d'événement]]
| + | |
| − | * [[Communication entre les modules]] (Technologie à l'étude)
| + | |
| − | | + | |
| − | === Proposer un service OVML ===
| + | |
| − | | + | |
| − | L'implémentation de conteneurs OVML dans un module permet de proposer sur la page d'accueil du portail, la possibilité d'afficher les derniers éléments publiés dans le module.
| + | |
| − | | + | |
| − | * [[Implémentation de containers OVML dans un module]]
| + | |
| − | | + | |
| − | === Envoyer des e-mail ===
| + | |
| − | | + | |
| − | Pour envoyer des email de notification en utilisant la configuration du portail, il faut inclure le fichier de la fonction email d'Ovidentia avec cette syntaxe :
| + | |
| − | | + | |
| − | include_once $babInstallPath."utilit/mailincl.php";
| + | |
| − | | + | |
| − | Ensuite, la fonction bab_mail() permet d'obtenir une instance de l'objet nécessaire à l'envoi des e-mail.
| + | |