Mit dem Microsoft Outlook Add-In Mailissa hat We4IT bereits ein mächtiges Werkzeug entwickelt, um E-Mails in sog. Sammelpostfächern mit anderen Mitarbeitenden besser bearbeiten zu können oder diese in weitere Businessanwendungen (CRM, ERP,…) zu übertragen, um sie im richtigen Unternehmenskontext abzulegen. Das funktioniert sehr flexibel und reibungslos, und die Palette der unterstützten Zielsysteme wächst stetig.

Nachdem eine E-Mail mit Mailissa in eine entsprechende Zielanwendung übertragen ist, obliegt die weitere Bearbeitung allerdings dem jeweiligen Zielsystem. Mit Mailissa TaskIt! wird die Übertragung einer Mail nun zum Start einer Prozesskette.

E-Mails sicher in zentrale Aufgaben umwandeln

Mailissa TaskIt! schafft nun also die Brücke von dem Mailsystem zu einer Weiterverarbeitung. Mit dem jeweiligen Add-In für Microsoft Outlook und HCL Notes kann eine E-Mail direkt aus dem Posteingang heraus an die TaskIt!-Anwendung in Microsoft SharePoint übertragen werden. Aus einer übertragenen E-Mail wird automatisch eine Aufgabe generiert und die E-Mail in der Aufgabe abgelegt. Diese Aufgabe kann Personen zugeordnet werden und hält jeweils den Status, eine Priorität und weitere Meta-Daten bereit, die zur Nachverfolgung bei der Erledigung der Aufgabe wichtig ist. Die Verantwortlichen dieser Aufgabe erhalten automatisch eine Benachrichtigung. Über ein Dashboard in der Anwendung sieht dann auch jeder Mitarbeitende sofort, was zu welchem Termin zu erledigen ist. Mit umfangreichen Filterfunktionen, sowie persönlichen Ansichten kann sich dann jeder Nutzer genau die für ihn relevanten Aufgaben anzeigen lassen.

Microsoft Outlook und HCL Notes als Quelle für E-Mails

E-Mails können selbstverständlich aus Outlook mit einem komfortabel zu bedienenden Addin übertragen und zu Aufgaben konvertiert werden. We4IT hat aber natürlich als jahrelanger IBM- und HCL-Business Partner auch HCL Notes nicht vergessen. Obwohl technologisch auf einem völlig anderen Terrain zuhause, hat We4IT es möglich gemacht, auch aus dieser Plattform E-Mails als Aufgaben zu übertragen und in der SharePoint-App abzulegen. Die technischen Hürden, die dabei genommen werden mussten, werden im weiteren Verlauf noch erläutert.

SharePoint als Daten- und Applikations-Plattform

Microsoft SharePoint als zentrale Plattform für die Ablage von Daten jeder Art ist heute ein Quasi-Standard in den Unternehmens-Infrastrukturen. Aus diesem Grund hat We4IT eben diesen Standard als Plattform für die Ablage und das Management der Daten gewählt. Der Vorteil: nicht nur die Daten können abgelegt werden, sondern SharePoint kann auch als Plattform für die Präsentation der Applikation genutzt werden.

Details zur Umsetzung

Eine über Mailissa TaskIt! in SharePoint generierte Aufgabe ist technisch gesehen ein sogenanntes DocumentSet, nachfolgend Arbeitsmappe genannt, wie es in SharePoint ein Standard-Format ist. Hier können neben eigenen Meta-Daten auch Anhänge und weitere Dokumente abgelegt werden. Die Arbeitsmappe selbst ist wiederum Teil einer SharePoint-Liste, die ebenfalls eigene Meta-Daten enthalten kann. Die Aufgabe enthält dann entsprechend die ursprüngliche E-Mail und alle dazu gehörenden Anhänge (beide auch optional). Daten an SharePoint Online (Microsoft 365) zu übertragen ist mit der modernen MS GraphAPI unkompliziert umzusetzen. Mit SharePoint Server (on-premises) ist das anders, da hier aktuell diese moderne API nicht vorhanden ist. Stattdessen muss als Entwickler die SharePoint API 2.0 verwendet werden. Ein REST Service der eher “rustikalen” Art. Neben einer nicht mehr optimal gepflegten Dokumentation dieser API, gab es auch das Problem der unterschiedlichen Darreichungsformen der möglichen Requests und der Responses. Wichtig in der Umsetzung war aber die Erstellung eines Produktes, welches sowohl in der On Premises- als auch M365-Welt eingesetzt werden kann.

 

Ein Addin für Microsoft Outlook

Der Ursprung der Übertragung einer E-Mail in ein anderes System ist natürlich das Mail-Programm. In diesem Fall daher natürlich Microsoft Outlook, da dies der de-facto Standard für E-Mails im Microsoft Universum ist. Für die Übertragung einer E-Mail musste also ein Outlook Addin geschrieben werden, welches sich nahtlos in das Programm integriert. Die Technologie für das Addin ist ein sogenanntes COM (Component Object Model) Addin. Dies ist realisiert als ein C++ Wrapper, der die Schnittstellen zur Outlook API bereitstellt und die C#/.Net-DLL (das eigentliche Addin) lädt und dabei die API übergibt. Diese Technik nennt sich Shim.

