Blog

Zusätzliche Regeln für AdvancedTicketCalendar

12.06.2017 // Renée Bäcker

Im Standard AdvancedTicketCalendar können Tickets auf Basis der Erinnerungszeit und auf Basis von Dynamischen Feldern angezeigt werden.

In diesem Blogpost soll gezeigt werden, wie man weitere Regeln für die Anzeige von Tickets einrichtet. Als Beispiele sollen Entwicklungstickets erstellt werden. Zum einen sollen der Beginn der Entwicklung und die Übergabe als Termine im Kalender angezeigt werden und zum anderen soll es einen Testzeitraum geben.

Dazu werden vier dynamische Felder benötigt:

  • StartDevelopment
  • StartTest
  • EndTest
  • GoingLive

Alle vier Felder müssen vom Typ Date oder DateTime sein. Exemplarisch ist hier das Feld StartDevelopment gezeigt:

Außerdem wird für das Beispiel mit dem Testzeitraum noch ein weiteres dynamisches Feld angelegt und zwar vom Typ Agent. Damit wird in dem Ticket der Testverantwortliche festgelegt.

Dieses dynamische Feld wird später noch von Bedeutung sein wenn es um die Farbgebung der Kalendereinträge geht.

Anschließend wird eine eigene .xml-Datei unter Kernel/Config/Files benötigt. Darin werden drei ConfigItems definiert.

Das erste ConfigItem definiert die Termine für den Start der Entwicklung:

<ConfigItem Name="AdvancedTicketCalendar::Fields###StartDevelopment" Required="0" Valid="1">
    <Description Translatable="1">...</Description>
    <Group>AdvancedTicketCalendar</Group>
    <SubGroup>OwnFilters</SubGroup>
    <Setting>
        <Hash>
            <Item Key="Start">DynamicField_StartDevelopment</Item>
            <Item Key="Duration">1</Item>
            <Item Key="Color">#32cd32</Item>
            <Item Key="Icon">calendar</Item>
        </Hash>
    </Setting>
</ConfigItem>

Der Name der Konfig-Option muss mit AdvancedTicketCalendar::Fields### beginnen.

Folgende Einstellungen werden hier vorgenommen:

  • Start
  • Duration
  • Color
  • Icon

Bei Start wird das Feld eingetragen, das den Startzeitpunkt im Kalender bestimmt. In diesem Fall wird das von dem Dynamischen Feld StartDevelopmentbestimmt. Ist es kein ganztägiges Ereigniss und man hat keinen Endzeitpunkt angegeben, kann mit Duration festgelegt werden, wie viele Stunden der Termin im Kalender vereinnahmt.

Gibt es den Color-Eintrag, haben alle Kalendereinträge für diese Gruppe genau diese Farbe. Hier muss eine HTML-Farbe in HEX-Schreibweise eingetragen werden.

Bei jedem Kalendereintrag erscheint ein kleines Icon. Darüber können die Agenten schon auf den ersten Blick erkennen, welche Art von Termin der Eintrag ist. Unterstützt werden die Fontawesome-Icons.

Die zweite Option konfiguriert die Einträge für den Testzeitraum:

</ConfigItem>
<ConfigItem Name="AdvancedTicketCalendar::Fields###Testing" Required="0" Valid="1">
    <Description Translatable="1">...</Description>
    <Group>AdvancedTicketCalendar</Group>
    <SubGroup>OwnFilters</SubGroup>
    <Setting>
        <Hash>
            <Item Key="Start">DynamicField_StartTest</Item>
            <Item Key="Stop">DynamicField_EndTest</Item>
            <Item Key="Color">#00FFFF</Item>
            <Item Key="Icon">bug</Item>
            <Item Key="ColorBy">DynamicField_TestAgent</Item>
        </Hash>
    </Setting>
</ConfigItem>

Zusätzlich zu der Start-Angabe wird das Ende im Kalender über ein weiteres Dynamisches Feld bestimmt: EndTest. Auch haben hier die Kalendereinträge nicht alle die gleiche Farbe. Die Farbe des Termins wird über den Testagenten gesteuert. Deshalb auch das fünfte Dynamische Feld.

Um die Farbgebung zu steuern wird eine zusätzliche Option benötigt:

<ConfigItem Name="AdvancedTicketCalendar::ColorBy###DynamicField_TestAgent" Required="0" Valid="0">
    <Description Translatable="1">If enabled in the fieldconfig the color is defined by the testagent.</Description>
    <Group>AdvancedTicketCalendar</Group>
    <SubGroup>OwnFilters</SubGroup>
    <Setting>
        <Hash>
            <Item Key="ownerlogin">#d8d8d8</Item>
        </Hash>
    </Setting>
</ConfigItem>

Jeder Agent bekommt hier eine Farbe zugeteilt. So kann jeder Testagent gleich erkennen, wann der nächste Zeitraum für ihn/sie beginnt.

Die komplette .xml ist unter http://blog.feature-addons.de/downloads/AdvancedTicketCalendarOwnRules.xml zu finden.

Nachdem die Datei im Kernel/Config/Files-Verzeichnis angelegt wurde, muss der Admin über die Weboberfläche in die SysConfig gehen, die Gruppe AdvancedTicketCalendar anwählen und in die Subgrouppe OwnFilters gehen. Das sieht dann folgendermaßen aus:

Ist alles eingerichtet, kann man die Dynamischen Felder bei den Tickets füllen:

Dann werden die Einträge entsprechend im Kalender dargestellt.

Und bei einem Update darf man nicht vergessen, diese .xml-Datei mit in das neue OTRS zu übernehmen. Daher empfehlen wir immer, auch eigene kleine Anpassungen in ein Paket zu packen, so dass man nicht immer nach geänderten Dateien suchen muss. Das ist besser als jede Dokumentation. Wenn Sie Fragen dazu haben, dürfen Sie uns gerne kontaktieren.

Sollten Sie Interesse an AdvancedTicketCalendar können wir gerne ein Demo-System für Sie einrichten.

Permalink:

Archiv