Chapter 4. How to Publish Your OTRS Extensions

Table of Contents

Package Management
Package Distribution
Package Commands
Install
Uninstall
Upgrade
List
Package Building
Package Spec File
<Name>
<Version>
<Framework>
<Vendor>
<URL>
<License>
<ChangeLog>
<Description>
Package Actions
<BuildHost>
<BuildDate>
<PackageRequired>
<ModuleRequired>
<OS>
<Filelist>
<DatabaseInstall>
<DatabaseUpgrade>
<DatabaseReinstall>
<DatabaseUninstall>
<IntroInstall>
<IntroUninstall>
<IntroReinstall>
<IntroUpgrade>
<CodeInstall>
<CodeUninstall>
<CodeReinstall>
<CodeUpgrade>
<PackageMerge>
Conditions: IfPackage and IfNotPackage
Example .sopm
Package Build
Package Life Cycle - Install/Upgrade/Uninstall
Package Porting
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
UnitTests
Custom TicketHistory 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 repositiory, 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/otrs.PackageManager.pl -a index -d /path/to/repository/ > /path/to/repository/otrs.xml

Package Commands

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

Install

Install OPM packages.

Uninstall

Uninstall OPM packages.

Upgrade

Upgrade OPM packages.

List

List all OPM packages.