# --
# README - readme file of OTRS
# Copyright (C) 2001-2005 Martin Edenhofer <martin+code@otrs.org>
# --
# $Id: README,v 1.24 2005/06/17 16:11:42 martin Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see http://www.gnu.org/licenses/gpl.txt.
# --

What is OTRS?
=============

  OTRS is an Open source Ticket Request System with many features to manage
  customer telephone calls and e-mails. It is distributed under the GNU
  General Public License (GPL) and tested on Linux, Solaris, AIX, FreeBSD,
  OpenBSD and Mac OS 10.x. Do you receive many e-mails and want to answer them
  with a team of agents? You're going to love the OTRS!

  Feature list:

   Web-Interface:
    - Agent web interface for viewing and working on all customer requests
    - Admin web interface for changing system things
    - Customer web interface for viewing and sending infos to the agents
    - Webinterface with themes support
    - Webinterface with Single sign on (e. g. HTTPBasicAuth or LogonTickets)
    - Multi language support (Brazilian Portuguese, Bulgarian, Czech, Dutch,
       English, Finnish, French, German, Italian, Polish, Portuguese, Russian
       and Spanish)
    - customize the output templates (dtl) release independently
    - Webinterface with attachment support
    - easy and logical to use

   Email-Interface:
    - dispatching of incoming email via email addess or x-header
    - autoresponders for customers by incoming emails (per queue)
    - email-notification to the agent by new tickets, follow ups or lock timeouts
    - MIME support (attachments)
    - PGP support
    - SMIME support

   Ticket:
    - custom queue view and queue view of all requests
    - Ticket locking
    - Ticket replies (standard responses)
    - Ticket autoresponders per queue
    - Ticket history, evolution of ticket status and actions taken on ticket
    - abaility to add notes (with different note types) to a ticket
    - Ticket zoom feature
    - Tickets can be bounced or forwarded to other email addresses
    - Ticket can be moved to a different queue (this is helpful if emails are
       for a specific subject)
    - Ticket priority
    - Ticket time accounting
    - Ticket print view
    - Ticket pending feature
    - Ticket merge feature
    - Ticket ACL support
    - content fulltext search

   System:
    - ASP (activ service providing) support
    - Customer Source can be used from a SQL databases or LDAP
        (e. g. eDirectory, AD, OpenLDAP)
    - TicketHook free setable like 'Call#', 'MyTicket#', 'Request#' or 'Ticket#'
    - Ticket number format free setable
    - utf-8 support for frontend and backend
    - creation and configuration of user accounts, and groups
    - creation of standard responses
    - creation of sub queue
    - signature configuration per queue
    - salutation configuration per queue
    - email-notification of administrators
    - email-notification sent to problem reporter (by create, locked, deleted,
       moved and closed)
    - submitting update-info (via email or webinterface)
    - deadlines for trouble tickets
    - TicketHook free setable like 'Call#', 'MyTicket#', 'Request#' or 'Ticket#'
    - different levels of permissions/access-rights
    - central database, Support of different SQL databases (e. g. MySQL, PostgeSQL, MaxDB/SAPDB, Oracle and DB2)
    - user authentication agains database or ldap directory
    - easy to develope you own addon's (OTRS API)
    - easy to write different frontends (e. g. X11, console, ...)
    - own package manager (e. g. for application modules like webmail, calendar or
       filemanager)
    - a fast and usefull application

Todo:
    - API to other ticket systems like Paregrine
    - XML interface

License:
========
  It is distributed under the GNU General Public License - see the
  accompanying COPYING file for more details.

Documentation:
==============
  You can find quick documentation in README.* and the long version online at
  http://docu.otrs.org/.

On what hardware does it run?
=============================

  On all! You need Perl! My System is a Pentium II 500 with 256 MB RAM and
  a 8 GB SCSI Harddisk. I can easily handle ~150.000 tickets, without problems.
  For more then ~150.000 or ~400 tickets a day please ask the list about the
  requirements.

  The biggest OTRS setup (where we got feedback) is ~750.000 tickets, ~4.200.000
  articles and ~12.000.000 ticket-history database table records. This system is
  running with MySQL, Apache and mod_perl on a Linux box with Pentium III 800 Mhz,
  256 MB RAM, SCSI.

