Extrahieren von Textteilen aus Mail in Freetext-Felder?

Hilfe zu Znuny Problemen aller Art
Locked
Lisa
Znuny newbie
Posts: 7
Joined: 25 Aug 2009, 15:30
Znuny Version: 2.4.3

Extrahieren von Textteilen aus Mail in Freetext-Felder?

Post by Lisa »

Hallo zusammen,

ich mache mit meinem kleinen Projekt recht große Sprünge und frage mich gerade ob man die nützlichen FreeTextFelder nicht in dem Sinne ausbauen kann, dass sie beim erstellen eines Tickets automatisch ausgefüllt werden. Beim erstellen eines Telefontickets ist dies ja kein Problem. Einfach in der Konfiguration die erforderlichen Felder in der ZoomAnsicht für das Telefonticket mit einblenden und während des Gespräches die Daten aufnehmen.

Können die Felder jedoch automatisiert ausgefüllt werden wenn ein normales Ticket eintrifft? Ich stelle mir das so vor, dass der entsprechende Textteil im Template der Formularverarbeitung auf der Website mit einem Markup versehen ist, der dann dafür sorgt, dass entsprechende Nutzerangaben dann von OTRS in das dafür forgesehene FreeTextFeld gesetzt werden.

Beispiel: Der Nutzer muss Angaben über seinen gewünschten Abflughafen und Zielflughafen machen. Weiterhin Anzahl der Reisenden usw...Dann hätte ich gerne in OTRS im Ticket gleich diese Angaben extrahiert stehen.

z.B.
Gewünschter Abflugsort(freekey): Frankfurt(freetext)
Anzahl der Reisenden(freekey): 4(freetext) usw.

Ich hatte da an X-Header gedacht aber komme da leider nicht ganz weiter. Die scheinen ja lediglich zum Filtern zu sein.

Wie komme ich hier weiter? Müsste doch machbar sein....

Liebe Grüße,
Lisa
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Extrahieren von Textteilen aus Mail in Freetext-Felder?

Post by maxbacks »

Hallo Lisa,

es gibt mehrere Wege, wie du deine Freitextfelder gefüllt bekommst:
Übers Customerfrontend:
Blende die Freitextfelder dem Kunden ein und er füllt die Felder selbst. Dabei kannst du eine feste Auswahl konfigurieren oder Standardwerte vorgeben.
Per Mail:
Hier musst du mit dem PostMasterFilter arbeiten. Du kannst nach bestimmten Zeichen in der Mail beim eintreffen suchen und über RegEx einen Teil der Zeile ausgeben lassen. Diese Werte kannst du dann in deine Freitextfelder packen. Schau in den Links unter PreFilterModule

http://doc.otrs.org/2.4/en/html/x1512.h ... ing-filter
http://doc.otrs.org/2.4/en/html/x14153. ... PostMaster

Hier ein Beispiel aus meiner Config:

Code: Select all

$Self->{'PostMaster::PreFilterModule'}->{'10-Bearbeitungsnr_Body'} =  {
  'Match' => {
    Subject => 'Bearbeitungsnummer (\\w+)',
  },
  'Module' => 'Kernel::System::PostMaster::Filter::Match',
  'Set' => {
    'X-OTRS-FollowUp-TicketKey2' => 'Zeichen',
    'X-OTRS-FollowUp-TicketValue2' => '[***]',
  },
  'StopAfterMatch' => '0'
};
$Self->{'PostMaster::PreFilterModule'}->{'11-Bearbeitungsnr_Subj'} =  {
  'Match' => {
    Subject => 'Bearbeitungsnummer (\\w+)',
  },
  'Module' => 'Kernel::System::PostMaster::Filter::Match',
  'Set' => {
    'X-OTRS-TicketKey2' => 'Zeichen',
    'X-OTRS-TicketValue2' => '[***]',
        'X-OTRS-FollowUp-TicketKey2' => 'Zeichen',
    'X-OTRS-FollowUp-TicketValue2' => '[***]'
  },
  'StopAfterMatch' => '0'
};
Folgend noch ein Link zu RegEx in Perl:
http://de.selfhtml.org/perl/sprache/regexpr.htm
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
Lisa
Znuny newbie
Posts: 7
Joined: 25 Aug 2009, 15:30
Znuny Version: 2.4.3

Extrahieren von Textteilen aus Mail in Freetext-Felder?

Post by Lisa »

Hallo maxbacks,

vielen lieben Dank für die ausführliche Erklärung.

