Aller au contenu

Développement de plugins avec des paquets OPM

Dans cette section, vous apprendrez à créer, installer et distribuer vos propres plugins sous forme de paquets OPM pour Znuny.

Section intitulée « Dans cette section, vous apprendrez à créer, installer et distribuer vos propres plugins sous forme de paquets OPM pour Znuny. »

Le fichier SOPM (*.sopm) contient toutes les métadonnées de votre paquet : `.sopm“

  • Nom/Version/Framework : Identifiant unique du paquet et version de Znuny compatible.
  • Filelist : Tous les fichiers qui seront copiés lors de l’installation.

Créez votre paquet dans un répertoire dédié, par ex. MyExtension/ : *.sopm

  • Kernel/Config/Files/XML/ : Enregistre les modules, menus ou Dynamic Fields.
  • Kernel/System/ : Classe de logique métier.
  • Kernel/Modules/ : Contrôleur Frontend.
  • Templates & Langue : Fichiers TT + .pm de traduction.

Utilisez l’outil CLI pour construire un OPM à partir de votre SOPM : MyExtension/

Admin-UI : Téléchargez le paquet via Admin → Paramètres → Gestionnaire de paquets. Console : Kernel/Config/Files/XML/MyExtension.xml Pour désinstaller ou mettre à jour : Kernel/System/DynamicField/Driver/MyCustomField.pm

Section intitulée « Admin-UI : Téléchargez le paquet via Admin → Paramètres → Gestionnaire de paquets. Console : Kernel/Config/Files/XML/MyExtension.xml Pour désinstaller ou mettre à jour : Kernel/System/DynamicField/Driver/MyCustomField.pm »

Dans Kernel/Config/Files/XML/MyExtension.xml, vous enregistrez un nouveau Dynamic Field Driver : Kernel/System/Event/Handler/MyHandler.pm Implémentez le Driver dans Kernel/System/DynamicField/Driver/MyCustomField.pm.

Enregistrez votre Event-Handler : Run() Implémentez le handler dans Kernel/System/Event/Handler/MyHandler.pm (méthode Run()).

Kernel/System/Output/Filter/MyFilter.pm Filtre dans Kernel/System/Output/Filter/MyFilter.pm.

Section intitulée « Kernel/System/Output/Filter/MyFilter.pm Filtre dans Kernel/System/Output/Filter/MyFilter.pm. »
  • Index du dépôt : Générez Packages.xml pour votre propre dépôt : Packages.xml
  • Ajoutez l’URL de votre dépôt dans la SysConfig sous Package::RepositoryList.
  • OTOpar : Téléchargez votre OPM sur https://otopar.perl-services.de afin que d’autres puissent l’installer directement.

  1. Créer le SOPM avec le nom MyCalendar.
  2. Script DB sql/create_calendar.sql pour la table calendar_events.
  3. XML de configuration définissant un nouveau champ de ticket « Rendez-vous ».
  4. Module Core Kernel/System/CalendarEvent.pm avec des méthodes CRUD.
  5. Modules Frontend Kernel/Modules/AgentCalendar.pm, template AgentCalendar.tt.
  6. Construire le paquet et le télécharger sur OTOpar.

  • Adaptez le numéro de version dans le sopm (SemVer).
  • Versionnez proprement les migrations DB dans sql/.
  • Créez des tests unitaires pour les classes système et les modules.
  • Documentation dans le README plus POD dans les modules Perl.
  • Traductions dans Language/de_*.pm et en_*.pm. Vous disposez ainsi d’une base solide pour développer, distribuer et maintenir vos propres plugins Znuny dans vos projets clients. Amusez-vous bien !