Queue Informationen
Ein weiteres kleines AddOn ist Queue Information. Eine Übersicht der Queues, Mail Adressen und Beschreibungen für alle RT und NICHT RT User.
ACHTUNG: Wenn Euer RT über das Internet ansprechbar ist, solltet Ihr dieses Modul absolut nicht und niemals nicht verwenden!!!
Das Problem
Ein riesiges Problem im RT mit vielen Queues sind definitiv die User, denn die wenigsten wissen immmer genau an welche Mail Adresse sie einen Request schicken sollen. Entweder kennen Sie die Mail Adressen nicht oder sie kennen die eine oder andere Adresse wissen aber nicht was sich genau dahinter verbirgt.
Man könnte jetzt den Weg gehen und wirklich gute, sprechende Adressen verwenden, die jeder kennt, was aber auch immer viel Spam mit sich bringt.
Ein anderer Weg wäre es, den Usern keine Adressen zu nennen, aber eine Art Hilfeportal für Sie zu bauen, wo Sie sich die entsprechende Seite aussuchen könnten - was leider nicht immer möglich ist und der Aufwand auch enorm.
Aber irgendwie muss man dem User einfach näher bringen, welche Mail Adresse für welches seiner Probleme zuständig ist.
Die Idee
Da im RT ja eh schon eine Menge an Informationen enthalten sind, warum diese nicht nutzen? Wenn man eine neue Queue anlegt, dann hat man eh den Queue Namen, die Queue Beschreibung und auch die Mail Adressen der Queue schon hinterlegt. Warum diese nicht mit RT Bordmitteln auslesen und daraus dynamisch eine Seite für den User bauen.
Die Umsetzung
Für die Umsetzung haben wir uns auch grössten Teils einer bestehenden RT HTML Datei bedient, /Admin/Queues/index.html hat alles was wir dafür brauchten. Noch ein kleines Callback dazu und fertig.

Ein Link auf der Startseite bringt jeden User dann in die gewünschte Übersicht. Hier nochmal der Hinweis: Wenn Euer RT aus dem Internet mit dem Web Frontend erreichbar ist solltet Ihr das NIEMALS NIE NICHT verwenden!

Der Code
Der Code besteht wieder aus 2 Teilen, dem Callback um das neue Modul “sichtbar” zu machen und das eigentlich Modul, also eine kleine HTML Seite an sich.
Das Callback wird unter: /opt/rt3/local/html/Callbacks/ gelegt. Nennen wir es einfach mal: RT-Extension-QueueInformation.
Unterhalb dieses Verzeichnissen brauchen wir noch ein wenig mehr Verzeichnisse: /Elements/Login
So dass wir folgende Verzeichnisse haben: /opt/rt3/local/html/Callbacks/RT-Extension-QueueInformation/Elements/Login/
Hier legen wir uns die Datei Default an.
<br><div id=”lostpassword” style=”align:left;clear:both;”>
<a href=”/NoAuth/QueueInformation/Information.html”><&|/l&>Queue and Mail Address Information</&></a></div>
Damit haben wir den ersten Teil erledigt. Hier wieder drauf achten, dass Ihr den Mason Cache leert und natürlich den Webserver neu startet.
Kommen wir zum zweiten Teil, dem eigentlichen File. Da dieses Tool auch ohne Anmeldung im RT verfügbar sein soll, müssen wir es also in den NoAuth Zweig legen: /opt/rt3/local/html/NoAuth/ und uns hier ein neues Verzeichnis anlegen: QueueInformation.
Im Verzeichnis: /opt/rt3/local/html/NoAuth/QueueInformation legen wir uns nun die Datei: Information.html mit folgendem Inhalt an:
<& /Elements/Header, Title => ("Queues and Mail Addresses") &> %# From /Elements/Header </div> </td> </tr> </tbody> </table><div id="body" class="login-body"><h1>RT Queues and Corresponding Mail Addresses</h1>%if ($queues->Count == 0) { <li><em><&|/l&>No queues matching search criteria found.</&></em></li> % } <table cellpadding="0" cellspacing="0" border="0" style="text-align: left; width: 100%;"> <tbody> <tr class="collection-as-table"> <td style="font-weight:bold;border-bottom:1px solid #000" class="collection-as-table">Queue Name</td> <td style="font-weight:bold;border-bottom:1px solid #000" class="collection-as-table">Queue Mail Address</td> %# <td style="font-weight:bold;border-bottom:1px solid #000" class="collection-as-table">Queue Description</td> </tr> % my $i =0; %while ( $queue = $queues->Next) { %unless ($queue->CorrespondAddress eq '') { % $m->out('<tr class="' . ( $i % 2 ? 'oddline' : 'evenline' ) . '" >' ); <td class="collection-as-table"><%$queue->Name%></td> <td class="collection-as-table"><a href="mailto:<%$queue->CorrespondAddress%>"><%$queue->CorrespondAddress%></a></td> %# <td class="collection-as-table"><%$queue->Description%></td> </tr> % $i++; %} %}</tbody> </table> <& /Elements/Footer, Menu => 0 &> <%INIT>my ($queue, $caption); my $queues = RT::Queues->new($RT::SystemUser); $queues->UnLimit();if ($FindDisabledQueues) { $caption = loc("All Queues"); $queues->{'find_disabled_rows'} = 1; } else { $caption = loc("Enabled Queues"); }</%INIT> <%ARGS> $FindDisabledQueues => 0 </%ARGS>
Donwload: Queue Information