OTRS CVS - Handbuch
Prev |  | Next

# Chapter 25. Entwicklerhandbuch - OTRS Module schreiben

Dieses Kapitel wird Ihnen weitere Inforamtionen über das Schreiben von einfachen OTRS Modulen geben.

# Agenten-Oberfläche Benachrichtigungsmodule

Mit Agent-Benachrichtigungsmodulen können Sie Agenten neue Information zukommen lassen. Die Navigation sieht normalerweise folgendermaßen aus:

Dies ist ein Beispiel für ein simples Benachrichtigungsmodul. Speichern Sie es unter Kernel/Output/HTML/NotificationMotd.pm.

    # --
    # Kernel/Output/HTML/NotificationMotd.pm - message of the day
    # Copyright (C) 2003 Hans Mueller mail@example.com
    # --
    # $Id: developer-guide-custom-modules.sgml,v 1.5 2004/04/23 08:21:17 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.
    # --

    package Kernel::Output::HTML::NotificationMotd;

    use strict;

    # --
    sub new {
        my $Type = shift;
        my %Param = @_;

        # allocate new hash for object
        my $Self = {};
        bless ($Self, $Type);

        # get needed objects
        foreach (qw(ConfigObject LogObject DBObject LayoutObject UserID)) {
            $Self->{$_} = $Param{$_} || die "Got no $_!";
        }
        return $Self;
    }
    # --
    sub Run {
        my $Self = shift;
        my %Param = @_;
        return $Self->{LayoutObject}->Notify(Info => 'Tägliche Neuigkeiten!');
    }
    # --

    1;

Wenn Sie dieses Module nun auch verwenden möchten, so müssen Sie es in der Konfigurationsdatei (Kernel/Config.pm) aktivieren und Ihren Webserver neu starten (letzteres nur, wenn Sie mod_perl verwenden).

        # Frontend::NotifyModule - module name (50-Motd)
        $Self->{'Frontend::NotifyModule'}->{'50-Motd'} = {
            Module => 'Kernel::Output::HTML::NotificationMotd',
        };

Im Ergebnis sehen Sie eine Nachricht in der Agenten Oberfläche:

Normalerweise möchten Sie Nachrichten mit einem gewissen Sinngehalt in Ihre Benachrichtigungsfunktion aufnehmen. Diese Art der Benachrichtigung ist beispeilsweise sinnvoll für Eskalationsinformationen.

Die standardmäßigen Benachrichtigungsmodule sind die folgenden (Kernel/Config.pm):

        # agent interface notification module to check the used charset
        $Self->{'Frontend::NotifyModule'}->{'1-CharsetCheck'} = {
            Module => 'Kernel::Output::HTML::NotificationCharsetCheck',
        };

        # agent interface notification module to check the admin user id
        # (don't work with user id 1 notification)
        $Self->{'Frontend::NotifyModule'}->{'2-UID-Check'} = {
            Module => 'Kernel::Output::HTML::NotificationUIDCheck',
        };

        # show online agents
        $Self->{'Frontend::NotifyModule'}->{'3-ShowAgentOnline'} = {
            Module => 'Kernel::Output::HTML::NotificationAgentOnline',
        };
        # show online customers
        $Self->{'Frontend::NotifyModule'}->{'4-ShowCustomerOnline'} = {
            Module => 'Kernel::Output::HTML::NotificationCustomerOnline',
        };

Prev | Home | Next
Fehlerbeseitigung |  | Kunden-Oberfläche Benachrichtigungsmodule