Modul "MyOdoo Exchange & Office 365 Connector"

FERTIG

(Stern)  Kunden mit einem Software-Pflege Vertrag bekommen kostenlos unser exklusives Backend Theme . Wundern Sie sich deshalb nicht wegen des Aussehens der deutlich optimierten Screenshots auch in der Version 8. 

Themenbereiche


Funktionsumfang

Das Open Source ERP System Odoo bildet zwar die meisten Unternehmensprozesse ab, aber als Groupware wird in den meisten Unternehmen Microsoft Exchange mit Outlook als Standard eingesetzt.
Diesen Funktionsumfang mit Odoo abzubilden ist so gut wie unmöglich und macht insbesondere bei den Mietmodellen von Office 365 keinen wirtschaftlichen Sinn.
Dabei müssen wir aber berücksichtigen, dass viele Kunden den Exchange Server nicht in der Cloud betreiben wollen, sei es wegen Sicherheitsbedenken oder weil die Lizenzen bereits gekauft sind.

Deshalb wird unsere Lösung beide Szenarien unterstützen. Microsoft Exchange wird ab der Version 2010 unterstützt werden.

Schnittstelle

Als Schnittstelle haben wir uns für eine Kommunikation basierend auf REST entschieden. Leider bietet der Exchange Server nur eine SOAP Schnittstelle https://github.com/OfficeDev/ews-managed-api/blob/master/README.md, was aus heutiger Sicht nicht mehr zeitgemäß ist.

Im Bereich Office 365 bietet Microsoft die neue Microsoft Graph Schnittstelle, die auf einer REST-API basiert. Diese bietet den großen Vorteil, dass man sich zentral anmeldet und auf die verschiedenen Objekte des Office 365 zu greifen kann.

Für den Exchange Server bilden wir mittels einem in C# geschriebenen Mapper eine REST-API mit dem selben Funktionsumfang, den wir auch in der Web 1.0 Schnittstelle nutzen wollen.
Dadurch muss auf Odoo Seite nur eine Schnittstellenart bedient werden. Der REST-API Mapper auf EWS benötigt für den Betrieb lediglich einen Microsoft IIS oder kann auch unter Azure betrieben werden.
Einen ähnlichen Mapper haben wir bereits erfolgreich für Odoo umgesetzt https://odoorestapi.azurewebsites.net/Help 

In der aktuellen Version V1.0 der Schnittstelle kann auf Benutzer, Ondrive, Outlook-Mail, Outlook-Kalender, Private Kontakte, Gruppen & Directory zugegriffen werden.
Wir beschränken uns in der ersten Version der Schnittstelle aber nur auf Outlook-Mail, Outlook-Kalender, Privater Kontakte.

Der "MyOdoo Exchange & Office 365 Connector" ist ein Odoo-Modul.
Es bietet jedem Benutzer die Möglichkeit mittels REST-API die Daten manuell oder als zeitgesteuerten Hintergrund-Job mit Exchange/Office 365 auszutauschen.
Für den manuellen Abgleich findet sich in Odoo unter Nachrichten entsprechende Aufruf-Buttons. 

Was wird synchronisiert?

Wir gehen dabei vom häufigsten Einsatzszenario aus. Der Exchange Server ist das "führende System" für E-Mails & Termine.
Odoo hingegen hat erfahrungsgemäß als ERP mit CRM-, Einkaufs- und Vertriebsmodulen die bessere Qualität im Bereich der Adressen, da dort alle Interessenten, Kunden und Lieferanten gepflegt sind. 
Folglich ist Odoo im Adressbereich das "führende System". 

E-Mails

Synchronisationsweg: Exchange/Office 365 → Odoo

