Chapter 1. Getting Started

Table of Contents

Development Environment
Framework checkout
Linking Expansion Modules
Necessary Actions after Linking
Architecture Overview
Core Modules
Frontend Handle
Frontend Modules
CMD Frontend
Generic Interface Modules
Generic Interface Invoker Modules
Generic Interface Mapping Modules
Generic Interface Operation Modules
Generic Interface Transport Modules
Scheduler Task Handler Modules


OTRS is a multi-platform web application framework which was originally developed for a trouble ticket system. It supports different web servers and databases.

This manual shows how to develop your own OTRS modules and applications based on the OTRS styleguides.

Development Environment

To facilitate the writing of OTRS expansion modules, the creation of a development environment is necessary. The source code of OTRS and additional public modules can be found on github.

Framework checkout

First of all a directory must be created in which the modules can be stored. Then switch to the new directory using the command line and check them out of OTRS 3.1 or the git master by using the following command:

# for git master
shell> git clone git:// -b master
# for a specific branch
shell> git clone git:// -b rel-3_1

Check out the "module-tools" module (from github) too, for your development environment. It contains a number of useful tools.

To enable the new OTRS system it is necessary to configure it on the Apache web server and to create the Then the can be executed. The basic system is ready to run now.

Linking Expansion Modules

A clear separation between OTRS and the modules is necessary for proper developing. Particularly when using a git, a clear separation is crucial. In order to facilitate the OTRS access to the files, links must be created. This is done by a script in the directory module tools (to get this tools, check out the git module "module-tools"). Example: Linking the Calendar Module:

shell> ~/src/module-tools/ ~/src/Calendar/ ~/src/otrs/

Whenever new files are added, they must be linked as described above.

To remove links from OTRS enter the following command:

shell> ~/src/module-tools/ ~/src/otrs/

Necessary Actions after Linking

As soon as the linking is completed, the Sysconfig must be run to register the module in OTRS. Required users, groups and roles must be created manually and access authorizations must be defined. If an additional databank table is required, this must be created manually, too. If an OPM package exists, the SQL commands can be read out to create the tables. Example:

shell> cat Calendar.sopm | bin/ -t mysql