- HTML Admin-Manual
- PDF Admin-Manual
- HTML ITSM-Manual
- PDF ITSM-Manual
- HTML Developer-Manual
- PDF Developer-Manual
- HTML Developer-API
OTRS 2.2 - Developer Manual
Copyright © 2003-2007 OTRS AG
Christian Schöpplein, Richard Kammermeyer, Stefan Rother, Thomas Raith, Burchard Steinbild, Andre Mindermann, Christopher Kuhn, Martin Edenhofer
This work is copyrighted by OTRS AG.
You may copy it in whole or in part as long as the copies retain this copyright statement.
UNIX is a registered trademark of X/Open Company Limited. Linux is a registered trademark of Linus Torvalds.
MS-DOS, Windows, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP and Windows 2003 are registered trademarks of Microsoft Corporation. Other trademarks and registered trademarks are: SUSE and YaST of SUSE GmbH, Red Hat and Fedora are registered trademarks of Red Hat, Inc. Mandrake is a registered trademark of MandrakeSoft, SA. Debian is a registered trademark of Software in the Public Interest, Inc. MySQL and the MySQL Logo are registered trademarks of MySQL AB.
All trade names are used without the guarantee for their free use and are possibly registered trade marks.
OTRS AG essentially follows the notations of the manufacturers. Other products mentioned in this manual may be trademarks of the respective manufacturer.
- Table of Contents
- 1. Introduction
- 2. Coding Style Guide
- 2.1. Formatting
- 2.2. Naming
- 2.3. Source Code Header and Charset
- 2.4. Version Comments
- 2.5. Objects and their allocation
- 2.6. Special comments
- 2.7. Restrictions for some functions
- 2.8. Using of the MainObject
- 2.9. Perldoc
- 2.10. Length of lines
- 3. Architecture
- 3.1. Directories
- 3.2. Files
- 3.3. Core Modules
- 3.4. Frontend Handle
- 3.5. Frontend Modules
- 3.6. CMD Frontend
- 3.7. Database
- 4. Config Mechanism
- 4.1. Default Config
- 4.2. Custom Config
- 4.3. Accessing Config Options
- 4.4. XML Config Options
- 4.4.1. Types of XML Config Variables
- 4.4.2. String
- 4.4.3. Textarea
- 4.4.4. Options
- 4.4.5. Array
- 4.4.6. Hash
- 4.4.7. Hash with SubArray, SubOptions, SubHash
- 4.4.8. FrontendModuleReg (NavBar)
- 4.4.9. FrontendModuleReg (NavBarModule)
- 5. Database Mechanism
- 5.1. How it works
- 5.2. Database Drivers
- 5.3. Supported Databases
- 6. Log Mechanism
- 6.1. Use and Syntax
- 6.2. Example
- 7. Module Format
- 7.1. Auth Module
- 7.2. Notify Module
- 7.3. Navigation Module
- 7.4. Frontend Modules
- 7.5. Core Modules
- 7.6. Customer Auth Module
- 7.7. Customer User Module
- 7.8. Customer Navigation Module
- 7.9. Stats Module
- 7.9.1. Dynamic stats
- 7.9.2. Static stats
- 7.9.3. Using old static stats
- 7.10. Ticket Modules
- 7.10.1. Ticket Number Module
- 7.10.2. Ticket PostMaster Module
- 7.10.3. Ticket Menu Module
- 7.10.4. Ticket Event Module
- 7.10.5. More Modules
- 8. Templates
- 8.1. Formatting
- 8.1.1. Comment
- 8.1.2. $Data{""}
- 8.1.3. $QData{""}
- 8.1.4. $LQData{""}
- 8.1.5. $Env{""}
- 8.1.6. $QEnv{""}
- 8.1.7. $Quote{""}
- 8.1.8. $Text{""}
- 8.1.9. $Config{""}
- 8.1.10. $Include{""}
- 8.1.11. Block
- 8.1.12. set
- 8.1.13. if
- 8.1.14. system-call
- 8.2. Example
- 9. Layout
- 9.1. CSS Style
- 9.1.1. View
- 9.1.2. Edit/New/Search
- 9.1.3. Overview/Search Result
- 9.1.4. Delete
- 9.2. Images
- 9.3. Special CSS Definitions
- 10. Language Translations
- 10.1. How it works
- 10.1.1. Default Framework Translation File
- 10.1.2. Frontend Translation File
- 10.1.3. Custom Translation File
- 10.2. Add a new default framework translation
- 11. Object Basics
- 11.1. Object Options
- 11.2. Search Options
- 11.3. Config Naming
- 11.4. Config File
- 11.5. NavBar Settings
- 11.6. Screen flow
- 12. Development Environment
- 13. Writing an OTRS module for a new object
- 13.1. What we want to write
- 13.2. Default Config File
- 13.3. Frontend Module
- 13.4. Core Module
- 13.5. dtl Template File
- 13.6. Language File
- 13.7. Summary
- 14. Package Management
- 14.1. Package Distribution
- 14.1.1. Package Repository Index
- 14.2. Package Commands
- 15. Package Building
- 15.1. Package Spec File
- 15.1.1. Name
- 15.1.2. Version
- 15.1.3. Framework
- 15.1.4. Vendor
- 15.1.5. URL
- 15.1.6. License
- 15.1.7. ChangeLog
- 15.1.8. Description
- 15.1.9. BuildHost
- 15.1.10. BuildDate
- 15.1.11. PackageRequired
- 15.1.12. OS (^M)
- 15.1.13. Filelist
- 15.1.14. DatabaseInstall
- 15.1.15. DatabaseUpgrade
- 15.1.16. DatabaseReinstall
- 15.1.17. DatabaseUninstall
- 15.1.18. CodeInstall
- 15.1.19. CodeUninstall
- 15.1.20. CodeReinstall
- 15.1.21. CodeUpgrade
- 15.1.22. IntroInstall(Pre|Post)
- 15.1.23. IntroUninstall(Pre|Post)
- 15.1.24. IntroReinstall(Pre|Post)
- 15.1.25. IntroUpgrade(Pre|Post)
- 15.2. Example .sopm
- 15.3. Package Build
- 16. Unit Tests
- 16.1. Creating a test file
- 16.2. Testing
- 16.3. True()
- 16.4. False()
- 16.5. Is()
- A. Additional Ressources
- A.1. OTRS.org
- A.2. Online API Library
- A.3. Developer Mailing List
- A.4. Commercial Support
| Next | ||
| Introduction |

