Tipps & Tricks - E-Mail aus Microsoft Exchange in Datengruppe speichern
Dieser Beitrag zeigt Ihnen Schritt für Schritt, wie eine E-Mail aus Microsoft Exchange
einem Datensatz in einer Portal-Applikation zugeordnet und gespeichert werden kann.
1. Verbindung anlegen
Falls noch keine Verbindung zu Microsoft Exchange besteht, stellen Sie diese zunächst
Mit dem Connector für Microsoft Exchange
her. Eine Anleitung dazu finden Sie hier.
2. Microsoft Exchange Applikationen importieren
Falls noch nicht geschehen, importieren
Sie die Exchange - E-Mail-Applikation. Wo Sie das Importpaket und weitere Informationen finden,
sehen Sie hier.
3. Exchange-Applikation anpassen
Öffnen Sie die Exchange-E-Mail-Applikation im Modul Applikationen.
Wechseln Sie auf die Seite "_tblPreview" in der Datengruppe "Nachrichten". Legen Sie auf dieser Seite eine
Schaltfläche an und geben Sie ihr den Titel "E-Mail speichern".
function triggerWorkflow(p_strRecId)
{
triggerUserWorkflowEvent('911F44EE227AE9D9D441C3CE57E10728A457F6E9', {qs_id: p_strRecId});
return true;
}
Mit diesem Skript wird ein Prozess, den wir später noch erstellen, gestartet.
Mit "p_strRecId" übergeben Sie die ID der E-Mail als Requestparameter an den Prozess.
Schließen Sie den Skript-Editor mit Klick auf "OK".
Klicken Sie auf dem Reiter Skript
auf "Skriptaufruf hinzufügen" und
wählen Sie das Event "onclick" aus. Fügen Sie im Feld "Funktion" den Funktionsaufruf
triggerWorkflow('$drRecord.getRecId()')
ein. Bestätigen Sie alle Dialog mit Klick auf "OK" und speichern Sie die Applikation.
4. Ziel-Applikation
Die E-Mail kann vom Prozess, den wir im nächsten Kapitel erstellen, in eine Datengruppe
einer beliebigen vorhandenen oder neu erstellten Applikation gespeichert. Dazu wird
in dieser Datengruppe ein Datenfeld
mit dem Datentyp "File" benötigt.
Erstellen Sie ein solches Datenfeld
in Ihrer Zielapplikation. Das Feld kann dann z.B. in eine Tabelle eingebunden werden,
die die Datensätze der Datengruppe anzeigt.
Entfernen Sie alle eventuell vorhandenen Prozesselemente und legen Sie einen
einen neuen Generischen Ereignisbehandler an.
Wählen Sie im Eigenschaftendialog die Klasse UserWorkflowEventHandler und verwenden Sie als eventGuid die GUID,
die Sie in der JavaScript-Funktion "triggerWorkflow()" verwendet haben
(in diesem Beispiel 911F44EE227AE9D9D441C3CE57E10728A457F6E9).
Bestätigen Sie Ihre Eingaben mit OK.
Erstellen Sie eine Groovy-Aktion und verbinden Sie sie mit dem
Generischen Ereignisbehandler. Tragen Sie hier folgendes Skript ein:
Ersetzen Sie in den SQL-Anweisungen SELECT und INSERT die GUID der Datengruppe bitte
mit der GUID der Datengruppe aus der Ziel-Applikation.
Den Namen können Sie im Editor ganz einfach über den
Reiter Applikationsstruktur
ermitteln, wenn Sie dort Ihre Applikation auswählen. Ersetzen Sie außerdem in der letzten
Skriptzeile die GUID F86BD249C2E9D9090109F3BA3B568DA683C86D05 mit der GUID Ihres
Datei-Datenfeldes aus der Ziel-Applikation.
Im Skript wird die gewünschte E-Mail im ersten Schritt zwischengespeichert,
um anschließend in die Datengruppe eingefügt zu werden. Anschließend wird mit dem SQL-Statement "INSERT"
ein neuer Datensatz in der Datengruppe erzeugt. Dabei wird auch der Betreff der E-Mail
als Titel des neuen Eintrags in die Ziel-Applikation übernommen.
Bitte beachten Sie, dass Sonderzeichen im Betreff einer E-Mail Probleme beim Speichern verursachen können.
Mit Hilfe der Klasse "FileUCHelper" wird im letzten Schritt das zwischengespeicherte
E-Mailobjekt zu dem soeben erzeugten Datensatz hinzugefügt.
Anzugeben sind hierbei folgende Parameter:
g_context: Der aktuelle Verarbeitungskontext. g_context kann konstant eingesetzt werden.
fileMail: Das Dateiobjekt der zwischengespeicherten E-Mail.
GUID: Die GUID des Datei-Datenfeldes, in das die E-Mail gespeichert werden soll.
Dateiname: Der neue Dateiname des abgespeicherten Dateiobjekts.
true/false: Soll ein auf der Zieldatengruppe definierter Datengruppen-Ereignisbehandler auf das Einfügen der Datei reagieren?
Als Name der abgespeicherten E-Mail wird hier im Beispiel die aktuelle Zeit verwendet. Andere Dateinamen wie Betreff
(ohne Sonderzeichen), Kundennummer oder ID sind ebenfalls denkbar und können individuell gewählt werden.
Speichern und veröffentlichen Sie den Prozess und rufen Sie die E-Mail-Applikation im Browser auf.
Wählen Sie eine Nachricht aus, die archiviert werden soll und klicken Sie auf die Schaltfläche "E-Mail abspeichern".
Nach dem erfolgreichen Speichern finden Sie die E-Mail in Ihrer Ziel-Applikation.