- Dezember 13, 2011
- 2 views
Mailing mal anders
E-Mail-Verwaltung ganz ohne Plugin
Web Viewer als E-Mail-Zentrale
Während meines letzten Projektes bekam ich die Aufgabe, E-Mails kontextabhängig in FileMaker zu archivieren. Dabei stolperte ich über die fehlende Möglichkeit, E-Mails per drag and drop aus Outlook in ein FileMaker Feld zu ziehen.
Eine Zwischenlagerung innerhalb eines temporären Ordners kam für den Auftraggeber nicht infrage. Mein erster Lösungsansatz war, die E-Mails über ein Plugin abzufragen und per Selektierung zuzuordnen, was über ein Plugin wie Mailit 4 recht einfach zu bewerkstelligen ist. Da aber noch keine Klärung des Arbeitsplatzumfanges stattgefunden hatte, war die finanzielle Kalkulation für den Auftraggeber schwierig.
Warum nicht ganz anders?
Da ich schon seit vielen Jahren keinen eigenen Exchange-Server betreibe sondern auf die massenhaft angebotenen Hostingversionen zurückgreife, komme ich natürlich auch mit der Webversion von Outlook (OWA) in Kontakt. Beim Abrufen meiner E-Mails per OWA kam mir irgendwann ein Gedanke: Warum nicht die Weboberfläche einfach im Web Viewer darstellen? Diese Idee sofort in die Tat umsetzend habe ich einen Test durchgeführt, der viel versprechend verlief: Die Oberfläche wurde problemlos angezeigt.
Was soll ich speichern?
Nun ist es zwar nett, sich den Inhalt einer E-Mail im Web Viewer anzeigen zu lassen, aber es bringt noch keinen echten Mehrwert gegenüber dem Anblick einer E-Mail im Webbrowser.
Mein erster Ansatz war es, den Inhalt des Web Viewers und somit die E-Mail als PDF-Datei zu speichern und in ein Medienfeld zu legen. Das geht schnell und ist mit FileMaker Bordmitteln machbar. Allerdings war ich von dieser Methode noch nicht vollständig überzeugt.
Ein Blick in das URL-Feld eines Browsers drängt einem die Lösung richtiggehend auf: Jede E-Mail besitzt eine eigene URL, die nur noch abgefragt werden muss. Speichere ich die URL in FileMaker, so kann ich die URL natürlich auch in FileMaker anzeigen lassen. Die Abfrage der URL erfolgt entweder über ein Script oder ein Formelfeld
LiesLayoutobjektAttribut ( “Web Viewer 1”; “Quelle”)
Das Problem der unvollständigen URL
Wer schon mit der OWA-Oberfläche des Exchange-Servers gearbeitet hat, weiß sicherlich, dass es zwei unterschiedliche Arten der Darstellung gibt: Da haben wir zum einen die moderne Web-2.0-Oberfläche, die keinen Komfort vermissen lässt, und zum anderen die klassische Standardoberfläche, in der ein Link noch wie ein Link aussieht und sich auch wie einer verhält.
Leider wird bei der Web-2.0-Oberfläche keine komplette URL mehr angezeigt, weshalb nach der Abfrage nur die URL der Hauptansicht gespeichert wird. Das lässt sich aber sehr einfach durch das Zurückschalten auf die alte Oberfläche umgehen. Jetzt bekommt FileMaker alle Links angezeigt und kann diese abfragen und speichern. Übrigens ist kein teurer Hosted Exchange Account nötig – ein einfacher Webmailer entweder vom Hoster oder auch in den eigenen Räumen (Horde, RoundCube o. Ä.) tut es auch. Da diese Mailer die günstigste Möglichkeit darstellen, E-Mails zu archivieren, habe ich meinen Beitrag darauf abgestimmt und den Webmailer RoundCube verwendet.
Die Darstellung der E-Mails
Die Darstellung der E-Mails ist natürlich Geschmackssache. In meiner Anwendung habe ich ein Portal für die Daten der URL und ein Web-Viewer-Feld erstellt. Die Web-Viewer-URL ist auf eine Variable gelegt. Wird nun im Portal der Link gewählt, wird dieser an die Variable übergeben. Die E-Mail ist nun zu erkennen.
Um die Elemente des Webmailers bequem bedienen zu können, werden die E-Mails in einem Extrafenster gespeichert, das bei Bedarf auch auf einen anderen Monitor verschoben werden kann.
Der eigentliche Ablauf
Speicherung einer E-Mail
Soweit die Theorie. Die Umsetzung in der Praxis stellt jedoch keine große Herausforderung dar sondern lässt sich ganz einfach bewerkstelligen: Wir benötigen lediglich eine Tabelle, die neben den üblichen in der Praxis benötigten Feldern ein Formelfeld und ein Textfeld zum Speichern der URL enthält.
Das Formelfeld ist wie folgt definiert
LiesLayoutobjektAttribut ( “Web Viewer 1”; “Quelle”)
und in den Speicheroptionen muss das Häkchen bei „Ergebnisse nicht speichern – nur bei Bedarf neu berechnen“ gesetzt werden. Nun müssen wir nur noch ein Layoutelement mit der Bezeichnung „Web Viewer 1“ vom Typ Web Viewer in unserem Layout einbauen – und fertig.
In meiner Anwendung habe ich das Web-Viewer-Element in ein Extrafenster verbannt, um mehr Platz zum Lesen der E-Mails zu haben. Diesem habe ich auch noch ein Feld zum Eingeben der URL zum Webmailer spendiert.
Möchte ich nun eine E-Mail speichern, so erzeuge ich per Script einen neuen Datensatz. Das Formelfeld ermittelt die URL, die im gleichen Script per „Feldwert setzen“ in unser Textfeld geschrieben wird. Und schon ist unsere E-Mail gespeichert – immer vorausgesetzt natürlich, es besteht eine Verbindung zum Webmailer.
Anzeigen einer E-Mail
Um die gespeicherte E-Mail bei Bedarf wieder anzeigen zu können, benötigen wir ein zweites Layoutelement vom Typ Web Viewer. Die URL hinterlegen wir als Variable oder auch als Formel. In meinem Beispiel habe ich auf der linken Seite eine Liste der URLs in einem Portal und auf der rechten Seite befindet sich der Web Viewer. Selektiere ich nun einen Datensatz innerhalb des Portals, so wird die Variable des Layoutelements gesetzt und die E-Mail wird im Web Viewer angezeigt.
Fazit
So einfach das Prinzip auch ist, so umfangreich und vielfältig sind die Möglichkeiten. Ich kann den E-Mail-Verkehr nun problemlos verschiedenen Projekten, Firmen oder Kontakten zuordnen. Wer sich daran stört, dass die E-Mails nicht offline zugänglich sind, der sei abschließend noch auf zwei Dinge hingewiesen: zum einen werden immer mehr Inhalte ins Web verschoben und zum anderen kommt die aufgezeigte Möglichkeit sicherlich nicht für jedes Projekt infrage.