Ir al contenido

Desarrollo de plugins con paquetes OPM

En esta sección aprenderás cómo crear, instalar y distribuir tus propios plugins como paquetes OPM para Znuny.

Sección titulada «En esta sección aprenderás cómo crear, instalar y distribuir tus propios plugins como paquetes OPM para Znuny.»

El archivo SOPM (*.sopm) contiene todos los metadatos de tu paquete: `.sopm“

  • Nombre/Versión/Framework: Identificador único del paquete y versión de Znuny compatible.
  • Filelist: Todos los archivos que se copiarán durante la instalación.

Crea tu paquete en un directorio propio, p. ej., MyExtension/: *.sopm

  • Kernel/Config/Files/XML/: Registra módulos, menús o Dynamic Fields.
  • Kernel/System/: Clase de lógica de negocio.
  • Kernel/Modules/: Frontend-Controller.
  • Templates & Idioma: Archivos TT + .pm de traducción.

Utiliza la herramienta CLI para construir un OPM a partir de tu SOPM: MyExtension/

Admin-UI: Sube el paquete en Admin → Configuración → Gestión de paquetes. Consola: Kernel/Config/Files/XML/MyExtension.xml Para desinstalar o actualizar: Kernel/System/DynamicField/Driver/MyCustomField.pm

Sección titulada «Admin-UI: Sube el paquete en Admin → Configuración → Gestión de paquetes. Consola: Kernel/Config/Files/XML/MyExtension.xml Para desinstalar o actualizar: Kernel/System/DynamicField/Driver/MyCustomField.pm»

En Kernel/Config/Files/XML/MyExtension.xml registras un nuevo Dynamic Field Driver: Kernel/System/Event/Handler/MyHandler.pm Implementa el Driver en Kernel/System/DynamicField/Driver/MyCustomField.pm.

Registra tu Event-Handler: Run() Implementa el handler en Kernel/System/Event/Handler/MyHandler.pm (método Run()).

Kernel/System/Output/Filter/MyFilter.pm Filtro en Kernel/System/Output/Filter/MyFilter.pm.

Sección titulada «Kernel/System/Output/Filter/MyFilter.pm Filtro en Kernel/System/Output/Filter/MyFilter.pm.»
  • Índice del repositorio: Genera Packages.xml para tu propio repositorio: Packages.xml
  • Añade la URL de tu repositorio en SysConfig bajo Package::RepositoryList.
  • OTOpar: Sube tu OPM a https://otopar.perl-services.de para que otros puedan instalarlo directamente.

  1. Crear SOPM con el nombre MyCalendar.
  2. Script de BD sql/create_calendar.sql para la tabla calendar_events.
  3. Config-XML define un nuevo campo de ticket “Cita”.
  4. Módulo Core Kernel/System/CalendarEvent.pm con métodos CRUD.
  5. Módulos Frontend Kernel/Modules/AgentCalendar.pm, template AgentCalendar.tt.
  6. Construir el paquete y subirlo a OTOpar.

  • Ajustar el número de versión en el sopm (SemVer).
  • Versionar correctamente las migraciones de BD en sql/.
  • Crear Unit-Tests para las clases de sistema y módulos.
  • Documentación en el README más POD en los módulos Perl.
  • Traducciones en Language/de_*.pm y en_*.pm. Con esto tienes una base sólida para desarrollar tus propios plugins de Znuny, distribuirlos y mantenerlos en proyectos de clientes. ¡Que te diviertas!