Will my package run on OTOBO and Znuny?

Why OTOBO, Znuny, and OTRS packages usually work across forks — and how to make your .opm available for all three forks using the correct <Framework> settings.

Will my package run on OTOBO and Znuny?

Short answer: usually yes — but you have to declare it correctly. OTOBO, Znuny, and OTRS Community Edition all originate from the same OTRS codebase and share the .opm format. The most common reason why a package cannot be installed on a fork is a missing <Framework> line, not the code itself.

Version lines differ

ForkVersion Lines
OTOBO10.0.x, 10.1.x, 11.0.x, 11.1.x
Znuny6.0.x6.5.x, 7.0.x, 7.1.x
OTRS Community Edition5.0.x, 6.0.x

A package that only declares <Framework>6.0.x</Framework> will be rejected by the OTOBO package manager — even though the exact same code often runs there without issues. The package manager only checks the declared version.

Solution: declare multiple frameworks

xml
<Framework>11.0.x</Framework>   <!-- OTOBO -->
<Framework>7.0.x</Framework>    <!-- Znuny -->
<Framework>6.0.x</Framework>    <!-- OTRS CE -->

The compatibility checker instantly shows which forks your package targets and suggests missing sister versions.

Declaration is not a free pass

A matching <Framework> line only permits installation. Before releasing for another fork, check:

  • Internal API calls — some Kernel::System::* modules differ between OTOBO and Znuny.
  • Templates — OTOBO has modernized parts of the frontend.
  • Database schema — rare, but possible for core-related packages.

Test on every target version, ideally in an automated way (see CI/CD with opmbuild).

Increase reach

If your package supports multiple forks, list it on Open ITSM Hub with all compatible systems — this helps users across all three communities find it.