Chapter 4. How to Publish Your OTRS Extensions

Table of Contents

Package Management
Package Distribution
Package Commands
Package Building
Package Spec File
Package Actions
Conditions: IfPackage and IfNotPackage
Example .sopm
Package Build
Package Life Cycle - Install/Upgrade/Uninstall
Package Porting
From OTRS 5 to 6
Date and time calculation
Adding the drag & drop multiupload
Improvements to administration screens
Migrate configuration files
Perldoc structure changed
Improvements to templating and working with JavaScript
Checking user permissions
Ticket API changes
Article API changes
SysConfig API changes
LinkObject API changes
Communication Log support for additional PostMaster Filters
Process MailQueue for unit tests
Widget Handling in Ticket Zoom Screen
From OTRS 4 to 5
Kernel/Output/HTML restructured
IE 8 and IE 9
GenericInterface API change in "Ticket" connector
Preview functions in dynamic statistics
HTML print discarded
Translation string extraction improved
From OTRS 3.3 to 4
New Object Handling
CacheInternalObject removed
Scheduler backend files moved
Update code sections in SOPM files
New Template Engine
New FontAwesome version
Unit Tests
Custom Ticket History types

Package Management

The OPM (OTRS Package Manager) is a mechanism to distribute software packages for the OTRS framework via HTTP, FTP or file upload.

For example, the OTRS project offers OTRS modules like a calendar, a file manager or web mail in OTRS packages via online repositories on our ftp servers. The packages can be managed (install/upgrade/uninstall) via the admin interface.

Package Distribution

If you want to create an OPM online repository, just tell the OTRS framework where the location is by activating the SysConfig setting Package::RepositoryList and adding the new location there. Then you will have a new select option in the package manager.

In your repository, create an index file for your OPM packages. OTRS just reads this index file and knows what packages are available.

shell> bin/ Dev::Package::RepositoryIndex /path/to/repository/ > /path/to/repository/otrs.xml

Package Commands

You can use the following OPM commands over the admin interface or over bin/ to manage admin jobs for OPM packages.


Install OPM packages.


Uninstall OPM packages.


Upgrade OPM packages.


List all OPM packages.