OTOBO- & Znuny-Paket bauen (.opm)

Schritt-für-Schritt: von der Verzeichnisstruktur über das .sopm-Manifest bis zur fertigen .opm-Datei für OTOBO, Znuny und OTRS CE.

OTOBO- & Znuny-Paket bauen (.opm)

Ein .opm-Paket ist ein XML-Container, der Perl-Code, Konfiguration, Datenbank-Änderungen und Frontend-Dateien bündelt. Gebaut wird es aus einem .sopm-Quellmanifest plus den zugehörigen Dateien. OTOBO, Znuny und die OTRS Community Edition nutzen dasselbe Format — der wesentliche Unterschied ist das Wurzelelement (otobo_package vs. otrs_package).

1. Verzeichnisstruktur anlegen

Legen Sie Ihre Dateien an den Pfaden an, an denen sie später im Ziel-System liegen sollen:

MyPackage/
├── MyPackage.sopm
├── Kernel/
│   └── Config/
│       └── Files/
│           └── XML/
│               └── MyPackage.xml
└── var/
    └── httpd/
        └── htdocs/
            └── js/
                └── MyPackage.js

2. Das .sopm-Manifest erstellen

Das Manifest deklariert Metadaten, kompatible Frameworks und die vollständige Dateiliste. Nutzen Sie den .sopm-Generator, um ein gültiges Manifest per Formular zu erzeugen:

<?xml version="1.0" encoding="utf-8" ?>
<otobo_package version="1.1">
    <Name>MyPackage</Name>
    <Version>1.0.0</Version>
    <Framework>11.0.x</Framework>
    <Framework>7.0.x</Framework>
    <Vendor>Example GmbH</Vendor>
    <URL>https://example.com/</URL>
    <License>GPL-3.0</License>
    <Description Lang="en">A short description.</Description>
    <Description Lang="de">Eine kurze Beschreibung.</Description>
    <Filelist>
        <File Permission="660" Location="Kernel/Config/Files/XML/MyPackage.xml" />
        <File Permission="644" Location="var/httpd/htdocs/js/MyPackage.js" />
    </Filelist>
</otobo_package>

Jede Datei auf der Festplatte muss in der <Filelist> stehen — und umgekehrt. Der .sopm-Validator prüft die wichtigsten Regeln direkt im Browser.

3. Das Paket bauen

Mit einer laufenden OTOBO-/Znuny-Installation:

# OTOBO
bin/otobo.Console.pl Dev::Package::Build /pfad/zu/MyPackage.sopm /ziel/verzeichnis/

# Znuny / OTRS
bin/otrs.Console.pl Dev::Package::Build /pfad/zu/MyPackage.sopm /ziel/verzeichnis/

Ohne installiertes Ticket-System (z. B. in CI/CD) nutzen Sie opmbuild aus dem CPAN-Modul OPM::Maker:

cpanm OPM::Maker
opmbuild build --output /ziel/verzeichnis/ /pfad/zu/MyPackage.sopm

Details dazu in der CI/CD-Anleitung.

4. Installieren & testen

Installieren Sie das erzeugte .opm über den Paketmanager (Admin → Paketverwaltung → Paket installieren) oder per Konsole:

bin/otobo.Console.pl Admin::Package::Install /ziel/verzeichnis/MyPackage-1.0.0.opm

Nächste Schritte