Da mit Outlook eines der besten E-Mailprogramme für Windows, OSX, Browser und neuerdings auch für iOS und Android verfügbar ist, werden die E-Mail natürlich damit gelesen, geschrieben und verwaltet.
Natürlich können E-Mails auch aus Odoo verschickt werden. Mittels einer SMTP-Regel im Exchange/Office 365-Server kann man sich diese E-Mails auch in seinem Outlook-Account wieder zu ordnen. 
Aber die meisten E-Mails liegen im Outlook-Postfach.
Eine Zuordnung auf Kunden, Lieferanten oder sogar Aufträge bzw. dem Zugriff auf die E-Mails für alle ERP Anwender ist nicht machbar.

Sicher gehören aber nicht alle E-Mails aus Outlook ins Odoo ERP System.  

Deshalb kann der Anwender in der Schnittstelle je einen Ordner für eingehende und ausgehende E-Mail definieren.
Über eine Regel in Exchange/Office 365 kann er bestimmen, welche E-Mails in diesen Ordnern landen.
Natürlich kann der Anwender die E-Mails auch von Hand in diese Ordner kopieren.

Von hier holt der Connector die E-Mails auf Knopfdruck oder in regelmäßigen Abständen ab und ordnet sie Aufgrund der E-Mail-Adresse dem Odoo-Kontakt zu.
Gibt es eine E-Mail-Adresse mehrfach im Odoo, muss der Anwender mittels Auswahl entscheiden, welchem Kontakt diese E-Mail zu zuordnen ist.

Oftmals bekommen mehrere Anwender die gleiche E-Mail. Hier versucht der Connector mittels Abgleich Dubletten zu vermeiden.

Optional können die E-Mails in den Transfer-Ordnern auch automatisch gelöscht werden. 

(Minus) Exchange -gesendete Mails landen nicht im Gesendet Ordner.  


Termine

Synchronisationsweg: Exchange/Office 365 → Odoo

Bei Terminen verhält es sich ähnlich wie bei den E-Mails. Outlook ist ein Standard. Deshalb gleicht der Connector die Termine nur vom Outlook zu Odoo ab.
Der Anwender kann den Zeitraum eingrenze, in dem die Termin abglichen werden. So vermeidet man historischen "Daten-Müll".

Nach erfolgreichem Transfer wird die "Unique-ID" aus Exchange/Office 365 für jeden Termin und Mitarbeiter im Odoo System hinterlegt.
Liegt ein Termin vor, in den mehrere Anwender involviert sind, fasst der Connector diesen Termin auch zum Gruppentermin innerhalb von Odoo zusammen.

 

Kontakte

Synchronisationsweg: Odoo → Exchange/Office 365

Ziel ist es, dass jeder Anwender in seinem Outlook Adressbuch eine gute Datenqualität hat und nur die Adressen synchronisiert bekommt, die er für seine tägliche Arbeit tatsächlich benötigt!

Der Anwender kann bei jedem Adressdatensatz (Interessent, Kunden, Lieferant, Ansprechpartner oder Mitarbeiter), auf den er Zugriffsrechte hat, ein Kennzeichen für den Office 365 Transfer setzen.
Ähnlich wie die Standard "Follow-Funktion" von Odoo kann der Anwender Adressen "abonnieren". Vertriebsmitarbeiter können ferner automatisiert alle ihre Kunden abonnieren lassen.
Nach erfolgreichem Transfer wird "Unique-ID" aus Office 365 für jeden Adressdatensatz und Mitarbeiter im Odoo System hinterlegt.
Darüber wird bei Änderungen auf Odoo Seite der Adressdatensatz identifiziert.

Löscht ein Anwender die Adresse auf Office 365 Seite, wird sie erneut synchronisiert bis das Abonnement beendet wird.
Dazu gibt es unter "Ausblick" eine Weiterentwicklungsmöglichkeit.

(Warnung) Bestehende Kontakte im Adressbuch des Anwender werden von der Schnittstelle ignoriert. Doppler muss der Anwender selbst beseitigen.

(Minus) Beendet der Anwender das Abonnement der Adresse wird sie nicht automatisch gelöscht. 
Dies kann der Anwender optional in der Konfiguration einstellen.
(Minus) Exchange - es werden nur Kontakte mit E-Mailadresse synchronisiert. 


