Standardverhalten von OTRS ändern
Der Service Desk des Uni-Rechenzentrums nutzt zur Überwachung von Tickets die Standardansicht »Meine Queues« von OTRS, die alle offenen und nicht in aktiver Bearbeitung befindlichen (daher gesperrten) Tickets anzeigt. Dabei erwies es sich in der täglichen Praxis als erforderlich, bei der expliziten Zuweisung an einen weiteren Bearbeiter das zugrunde liegende Ticket nicht zu sperren, da bei diesem Vorgang das Ticket aus der Standardansicht des zweiten Bearbeiters verschwindet, ohne dass aus Sicht des Kunden das Ticket explizit bearbeitet worden wäre.
Das geschilderte Verhalten zu ändern, geht nur direkt im Quellcode. Die Suche nach dem dafür verantwortlichen OTRS-Modul gestaltet sich sehr einfach. OTRS bildet das für die Aktion verantwortliche Modul stets in der URL mit ab. So zeigt die URL beim Ändern des Besitzers eines Tickets »Action=AgentTicketOwner« an. Der dafür verantwortliche Quellcode befindet sich in »OTRS-Pfad/Kernel/Modules/AgentTicketOwner.pm« und ist damit schnell identifiziert (Listing 1). Die erforderliche Anpassung nebst Kommentar ist schnell gemacht (Listing 2).
Es ist sehr empfehlenswert, nicht nur die Art der Änderung zu kommentieren, sondern auch durch eindeutige Tags (hier »custom unibwm«) hervorzuheben. Dadurch lassen sich bei Updates und - wichtiger noch - Upgrades die modifizierten Stellen einfach identifizieren.
|
Listing 1: Ticket-Lock nach |
|---|
01 if ($Self->{Config}->{Owner}) {
02 if ($GetParam{NewOwnerType} eq 'Old' && $GetParam{OldOwnerID}) {
03 $Self->{TicketObject}->LockSet(
04 TicketID => $Self->{TicketID},
05 Lock => 'lock',
06 UserID => $Self->{UserID},
07 );
|
|
Listing 2: Keine Sperre nach |
|---|
01 # Wenn neuer Besitzer gesetzt, Ticket immer entsperren!
02 # custom unibwm (lock->unlock)
03 if ($Self->{Config}->{Owner}) {
04 if ($GetParam{NewOwnerType} eq 'Old' && $GetParam{OldOwnerID}) {
05 $Self->{TicketObject}->LockSet(
06 TicketID => $Self->{TicketID},
07 Lock => 'unlock',
08 UserID => $Self->{UserID},
09 );
|
Die Lösung: Herrenlose Tickets
Auf die gleiche Weise hat das Uni-Rechenzentrum ein anderes nicht passendes Standardverhalten geändert: OTRS belegt auch frisch erzeugte Tickets sofort mit einer Sperre. Wenn nämlich ein Service-Desk-Mitarbeiter telefonisch oder persönlich eine Störung entgegennimmt, wird dieser automatisch zum Bearbeiter des Tickets, statt des für die Aufgabe eigentlich vorgesehenen Agenten. Die ersonnene Lösung sieht vor, zunächst keinen Agenten als Besitzer zu deklarieren. Dies passiert in OTRS durch Setzen des Besitzers auf »root« (id=1) im Modul »AgentTicketPhone« (Listing 3).
Das OTRS-Team im Rechenzentrum hat im Zuge der beiden Quelltext-Änderungen gleich einen lästigen Bug im FAQ-Modul gefixt: Explizite »<br>«-Zeilenumbrüche auch innerhalb von »<href>«-Tags verhinderten die Nutzung von längeren Hypertext-Links in FAQ-Artikeln. Der eingereichte Bugzilla-Report schlummerte unbeachtet vor sich hin. Lediglich eine eingefügte Quellcodezeile in »OTRS-PfadKernel/Modules/FAQ.pm« löst das Problem (Listing 4).
|
Listing 3: Root als Owner eines |
|---|
01 # custom unibwm: Owner bei neuem Ticket ist stets root (id=1)
02 # OwnerID => $Self->{UserID},
03 OwnerID => '1',
|
|
Listing 4: Bugfix im |
|---|
01 $ItemData{$Key} = $Text;
02 # custom unibwm
03 # protect against line-breaks within anchor-tags
04 $ItemData{$Key} =~ s/<br>href/ href/g;
|
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 5 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





