Sortierung der Queues nach letzter eingehenden Mail

English! place to talk about development, programming and coding
Post Reply
walters
Znuny newbie
Posts: 3
Joined: 06 Feb 2008, 02:19

Sortierung der Queues nach letzter eingehenden Mail

Post by walters »

Hallo,

nachdem ich die Mailinglisten und das Forum erfolglos nach einer Lösung zur Sortierung einer Queue nach dem Kriteriem "Erstellt" durchforstet habe, kam mir eben eine grobe Idee, die ich aber noch nicht ausprobiert habe: prinzipiell ist es ja möglich einem Ticket über die FreeTypeText und FreeTypeKey Felder Attribute anzuheften. Dann müsste es ja über Ticket::Frontend::QueueSortBy::Default: möglich sein, eine Queue nach diesen Attributen zu sortieren. Testweise könnte man per Hand ein FreeTypeKey1 lastchange mit dem Inhalt FreeTypeText1 200801060126 (Datums und Uhrzeitkombination) anlegen. Die Queue müsste sich dann nach diesen Kriterien sortieren lassen. Nun möchte man dies ja nicht immer per Hand eintragen, also könnte man überlegen, ob sich FreeTypeKey1 und FreeTypeText1 nicht zumindest bei jeder eingehenden E-Mail automatisch setzen lassen könnten, z.B. mit dem Postmasterfilter aufgrund des Datums der eigenden E-Mail oder aufgrund eines bereits auf dem Mailserver bei Eingang gesetzten Headers, der dann vom Postmasterfilter ausgelesen und in ein FreeTypeKey1/FreeTypeText1 Paar übersetzt werden kann. Ist u.U. etwas umständlich, aber eine Sortierung der Queue nach dem Erstellt Kriterium scheint ja auch nicht trivial zu sein. Anmerkungen dazu?

Ciao!
Last edited by walters on 06 Feb 2008, 22:34, edited 2 times in total.
walters
Znuny newbie
Posts: 3
Joined: 06 Feb 2008, 02:19

Sortierung der Queues letzter eingehenden Mail - Lösungsidee

Post by walters »

Guten Morgen,

also ich habe das einmal durchgespielt und testweise E-Mails mit folgenden Zusatzheader an das OTRS gesendet:

X-OTRS-TicketKey1: lastchange
X-OTRS-TicketValue1: 2008.02.06-11:25:45

Zuvor muss im PostMaster POP3 Account als entsprechende Konto noch auf vertraut gesetzt werden.

In der SysConfig wurde dann Ticket::Frontend::QueueSortBy::Default: auf TicketFreeText1 gesetzt. Nun werden alle Tickets nach dem lastchange Wert sortiert. Bei weiteren eingehenden Mails auf die Tickets müsste man dann mit X-OTRS-FollowUp-TicketKey1 und X-OTRS-FollowUp-TicketValue1 arbeiten, so dass das Wertepaar bei Antworten von Kunden aktualisiert wird.

Das Setzen der Wertepaar lässt sich auch noch automatisieren: hierzu wurde in der Kernel/System/PostMaster/NewTicket.pm und FollowUp.pm nachfolgender Code hinzugefügt, so dass bei allen eingehenden E-Mails die Wertepaare X-OTRS-TicketKey1:X-OTRS-TicketValue1 und X-OTRS-FollowUp-TicketKey1:X-OTRS-FollowUp-TicketValue1 mit einem Zeitstempel verstehen.

Hat jemand eine besser Idee wie man das eleganter lösen kann?

Code: Select all

    # set free ticket text
    my @Values = ('X-OTRS-TicketKey', 'X-OTRS-TicketValue');
    [...]
    }
    
    # Ergaenzung
    # setzt TicketKey'1 Wertepaar auf lastchange mit Timestamp im Format %Y-%m-%d %X
    use POSIX qw(strftime);
    my $timestamp = strftime "%Y-%m-%d %X", localtime;
    $Self->{TicketObject}->TicketFreeTextSet(
       TicketID => $Param{TicketID},
       Key => "lastchange",
       Value => $timestamp,
       Counter => 1,
       UserID => $Param{InmailUserID},
    );

Ciao!
Forcid
Znuny newbie
Posts: 71
Joined: 10 Mar 2008, 16:40

Sortierung der Queues nach letzter eingehenden Mail

Post by Forcid »

In der Datei AgentTicketQueue.pm gibt es den Eintrag
Age => 'st.create_time_unix',
Wenn man den auf
Age => 'st.change_time',

ändert, dann wird die Queue-Ansicht nach der letzten Änderung im Ticket sortiert.


Denkanstoß zum Sortieren nach letzter eingehender Mail:
In der SQL-Tabelle article gibt es den Eintrag "incoming_time". Habe leider bisher nicht herausgefunden, wie man in der Datei AgentTicketQueue.pm auf die Tabelle article.incoming_time verweisen kann. In anderen Dateien wird mit sa.spalte auf die Tabelle "article" verwiesen. Mit "st.spalte" wird auf die Tabelle "ticket" verwiesen, was ohne Probleme geht.

Vielleicht hat ja dazu jemand eine Idee, würde mich auch sehr interessieren :)



Gruß
Forcid
Produktiv OTRS 2.4.4
PHP 5.2.6
Apache 2.2.8
SuSE 11.0
otrsuser2008
Znuny newbie
Posts: 1
Joined: 14 Mar 2008, 05:42

Sortierung der Queues nach letzter eingehenden Mail

Post by otrsuser2008 »

Hi,

gebt im Frontend SysConfig den Suchbegriff "asc" ein.
Den vorletzte Punkt der dann erscheint (Frontend::Agent::Ticket::ViewQueue) wählst du aus.
Dann geh zum Punkt "Ticket::Frontend::QueueSortDefault:" und mach aus dem ASC ein DESC.
:D
walters
Znuny newbie
Posts: 3
Joined: 06 Feb 2008, 02:19

Sortierung der Queues nach letzter eingehenden Mail

Post by walters »

@otrsuser2008: damit sortierst du nur die Tickets auf und absteigend, aber nicht, dass das ticket mit der zeitlich letzten Antwort/E-Mail ganz oben bzw. unten steht.
Post Reply