Das Addin nutzt zudem eine bereits zuvor von We4IT entwickelte Mailissa API für die dynamische Erstellung der verschiedenen Eingabeelemente wie Textfelder, Checkboxen, Date-Picker usw. Durch die Nutzung dieser API ist das Addin sehr leicht anpassbar an eventuell neu aufzunehmende Elemente. Technisch basiert das User Interface auf WPF (Windows Presentation Foundation, ein Grafik Framework für .NET Anwendungen).

 

Zentrales Dashboard als SharePoint Framework App

Für die Verwaltung der TaskIt!-Aufgaben musste es, neben der jeweiligen Aufgabenübersicht auf der jeweiligen Sharepointseite (Site), unbedingt ein zentrales Dashboard geben. Kein Nutzer möchte von Site zu Site springen, um dort die jeweils fälligen Aufgaben zu sichten und zu bearbeiten. Dies sollte Site-übergreifend an zentraler Stelle möglich sein. SharePoint wird nun also nicht nur für die Ablage der Daten, sondern auch als Plattform für die Applikation genutzt. Der Webpart wurde umgesetzt mit dem modern aussehenden Fluent UI Framework (Microsofts UX Framework). Programmiert wurde dies in react Typescript. Für die API-Zugriffe wurde die PnPjs Library verwendet, welche die API-Zugriff kapselt und Typsicher zur Verfügung stellt.

Eine App auch für die SharePoint Konfiguration

Um eine E-Mail mit Mailissa TaskIt! in SharePoint ablegen zu können, muss die jeweilige Site dafür zunächst vorbereitet werden. Um dies für den Administrator komfortabel zu gestalten, hat We4IT eine zusätzliche SharePoint Framework App entwickelt, welche die notwendigen Schritte beim Ausrollen (Deployment) automatisch ausführt. Zusätzlich stellt die App in SharePoint ein Benutzeroberfläche (User-Interface) für einige Konfigurationsoptionen – wie beispielsweise Syntax der Aufgabennnummern – zur Verfügung.

Team HCL Notes

Während in Outlook mittels C# und SDK selbst die UI-Elemente für das Add-In eher einfach zu generieren sind, ist das in HCL Notes nicht der Fall. Sicher, eine Maske ist dort auch schnell erstellt, aber das Ziel war es, diese Funktionalität in die Mail-Datenbank des Nutzers zu bringen. Die Prämisse lautete daher: so einfach wie möglich und mit so wenig Design-Elementen wie nötig. Jeder, der Notes kennt, weiß, dass eine Anpassung der Mail-Schablone zwar möglich ist, dies aber möglichst “schonend” erfolgen sollte – am besten noch automatisch.

 

Technologisch war es kurz gesagt so:

  • Die Meta-Daten-Abfrage beim Erzeugen einer Aufgabe erfolgt in einer Notes-Maske als Dialog. Dieser kann entweder aus dem Posteingang oder direkt in der Mail-Maske selbst aufgerufen werden
  • Einige Daten müssen “live” aus SharePoint abgefragt werden, dazu muss die SharePoint API 2.0 (REST Service) genutzt werden
  • Die Anpassung des Mail-Templates erfolgt halb-automatisch. Es gibt Elemente, die mittels eines Assistenten in die Schablone überführt werden, andere müssen manuell kopiert werden

 

Eine wichtige Vorgabe war, dass HCL Notes (bzw. IBM Notes) ab einschließlich Version 9.0.1 unterstützt werden sollte. Das ist insofern erwähnenswert, da diese Version nicht die Nutzung der neuen LotusScript-Klassen für HTTP-Requests erlaubte. Diese wurden erst mit Version 10 eingeführt und in 11 perfektioniert. Wie nun also REST Services in einem “alten” Notes-Client nutzen? Die Antwort mag überraschen: LS2J. Ohne weiter auf die Besonderheiten einzugehen, sei gesagt, dass dies eine sehr einfach gehaltene Verquickung von Java-Code und LotusScript ist. Java-Code kann damit von LotusScript aus aufgerufen werden. Die Lösung war nun also, alles in Java zu entwickeln (vor allem alle REST-Calls) und die Ergebnisse dann direkt nach LotusScript zu bringen oder direkt in Notes-Dokumente. Es wurde auch ein sogenannter Preloader entwickelt, welcher für Mailissa TaskIt! spezielle Konfigurationsdaten direkt aus den SharePoint Websites lädt und damit direkt im Notes-Frontend nutzbar macht.

 

Zusammenfassung

Durch die verschiedenen verwendeten Plattformen, Techniken und APIs (Outlook, SharePoint, react, Java, Lotusscript usw.) wurden sehr unterschiedliche Skills für die Umsetzung benötigt. Das sechsköpfige Entwickler-Team konnte Ihre Teil-Gewerke zwar größtenteils unabhängig voneinander entwickeln, Absprachen waren aber hinsichtlich des Datenmodells und der übergreifenden Funktionen regelmäßig notwendig. So etwas kann man im Vorfeld noch so präzise planen, eine Entwicklung auf diesem Niveau ist eben auch immer agil.

Insgesamt sind wir als We4IT sehr stolz, dass wir innerhalb eines Jahres dieses neue Produkt fertiggestellt haben. Es schließt die Lücke zwischen einer einfachen E-Mail und einem daraus resultierenden Bearbeitungsprozess. Für eine detaillierte Produktinformation und gerne auch einen Termin für eine Live-Demo finden Sie alles auf unserer Produktwebseite zu Mailissa TaskIT!.