Über das Customer-Frontend kann ich Sie leider nicht füllen. Wäre sicher die sauberste Lösung. Jedoch muss eine Mail ausgewertet werden.
Du kannst nach bestimmten Zeichen in der Mail beim eintreffen suchen und über RegEx einen Teil der Zeile ausgeben lassen.
Wie ist das zu verstehen? Kann ich festlegen wieviele Zeichen dieser Zeile übernommen werden? Ganz verständlich ist mir das nicht.

Ein Teil der Mail sieht wie Folgt aus:

Abflughafen: München
gewünschter Reisebeginn: 15.12.09
Reisende: 4

Den vom User ausgefüllten Teil hinter dem Doppelpunkt hätte ich gerne in den Freitextfeldern und würde für jede mögliche Reiseangabe einen FreeKey vergeben.
Bloß wie mache ich das in der Mail kenntlich? Wie muss ich z.B. München markieren um es in das Freitextfeld "Abflughafen" zu Übernehmen?

Ich stehe etwas auf dem Schlauch. Wie verhält sich das, wenn der User z.B. unter Bemerkungen etwas mehr Text hinterlässt?

Vielen Dank,
Lisa
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Extrahieren von Textteilen aus Mail in Freetext-Felder?

Post by maxbacks »

Hi Lisa,

vielleicht etwas mehr zu dem Codebeispiel:

Code: Select all

Subject => 'Bearbeitungsnummer (\\w+)',
Mit dem Code wird nach einer Zeile mit "Bearbeitungsnummer " gesucht und der Teil in den runden Klammern in eine Variable gepackt. (Gemäß dem RegEx zwischen den Klammern, wessen Bedeutung du von der Selfhtml Seite herausfindest) Wenn der Kunde mehr Text hinterlässt, musst du das "w+" entsprechend anpassen..

Code: Select all

'X-OTRS-TicketValue2' => '[***]',
Hier wird der Wert in das FreeTextFeld gesetzt. Denk dran, dass der Key auch gesetzt werden muss, sonst bleibt das Key-Feld leer.

Wenn die Kunden aber nur per Mail Tickets aufmachen, müssen die den Text auch genau so schreiben, wie du den Filter in der Config.pm konfigurierst. Ich glaube das Webfrontend ist leichter ;)
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
Lisa
Znuny newbie
Posts: 7
Joined: 25 Aug 2009, 15:30
Znuny Version: 2.4.3

Extrahieren von Textteilen aus Mail in Freetext-Felder?

Post by Lisa »

Hallo maxbacks,

jetzt habe ich das verstanden. Schwer ist es ja eigentlich nicht.
Wenn die Kunden aber nur per Mail Tickets aufmachen, müssen die den Text auch genau so schreiben, wie du den Filter in der Config.pm konfigurierst. Ich glaube das Webfrontend ist leichter
Genau mit diesem Fall habe ich gerechnet. Mit war irgendwie schon klar, dass sich nur ganz bestimmter Text extrahieren lässt. Allerdings dachte ich an eine Art markup für den von Kunden eingetragenen Text a la ##markup-freetext1##kundentext##markup-freetext1##
Also den Teil zwischen den Klammern finden und in die FreeTextFelder setzen. Ob das in der Email ersteinmal komisch und unleserlich aussieht ist eigentlich egal weil es der Kunde eh nicht zu Gesicht bekommt und man in der Email ein leserliches Duplikat darüber setzen könnte. Aber das scheint wohl kaum möglich zu sein...

Webfrontend geht leider nicht weil das Formular schon besteht und selbst recht komplex ist und ich nicht weiß ob wir das umstellen können.
Andre Bauer
Znuny guru
Posts: 2189
Joined: 08 Dec 2005, 17:01
Znuny Version: 5.0.x
Real Name: André Bauer
Company: Magix Software GmbH
Location: Dresden
Contact:

Extrahieren von Textteilen aus Mail in Freetext-Felder?

Post by Andre Bauer »

Geht eventuell auch über nen Postmasterfilter, wie hier beschrieben:

http://www.otrs-forum.de/viewtopic.php?f=17&t=3584
Prod: Ubuntu Server 16.04 / Zammad 1.2

DO NOT PM ME WITH OTRS RELATED QUESTIONS! ASK IN THE FORUMS!

OtterHub.org
maxbacks
Znuny wizard
Posts: 326
Joined: 30 Jan 2008, 14:59
Znuny Version: 6.0.19
Real Name: Max Hendrik Backs

Extrahieren von Textteilen aus Mail in Freetext-Felder?

Post by maxbacks »

meinst du das standardformular im Kundenfrontend?
das kannst du dir doch anpassen...
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
Locked