Konfiguration

Jeder Anwender hat unter seinen persönlichen Einstellungen die Möglichkeit folgende Daten für den Connector zu hinterlegen:

  • Exchange/Office 365 Benutzer-Name
  • Exchange/Office 365 Benutzer-Passwort
  • Intervall Häufigkeit (Diese kann aber vom Administrator vordefiniert werden, um Serverlast zu vermeiden)
  • Eingrenzung der Terminübertragung bei vergangenen Terminen
  • Option "E-Mails im Transferordner löschen nach Übertragung "
  • Option "Adressen löschen in Exchange/Office 365 nach Abonnentende"


Gehen Sie unter Ihrem Nutzer auf Einstellungen:

Die verschiedenen Einstellungsmöglichkeiten für Office365:


Die Transferordner im Office 365 Konto anlegen

Um das Moul korrekt zu nutzen, müssen Sie zuerst zwei Unterordner für den Posteingangsordner anlegen.
Transfer Eingang und Transfer Ausgang

Administratoreinstellungen

Der Administrator Ihres Odoo Systems kann die Office365 / Exchange Konfiguration für Ihren Benutzer unter Einstellungen → Benutzer → Benutzer ebenfalls vornehmen.
→ den entsprechenden Nutzer auswählen → Reiter Office 365 Konto


Hier können die Daten des jeweiligen Nutzers vom Administrator hinterlegt werden, vorausgesetzt natürlich er kennt diese Daten.


Exchange-Pfade:

Kontakte 

http://[SERVERNAME]/exchangeRestApi/api/contacts

Termine

http://[SERVERNAME]/exchangeRestApi/api/events

Emails

http://[SERVERNAME]/exchangeRestApi/api/ChildFolders

Odoo 9

WICHTIG

Um den Office 365 / Exchange Connector für Odoo 9 feherfrei installieren zu können, müssen Sie zunächst eine Anpassung im Odoo Kern tätigen.


Unter dem Verzeichnis openerp->addons->res finden Sie die .xml-Datei res_users_view.xml.

Hier müssen Sie folgendes name-Attribut einfügen, sodass die Ansicht bei der Installation gefunden werden kann.

Zeile 298: <group string="Email Preferences" name="email_preferences">


Modulvideo

Die ausführliche Beschreibung des Moduls finden Sie auch noch einmal in unserem Youtubevideo:




Voraussetzungen



Ausblick

Microsoft arbeitet bereits an Erweiterungen der Schnittstelle,  die Stand März 2016 bereits in einer Betaversion vorhanden sind.
Denkbar wäre es künftig auch Aufgaben oder Notizen abzugleichen. Daneben könnten auch Office Dokumente erzeugt und mit Odoo-Daten ergänzt werden (z.B. die Adressdaten für einen Serieneinzeldruck). 
Außerdem wäre es möglich bei Adressänderungen auf Exchange/Office 365 über eine Shadow-Tabelle dem Mitarbeiter zu ermöglichen, die Änderung in Odoo zu übernehmen.
Über "Webhooks" könnte der Connector durch Löschen des Kontaktes auf Office 365 Seite das Abonnent von Odoo automatisch beenden. 

Dies könnte man auf umgekehrtem Weg auch für Terminänderungen auf Odoo Seite Richtung Office 365 implementieren. 

Ferner könnte man die Benutzer von Office 365 in Odoo übertragen bzw. abgleichen.

(Info) Dies sind bislang nur Ideen und hängen im Wesentlichen von der Weiterentwicklung und damit den Möglichkeiten der Microsoft Graph Schnittstelle ab. Für den Exchange Server werden wird Möglichkeiten aber nicht abbilden können.

Release Note

  • Änderungen vom 20.10.2016


Ähnliche Inhalte

Nach Stichwort filtern

Derzeit gibt es keine Elemente mit den ausgewählten Stichwörtern.