Software requirements?
======================

  On all Perl-Platforms! You need:
    * min. Perl5
    * Database (e. g. MySQL)
    * Webserver (mod_perl isn't required but very nice to have)
    * A MTA (e. g. Sendmail or Postfix)

  Currently tested (feedback):

    * SuSE Linux 7.0 (i386), Perl 5, MySQL 3.22.32 and Apache 1.3.12.
    * SuSE Linux 7.2 (i386), Perl 5.6.0, MySQL 3.23.37 and Apache 1.3.19.
    * SuSE Linux 7.3 (s390), Perl 5.6.0, MySQL 3.23.48 and Apache 1.3.22.
    * SuSE Linux 8.0 (i386), Perl 5.6.1, MySQL 3.23.48 and Apache 1.3.23 (incl. mod_perl 1.26).
    * SuSE Linux 8.0 (i386), Perl 5.6.1, MySQL 3.23.48 and Roxen-Webserver 2.2.252
    * SuSE Linux 8.0 (i386) interfacing with Exchange 5.5 via fetchmail and postfix
    * Debian (i386), Postfix, Apache 1.3.19 with mod_perl
    * Redhat 7.3 (i386) (no detail description available)
    * Redhat 8.0 (i386), Perl 5.8, MySQL 4, Apache2 and mod_perl2.
    * Mandrake 8.2 server (i386) interfacing with Lotus Notes mail server via fetchmail and sendmail
    * FreeBSD (i386), Sendmail, Perl 5.6.1, MySQL and Apache.
    ... and you? ;-)

Directories & Files:
====================
$HOME (e. g. /opt/otrs/)
|
|  (all executables)
|--/bin/             (all system programs)
|   |--/PostMaster.pl      (email2db)
|   |--/PostMasterPOP3.pl  (email2db)
|   |--/cgi-bin/
|   |   |----- /index.pl        (Global Agent & Admin handel)
|   |   |----- /customer.pl     (Global Customer handel)
|   |   |----- /installer.pl    (Global Installer handel)
|
|  (all modules)
|--/Kernel/
|   |---- /Output/        (all output generating modules)
|   |      |---- /HTML/
|   |             |--- /Standard/*.dtl (all dtl files for Standard-Theme)
|   |             |--- /Lite/*.dtl (all dtl files for Lite-Theme)
|   |      |---- /wml/
|   |      |---- /ascii/
|   |      |---- /X11/
|   |
|   |---- /Languages/      (all translation modules)
|   |
|   |---- /Modules/        (all action modules e. g. QueueView, Move, ...)
|   |      |----- /Agent*      (all modules for the agent interface)
|   |      |----- /Admin*      (all modules for the admin interface)
|   |      |----- /Customer*   (all modules for the customer interface)
|   |      |----- /System*     (all modules for the system views e.g. stats)
|   |
|   |---- /System/         (all backend modules)
|           |--- /DB.pm         (central DB interface)
|                 |--- /DB/*.pm (DB driver)
|           |--- /Auth.pm       (authentification module)
|           |--- /AuthSession.pm (session authentification module)
|           |--- /EmailSend.pm      (create and send emails)
|           |--- /EmailParser.pm (parsing emails)
|           |--- /Log.pm        (log module)
|           |--- /User.pm       (user module)
|           |--- /Group.pm      (group module)
|           |--- /WebParam.pm   (e. g. get param)
|           |--- /Queue.pm      (informations about queues. e. g. responses, ...)
|           |--- /Ticket.pm     (ticket and article funktions)
|
|  (data stuff)
|--/var/
|   |--/log/                    (log files)
|   |   |--/TicketCounter.log   (ticket counter)
|   |
|   |--/articles/               (all incoming emails, plain 1/1 and all attachments ...
|   |                            ... separately (different files))
|   |--/sessions/               (session infos)
|
|  (tools stuff)
|--/scripts/
|   |----  /database/
|           |--- /otrs-schema.(mysql|postgrsql).sql (create database script)
|           |--- /initial_insert.sql (all inital sql data - e. g. root user)
|

EOF
