Groupware-Anbindung
Allgemeines
In diesem Menüpunkt wird der Zugang zu einem E-Mail-Account konfiguriert, um einen Workflow für den automatischen Import oder Aktivitätenabgleich ausführen zu können.

Abbildung: E-Mail-Konfiguration im CURSOR-CRM
IMAPS- und SMTPS-Protokoll
Grundlagen
Bei der serverseitigen Mail-Schnittstelle wird das IMAPS- und SMTPS-Protokoll mit SSL und TLS unterstützt.
Hintergrund
Oft steht die ungesicherte IMAP- und SMTP-Schnittstelle ohne SSL und TLS nicht zur Verfügung, so dass keine Mails im Web Client oder in BPM verschickt oder empfangen werden können. Auch der automatische Mail-Abgleich und der BCC-Importer sind nicht verfügbar.
Durch die Unterstützung von IMAPS und SMTPS stehen alle Funktionalitäten der serverseitigen Mailschnittstelle zur Verfügung.
Über die E-Mail-Konfiguration in den Systemeinstellungen oder in der Mail-Konfiguration kann optional der Port für den Postausgangs- bzw. Posteingangsserver gesetzt werden (Servername:Port). Über die Einstellungen TLS bzw. SSL wird das SMTPS- und IMAPS-Protokoll aktiviert.
Standardport IMAP und IMAP TLS: 143
Standardport IMAPS: 993
Standardport SMTP, SMTPS: 25
SSL Zertifikate nicht unterstützter CAs
Falls das im Exchangeserver verwendete Zertifikat von Java nicht unterstützt wird, stehen zwei Optionen zur Auswahl:
CA Zertifikate im JBoss Server aufnehmen
oderExchange-Server-Zertifikat tauschen.
SSL Zertifikate nicht unterstützter CAs
Das im CURSOR-Exchangeserver verwendete Zertifikat wird von Java nicht unterstützt, da die CA nicht bekannt ist.
Vorgehensweise:
CA Zertifikate im JBoss Server aufnehmen
oderExchange-Server-Zertifikat tauschen.
CA SSL-Zertifikat importieren
Linux|Windows
"{InstallPath}/server/JBoss/jdk-11.0.3+7/bin/keytool" -importcert -file "<Root Zertifikat der Zertifizierungsstelle>.pem" -keystore "{InstallPath}/server/Jboss/standalone/configuration/truststore_customer.p12" -storepass "<Truststore Passwort>"
Exchange-Server
Einsatzgebiet des Exchange-Servers
Über den Exchange-Server werden Kontakte und Ansprechpartner abgeglichen. Die direkte Anbindung des Exchange-Servers ersetzt die clientseitige Anbindung via Microsoft Outlook mit dem CRM-System. Hierdurch können Daten auch zwischen den beiden Systemen ausgetauscht werden, wenn deren Clients nicht gestartet wurden. Der "klassische" clientseitige Outlook-Abgleich wird durch den serverseitigen Abgleich ersetzt. Besonders wichtig ist diese Lösung für den Web Client, wo Termine und Kontaktdaten ohne MS Outlook mit dem Groupware-System ausgetauscht werden können. Der Datenaustausch findet serverseitig bidirektional direkt zwischen dem Exchange-Server und dem CRM-System (JBoss) statt.
In der Beschreibung nehmen wir an: das CRM ist das führende System.
Technische Voraussetzungen
Softwareversion
Rahmenbedingungen zur Umstellung auf die Exchange-Server-Anbindung:
MS Exchange Server 2010
CRM mindestens in der Version 2015.1
Schnittstelle
EWS - Exchange Web Service
Die Methoden zum Zugriff auf die Kontakte im EWSNewsSystemManager wurden implementiert. Wird der EWSNewsSystemManager verwendet, werden alle Kontakte über die EWS-API angelegt. Die Synrchonisation kann wenige Minuten dauern, da diese von dem Exchange-Server gesteuert wird.
Konfiguration
Die Konfigurationsmaßnahmen werden in 3 Schritten vorgenommen:
Konfiguration der Systemeinstellungen (Abschnitt Groupware)
E-Mail-Konfiguration
Konfiguration der Zugangsdaten im Benutzerprofil
Konfiguration der Systemeinstellungen
Unter Administration / Datenfluss / E-Mail-Konfigurationen konfigurieren Sie auf der Maske die Parameter des Exchange-Servers. Als Kalender-System stehen vier Optionen zur Verfügung:
Outlook ("klassische" clientseitige Anbindung an Outlook)
Serverseitige Groupware (entwickelt für die Anbindung an Groupware-Server MS Exchange)
Noop (keine Anbindung)
Exchange Webservice
Für die serverseitige Anbindung des Exchange-Servers wählen Sie die Option Exchange Webservice. Darüber hinaus sollen Sie die IP und den Port des Servers eintragen. Des Weiteren sind die Exchange-Version und der Pfad des Webservices zu definieren.

Abbildung: Systemeinstellungen für die EWS-Schnittstelle
E-Mail-Konfiguration für den Exchange-Server
Die Verbindungseinstellungen des Exchange-Servers werden über die Maske Mail-Konfiguration hinterlegt. Im Folgenden ist diese Beispielhaft für das Versenden einer Mail für die Eskalation bei Geschäftspartner-Änderungen dargestellt.

Abbildung: Maske E-Mail-Konfiguration
Eine Übernahme des angezeigten Namens beim E-Mail-Versand ist unter Verwendung von EWS nicht möglich. Lediglich unter Nutzung von SMTP kann der Anzeigename aus der E-Mail-Konfiguration übernommen werden.
Für den Kontaktabgleich müssen die Felder wie folgt belegt werden:
Feld | intern | Wert | Anmerkung |
---|---|---|---|
ID | Wird generiert | ||
Kurzname | MatchCode.MailConfig | EWS KONFIGURATION | |
Bleibt leer, wird aus dem jeweiligen Mitarbeiter Datensatz verwendet | |||
Benutzername | Bleibt leer, wird aus dem jeweiligen Mitarbeiter Datensatz verwendet | ||
Passwort | Bleibt leer, wird aus dem jeweiligen Mitarbeiter Datensatz verwendet | ||
Groupware-System | GroupwareSystem.MailConfig | SERVER | |
Maileingangs-Server | <Serverdomain> | Beispielhaft für die Inhaus-Lösung der CURSOR Software AG | |
Mailausgangs-Server | <Serverdomain> | Beispielhaft für die Inhaus-Lösung der CURSOR Software AG | |
Kalendersystem | NewsSystem.MailConfig | EWS |
Konfiguration des Benutzerzugangs
Die Verbindung zwischen dem Anwenderprofil des CRM und dem Exchange-Server-Profil des Anwenders müssen einmalig in der Maske Mitarbeiter / Lasche Konfiguration konfiguriert werden. Bei Änderungen des Exchange-Passwortes muss dieses immer nachgetragen werden. Die Anmeldung erfolgt mit dem im Mitarbeiter hinterlegten Groupware-Benutzer, -Passwort und -Konfiguration. Der Job meldet sich dann einzeln hintereinander mit dem jeweiligen Benutzer am Exchange-Server an und gleicht die Kontakte ab.
Die Konfiguration muss für den jeweiligen Client definiert werden (Rich Client und Web Client).

Abbildung: Maske 'Mitarbeiter'
Die auf der Lasche 'Info' konfigurierte E-Mail-Adresse des Mitarbeiters muss eine SMTP-Primäradresse auf dem Exchange-Server sein.
Microsoft Graph API und Office 365 mit EWS
Für den Zugriff auf Office 365 hat Microsoft die neue Microsoft Graph API bereitgestellt. Diese löst die bestehende EWS Schnittstelle ab. Alternativ kann Office 365 auch über EWS angesprochen werden. Dazu wird das OAuth Verfahren verwendet, was auch mit Microsoft Graph API verwendet wird.
Die Microsoft Graph API stellt dabei Rest Webservices bereit, um den Zugriff auf E-Mails, Termine, Aufgaben oder Kontakte durchführen zu können. Die Microsoft Graph API kann nicht für lokale Exchange Server Installationen genutzt werden. Hier muss die Hybrid Lösung des Exchange Servers zum Einsatz kommen, da der Zugriff nur über die Microsoft Azure Cloud erfolgen kann (https://docs.microsoft.com/de-de/exchange/exchange-hybrid).
Multifaktor-Authentifizierung ist für Microsoft Schnittstellen (EWS/MS Graph zum Exchange) nicht vorgesehen.
Für die Anmeldung kommt als Modern Authentication das OAuth Verfahren zum Einsatz. CURSOR-CRM speichert hierbei die Zugriff-Tokens in der Datenbank. Die Speicherung von Windows-Passwörtern in CURSOR-CRM ist somit nicht mehr nötig. Für den Zugriff von CURSOR-CRM auf die Azure Cloud muss eine Registrierung durchgeführt werden.
Bei der Verwendung der Microsoft Graph API sind die unten aufgeführte funktionalen Einschränkungen zu beachten.
Bekannte Einschränkung bei Nutzung der Microsoft Graph API
Das Filtern und Versenden nach privaten E-Mails und Kontakten ist nicht möglich. Hier wurde ein Feature Request an Microsoft gestellt.
(https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/38915386-allowed-set-sensitivity-option-on-mail-messages
https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/20458651-microsoft-graph-api-filter-contacts-which-we-have)In Kontakten kann auf die folgenden Daten derzeit nicht zugegriffen werden:
Fax (geschäftlich)
Fax (privat)
Autotelefon
Assistent-Telefonnummer
Jahrestag
Postanschrift (Feature Request https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/39130165-choosing-letter-physical-address-not-possible)
Privat Kennzeichnung
Bei E-Mails gibt es keine Möglichkeit auf die messageClass zuzugreifen. Dadurch kann nicht erkannt werden, ob es sich um archivierte E-Mails handelt, die nicht importiert werden sollen. Es wurde ein Feature Request bei Microsoft eingereicht.
(https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/39090901-missing-messageclass-in-mail-message)Der Abgleich vom Aufgaben wird nicht unterstützt.
Registrierung CURSOR-CRM in der Microsoft Azure Cloud
Jeder JBoss Server, der Zugriff auf die Microsoft Graph API/Office 365 mit EWS haben will, muss in der Azure Cloud registriert werden. Hierbei reicht es aus, eine App-Registrierung anzulegen und dann alle Server mit der Umleitungs-URI zu registrieren. Weitere Informationen zu dem Thema können der offiziellen Dokumentation entnommen werden (https://docs.microsoft.com/de-de/graph/auth-register-app-v2).
Melden Sie sich im Microsoft Azure Portal mit dem Administrator für Ihre Organisation an. Wählen Sie den Punkt App-Registrierungen.
Fügen Sie hier eine neue Registrierung hinzu. Wählen sie dabei den 1. Kontotyp aus.
Registrieren Sie nun einen oder mehrere CURSOR-CRM JBoss Server mit ihrer Umleitungs-URI. Die Die URL lautet dabei https://server.domain:x8443/oauth/authorization/callback.
Damit der Zugriff auf Mails, den Kalender und Kontakte möglich wird, müssen folgende Berechtigungen freigegeben werden:
Berechtigungen für Microsoft Graph API
Detailierte Beschreibung der einzelnen Berechtigungen und wofür sie im CURSOR-CRM benötigt werdenAPI/Berechtigungsname Beschreibung Verwendung im CURSOR-CRM Calendars.ReadWrite
Kalenderdaten lesen/schreiben (Termine, Besprechungen) Aktivitäten Handling mit Terminen, Besprechungen Contacts.ReadWrite Kontaktdaten lesen/schreiben Für die Übertragung der Ansprechpartner nach Outlook. Import der Kontakte ins CRM Group.Read.All Verteiler auslesen Stellt die Mail-Verteiler im Mail-Dialog zur Verfügung Mail.ReadWrite Mails lesen/schreiben Um die Daten aus der Mail auszulesen und als Aktivität zu speichern. Daten aus der Aktivitäten in die Mail übernehmen, damit diese verschickt werden kann. Mail.Send Mails versenden Um Mails aus dem CRM verschicken (aus einer Aktivitäten, über einen Prozess...) offline_access Zugriff ohne Benutzeranmeldung Wird benötigt, wenn der automatische Abgleich von Terminen, Aufgaben, Mails, Kontakten aktiv ist und im Hintergrund läuft OnlineMeetings.ReadWrite Wird benötigt um einen MS Teams Link zu generieren Beim Erstellen einer Besprechung aus dem WebClient kann der MS Teams Link eingefügt werden profile Wird für die Anmeldung benötigt User.Read Wird für die Anmeldung benötigt
Berechtigungen für Office 365 mit EWS
Detailierte Beschreibung der einzelnen Berechtigungen und wofür sie im CURSOR-CRM benötigt werdenAPI/Berechtigungsname Beschreibung Verwendung im CURSOR-CRM Calendars.ReadWrite Kalenderdaten lesen/schreiben (Termine, Besprechungen) Aktivitäten Handling mit Terminen, Besprechungen Contacts.ReadWrite Kontaktdaten lesen/schreiben Für die Übertragung der Ansprechpartner nach Outlook. Import der Kontakte ins CRM EWS.AccessAsUser.All Wird für die Anmeldung benötigt Group.Read.All Verteiler auslesen Stellt die Mail-Verteiler im Mail-Dialog zur Verfügung Mail.ReadWrite Mails lesen/schreiben Um die Daten aus der Mail auszulesen und als Aktivität zu speichern. Daten aus der Aktivitäten in die Mail übernehmen, damit diese verschickt werden kann. Mail.Send Mails versenden Um Mails aus dem CRM verschicken (aus einer Aktivitäten, über einen Prozess...) Place.Read.All Um Räume auszulesen Stellt die Räume im Mail-Dialog zur Verfügung Tasks.ReadWrite Aufgaben lesen/schreiben Aktivitäten Handling mit Aufgaben User.Read Wird für die Anmeldung benötigt Für den Zugriff muss ein geheimer Clientschlüssel erzeugt werden.
Da der Clientschlüssel nur im Rahmen der Anlage einsehbar ist, muss dieser extra gesichert bzw. direkt in CURSOR-CRM gespeichert werden.Die Informationen sind dann in der Übersichtsseite einsehbar. Die Anwendungs-ID (Client) und Verzeichnis-ID (Mandant) wird für die nachfolgende Einrichtung der E-Mail-Konfiguration in CURSOR-CRM benötigt.
Konfiguration der Microsoft Graph API/Office 365 mit EWS
Für die Nutzung der Microsoft Graph API muss eine E-Mail-Konfiguration angelegt werden. Hierzu werden die Anwendungs-ID (Client), die Verzeichnis-ID (Mandant) sowie der geheime Clientschlüssel für die registrierte Anwendung aus der Azure Cloud benötigt.

Im Folgenden sehen Sie die Konfiguration für Office 365 mit EWS

Anmeldung an der Microsoft Graph API/Office 365 mit EWS
Nachdem die E-Mail-Konfiguration angelegt wurde, muss die Authentifizierung durchgeführt werden. Hierzu stehen in der Toolbar folgende Schalter zur Verfügung:

Über den Schalter "Anmeldung zu Office 365 durchführen und speichern" kann ein Anmelde-Token erstellt und gespeichert werden

Die Anmeldung muss von jedem CURSOR-CRM Benutzer separat vorgenommen werden. Hierzu steht der Schalter "Anmeldung Microsoft Graph API/Anmeldung Office 365" im eigenen Mitarbeiter in der Toolbar zur Verfügung. Für globale Postfächer kann die Anmeldeinformation in der E-Mail-Konfiguration hinterlegt werden. Die Anmeldeinformation in der E-Mail-Konfiguration ist dabei führend.
Melden Sie sich anschließend mit ihrem Azure Account an.
Akzeptieren Sie die angeforderten Berechtigungen (nur bei Microsoft Graph API).
Im Erfolgsfall wurde Ihr Zugriffs-Token gespeichert.
Anschließend können Sie den Zugriff auf die Microsoft Graph API über den Test-Schalter prüfen.
Schreibschutz für Mails und Besprechungen
Mail-Aktivitäten und Besprechungen können nicht mehr nachträglich geändert werden, um den korrekten Mail-Dialog nachvollziehen zu können
Um im CRM-System den korrekten Mail-Dialog nachvollziehen zu können, ist es nicht länger möglich, die Mail-Aktivitäten nachträglich zu verändern. Ansonsten könnte man im CRM-System einen Mailverkehr sehen, der in dieser Form nicht stattgefunden hat.
Aus dem selben Grund verhindern auch die Groupware-Systeme standardmäßig ein nachträgliches Ändern von gesendeten oder empfangenen Mails.
Auch bei Besprechungen wird ein nachträgliches Ändern unterbunden. Besprechungen können zwar im CRM initiiert werden, anschließend liegt die Hoheit jedoch auf Seiten der Groupware.
Obige Einschränkungen gelten nur für Datenfelder der CRM-Aktivitäten, die mit dem Groupware-System ausgetauscht werden. Alle weiteren Aktivitätsfelder (z.B. Projekt, Kampagne oder Delegation) sind im CRM-System weiterhin änderbar.
Ziel: Die neue Logik ersetzt komplett das Template MeetingRequest. Steuerung erfolgt ausschließlich über das Feld GroupwareLock. Die Satzberechtigungen werden berücksichtigt.
Voraussetzung: Das Feld GroupwareLock muss als List-Key vorhanden sein. Wenn das nicht der Fall ist ist die Aktivität schreibgeschützt.
Schreibschutz für Mails
Beim Versenden einer externen Mail-Aktivität (aus dem CRM) wird das Schreibschutz-Kennzeichen gesetzt.
Beim Importieren von externen Mails ins CRM-System wird das Schreibschutz-Kennzeichen gesetzt.
Die Systemeinstellung Interne Domains unterscheidet zwischen externen und internen Mails anhand der Systemeinstellung Interne Domains.

Abbildung: Konfiguration der Systemeinstellung
Interne Mails werden nicht schreibgeschützt
Beim Kopieren von externen und internen Mails wird das Schreibschutz-Kennzeichen entfernt.
Bei Aktivitäten mit gesetztem Schreibschutz-Kennzeichen, sind alle Felder schreibgeschützt, die mit dem Groupware-System ausgetauscht werden.
Es werden folgende Felder schreibgeschützt:Gesperrte Felder: STARTDATE, ENDDATE, SENDER, LOCATION, TEXT, ACTTYPEKEY, PRIORITY
Nach Wunsch kann man den Schreibschutz für externe Mails, die gesperrt werden, aufheben. (siehe Statements: disable lock mail)
Schreibschutz für Besprechungen
Beim Versenden einer Besprechungsanfrage (aus dem CRM) wird das Schreibschutz-Kennzeichen gesetzt.
Beim Importieren von Besprechungsanfragen ins CRM-System wird das Schreibschutz-Kennzeichen gesetzt.
Beim Kopieren von Besprechungen wird das Schreibschutz-Kennzeichen entfernt.
Es werden folgende Felder schreibgeschützt:
SUBJECT, STARTDATE, ENDDATE, REMINDDATE, SENDER, LOCATION, TEXT, ACTTYPEKEY, GLOBALID, PRIORITY, ACTSTATUSKEY, DELEGATEDTO, DELEGATEDBY
Bei Aktivitäten mit gesetztem Schreibschutz-Kennzeichen sind alle Felder schreibgeschützt, die mit dem Groupware-System ausgetauscht werden.
Nach Wunsch kann man den Schreibschutz für Besprechungen, die gesperrt werden, aufheben. (siehe Statements: disable lock meeting request)
PropertyMapper-Statements zum Ausschalten des GroupwareLocks
ORACLE
-- disable lock mail
insert into propertymapper
(Pk, id, propertyvalue, propertytype, property, principal, active, createdate, createuser, updatedate, updateuser, custlayer)
values
('GroupwareLockPrefMail',
'/de/cursor/jevi/common/activity/GroupwareLockPreferences$!!$lockMail','false', 'SYSTEM', '', '', 1, sysdate, 'admin', sysdate, 'admin', 'CN')
-- disable lock meeting request
insert into propertymapper
(Pk, id, propertyvalue, propertytype, property, principal, active, createdate, createuser, updatedate, updateuser, custlayer)
values
('GroupwareLockPrefMeetRequest',
'/de/cursor/jevi/common/activity/GroupwareLockPreferences$!!$lockMeetingRequest','false', 'SYSTEM', '', '', 1, sysdate, 'admin', sysdate, 'admin', 'CN')
MSSQL
-- disable lock mail
insert into propertymapper
(Pk, id, propertyvalue, propertytype, property, principal, active, createdate, createuser, updatedate, updateuser, custlayer)
values
('GroupwareLockPrefMail',
'/de/cursor/jevi/common/activity/GroupwareLockPreferences$!!$lockMail','false', 'SYSTEM', '', '', 1, getdate(), 'admin', getdate(), 'admin', 'CN')
-- disable lock meeting request
insert into propertymapper
(Pk, id, propertyvalue, propertytype, property, principal, active, createdate, createuser, updatedate, updateuser, custlayer)
values
('GroupwareLockPrefMeetRequest',
'/de/cursor/jevi/common/activity/GroupwareLockPreferences$!!$lockMeetingRequest','false', 'SYSTEM', '', '', 1, getdate(), 'admin', getdate(), 'admin', 'CN')
E-Mail an Fax-Server senden
Allgemein
Das Versenden von Faxen erfolgt häufig über eine definierte Mailadresse. Die Mail-Adresse des Fax-Servers und die Aktivitätenart, bei der eine solche Mail erstellt wird, kann eingestellt werden.
Die erzeugte Mail enthält alle Dokumente aus der Aktivität. Es ist nur der Empfänger gefüllt, alle anderen Beteiligten (also CC, BCC) werden nicht an die Mail übergeben. Der Text ist ebenfalls leer. Als Betreff wird der Betreff der Aktivität verwendet.
Einstellungen
Damit eine Fax-Mail erzeugt wird, muss in der Konfiguration eine Aktivitätenart und eine Mail-Adresse eingetragen werden.

Abbildung: Konfiguration des Faxservers
Die Aktivitätenart kann beliebig gewählt werden. In der Mail-Adresse für die Fax-Mail muss der Platzhalter ${fax} enthalten sein. Dieser wird dann durch die Fax-Nummer ersetzt.
Wenn der Platzhalter nicht in der Mail-Adresse enthalten ist, kommt beim Schließen des Dialogs folgende Meldung und die Änderung in der Mail-Adresse wird nicht gespeichert.

Ablauf
Wenn aus einer Aktivität eine Mail erzeugt wird und in der Aktivität ist die Aktivitäten-Art für die Fax-Mail eingestellt, geschieht Folgendes:
Es wird eine Mail erzeugt, in der als Empfänger die Fax-Mail-Adresse eingetragen wird. CC und BCC sind leer. Der Aktivitätentext wird nicht in die Mail übernommen. Es werden alle Dokumente aus der Aktivität an die Mail angehängt, der Betreff wird aus der Aktivität übernommen.
Die Fax-Nummer wird aus dem Ansprechpartner genommen, der in Aktivität mit eingetragen ist. Falls die Nummer dort nicht gefüllt ist, wird die Fax-Nummer des Geschäftspartners verwendet.
Wenn keine Fax-Nummer über den Ansprechpartner/Geschäftspartner ermittelt werden kann, kommt folgende Meldung:

Der Anwender hat dann noch die Möglichkeit, den Platzhalter {fax} mit einer gültigen Fax-Nummer zu ersetzen.

Automatischer Abgleich
Startszenarien für den Outlook-Abgleich
Ein in CRM angelegter Kontakt wird serverseitig direkt nach Outlook turnusgemäß synchronisiert, wenn der Autoabgleich aktiv ist.
Ein großer Vorteil des serverseitigen Abgleichs (EWS) besteht darin, dass er zu jeder Zeit im Hintergrund erfolgen kann, auch wenn Outlook und/oder der Client des CRM-Systems nicht geöffnet sind. Hierbei gelten die allgemeinen Regeln des Datenflusses. Der Job wird über einen Timer im JBoss gestartet und läuft im 10-Minuten-Takt. Dieser Turnus kann nach dem Sammeln von Erfahrungswerten in Abhängigkeit von Auslastung und Performance nach oben oder unten korrigiert werden.
Der Job arbeitet bidirektional, da auch im CRM-System Änderungen auftreten können, wenn der Client nicht gestartet wurde. Beispielsweise würde der Weg CRM nach Outlook relevant werden, wenn die Datenanreicherung wieder aktiviert und somit die Kontakte ohne einen Eingriff des Besitzers verändert (angereichert) werden. Der Job gleicht nur bestehende Kontakte zwischen Outlook und CRM ab und importiert keine neuen Kontakte bzw. legt keine neuen Kontakte im CRM an. In CRM angelegte Kontakte werden allerdings nach Outlook übertragen.
Scheitert ein Abgleich, werden die Änderungen beim nächsten turnusgemäßen Abgleich nachgezogen. Der Abgleich berücksichtigt stets alle Kontakte, bei denen das Änderungsdatum (Updatedatum) nach dem Startdatum des vorhergehenden erfolgreichen Abgleichs (Referenzdatum) und vor dem Start des aktuellen Abgleichs (aktuelle Datum) liegt. Nach erfolgreichem Abgleich wird das Referenzdatum auf das neu Startdatum hoch gesetzt.
Bsp.:
Start Lauf n: 12:00
Start Lauf n+1: 12:10
Ende Lauf n+1: 12:15
Start Lauf n+2: 12:20
Selektionszeitraum n+1: 12:00 bis 12:10
Selektionszeitraum n+2: 12:10 bis 12:20
Ist das Exchange-Konto nicht erreichbar, wird das Flag Gesperrt (AutoImpPwEx.Employee) gesetzt. Der Job schließt den Anwender vom Abgleich aus. Dies vermeidet, dass ein Exchange-Konto wegen zu häufig falscher Authentifizierung gesperrt wird. Die Anmelde-Maske wird bei der nächsten Anmeldung angezeigt. Wurden die Benutzerdaten eingegeben, wird das Flag wieder entfernt.
Der turnusgemäße Abgleich bzw. der Job wir unter dem CRM-User CRM_SERVICE ausgeführt. Dieser meldet sich dann aber am Exchange-Server mit dem jeweiligen Benutzer an.
Der Outlookabgleich (EWS) wird neben dem Timer-gesteuerten Abgleich auch angestoßen, wenn sich eines der gemappten Felder im CRM-Kontakt geändert hat.
Das trifft zu bei folgenden Aktionen:
Neuanlage eines Ansprechpartners oder Geschäftspartners im CRM-System
Neuanlage einer Aktivität vom Typ BESPRECHUNG oder TERMIN im CRM-System
Neuanlage von Terminen im Outlook-Kalender
Import vom E-Mails aus dem Outlook, wenn sie in vordefinierten Verzeichnissen abgelegt sind
Änderung der existierenden Daten im CRM-System oder im Outlook
Die gemappten Felder und ihre Konfiguration sind über die Administrationskonsole steuerbar (Kontakt-Zuordnung)

Abbildung: Konfiguration der Kontakt-Zuordnung
Konfliktbehandlung
Wie am Anfang angemerkt, gehen wir davon aus, dass das CRM das führende System ist. Das hat zur Folge, dass Kontakte, die nur in Outlook existieren, nicht automatisch ins CRM übertragen werden, da ein Ansprechpartner im CRM zwingend einem Geschäftspartner zugeordnet werden muss. Hierfür muss der Anwender einen manuellen Import starten, wo er die Zuordnung manuell auswählen kann. Befindet sich ein Ansprechpartner in beiden Systemen, werden die Daten nun automatisch abgeglichen. Im Standardfall bleibt die Option Ansprechpartnerabglech-Synchronisation leer. Somit wird der neuste Stand - egal in welchem System - gewinnen. Alternativ haben Sie zur Auswahl: Aktualisiert den Kontakt (CRM gewinnt immer) oder Für jeden Datensatz kann entschieden werden, wo Sie individuell für jeden Datensatz entscheiden können.
Weitere Importoptionen können nach Bedarf aktiviert werden, falls spätere Änderungen auch im Outlook-Kalender gemacht werden, damit diese ins CRM übertragen werden.

Abbildung: Konfiguration der Abgleich-Einstellungen eines Benutzers
Automatischer Import
Im Nachfolgenden wird die Einrichtung eines automatischen Imports für E-Mails unter Nutzung eines Serverworkflows beschrieben.
Ab Version 2019.2 und höher kann der automatische Import über E-Mail-Konfigurationen eingerichtet werden, ohne dass hierzu die Anlage eines Serverworkflows notwendig ist.
Details hierzu finden Sie im Abschnitt E-Mail-Import-Konfiguration ohne serverseitigen Workflow.
Automatischer Import
Die WorkFlow-Action ImportMailsAction wird dazu verwendet, um Mails aus dem Posteingang zu importieren. Das Ziel dieser Funktionalität ist es, die E-Mails aus "Sammler-Accounts" (z.B. info@ihre-firma.de, support@ihre-firma.de) automatisch an einen bestimmten Mitarbeiter dieser Abteilung weiter zu delegieren.
Die Konfiguration geschieht über einen Eintrag in der Entität Mail Konfiguration (Administration/Mail Konfiguration). In der Workflow-Beschreibung wird der MatchCode der Mail Konfiguration eingetragen.
Der Workflow wird als Timer eingerichtet (Adminkonsole/Sonstige Bereiche/Timer) und kann dann z.B. alle 5 Minuten ausgeführt werden.
Ablauf
Die Aktion bricht ab, wenn mehr als eine E-Mail-Konfiguration für den angegebenen MailConfigMatchCode gefunden wird
Werden keine neuen Mails gefunden, so ist die Aktion damit beendet (erfolgreich).
Es werden alle ungelesenen Mails aus dem Posteingang importiert, eine Unterscheidung zwischen internen/externen Mails findet nicht statt.
Die importierten Mails werden automatisch aus dem Posteingang verschoben (z.B. nach CURSOR-CRM/EVI Aktivitäten).
Es wird ein WorkSpace zurückgeliefert (mit dem Namen ImportResult), der die importierten Daten enthält. Die importierten Daten können dann weiterbearbeitet werden.
Der WorkSpace muss wieder geschlossen werden (siehe Beispiel).
Beispiel-Workflow
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE WorkFlowMapping PUBLIC "workflow" "..\..\..\common\workflow\workflow.dtd">
<WorkFlowMapping WorkFlowID="ImportMails" Description="Import mails" ExecutionType="100" >
<InternalDescription>Importiert mails.</InternalDescription>
<Step No="1">
<Event Name="TimerWFEvent">
<EventToContextMap/>
</Event>
<Actions>
<Action Name="ImportMailsAction">
<ContextToActionMap>
<ValueMapping Name="SessionId">
<Parameter Name="SessionId" DataType="java.lang.String" Value=""/>
</ValueMapping>
<ValueMapping Name="MailConfigMatchCode">
<Parameter Name="MailConfigMatchCode" DataType="java.lang.String" Value="123"/>
</ValueMapping>
</ContextToActionMap>
</Action>
</Actions>
<FollowingSteps>
<No>2</No>
</FollowingSteps>
</Step>
<Step No="2">
<Event Name="ImportMailsAction">
<EventToContextMap/>
</Event>
<Conditions>
<Condition Name="WFConditionIsNotNull">
<ContextToConditionMap>
<SimpleMapping FromName="ImportResult" ToName="WFConditionNull.IN_VALUE"/>
</ContextToConditionMap>
<CheckValuesMap/>
</Condition>
</Conditions>
<Actions>
<Action Name="CloseWorkSpaceAction">
<ContextToActionMap>
<ValueMapping Name="SessionId">
<Parameter Name="SessionId" DataType="java.lang.String" Value=""/>
</ValueMapping>
<ValueMapping Name="ImportResult">
<Parameter Name="WorkSpace" DataType="de.cursor.jevi.server.system.WorkSpace" Value=""/>
</ValueMapping>
</ContextToActionMap>
</Action>
</Actions>
</Step>
</WorkFlowMapping>
Vorgehensweise bei der Einrichtung des automatischen Mailimports
1. E-Mail-Konfiguration anlegen

Feld Kurzname:
Das eindeutige Kurzname des Workflows eintragen. Wichtig ist, dass das gleiche Kürzel auch später in der Workflow-Beschreibung angegeben ist. (Bsp. "123")Feld Benutzername (Mail-Konto):
Den Benutzernamen des Mail-Kontos eintragen. Allgemein soll hier der Benutzername des E-Mail-Kontos eingetragen werden. Für ein Konto support@ihre-firma.de, wäre der Benutzername 'support' (hier: "inhouse").Feld Passwort (Mail-Konto):
Das Passwort des Mailkontos eintragen.Feld Groupware System:
Den Schlüssel 'SERVER' auswählen (wenn Sie serverseitige Mail-Anbindung benutzen).Feld IMAP-Server:
Den Maileingangs-Server eintragenFeld SMTP-Server:
Den Mailausgangs-Server eintragenKontrollkästchen Authentifizierung Mailausgang
Aktivieren Sie die Option, falls der Client am Ausgangs-Server authentifiziert werden soll.Speichern Sie den Datensatz
Aktivieren Sie das Kontrollkästchen 'Ist gesperrt', wenn Sie kurzfristig die E-Mail-Konfiguration nicht verwenden möchten. Die Konfigurationsdaten bleiben in diesem Fall erhalten
2. Workflow im Menüpunkt "Workflows" der Administrationskonsole anlegen
Fügen Sie den Workflow hinzu (Wichtig ist, dass das in der "E-Mail-Konfiguration" verwendete Kürzel ebenfalls in der Workflow-Beschreibung angegeben wird.)
3. Timer im Menüpunkt 'Timer' der Administrationskonsole anlegen
Neuen Task im Timer für Aktionen ausführen anlegen.
Feld Typ: 'WORKFLOW' auswählen.
Feld Ausführen als: entsprechenden Nutzer auswählen (hier MM).
Feld Name: WorkFlowID (="ImportMails") eintragen.
Auf der Lasche Zeitplan den Zeitplan für den Task erstellen.
Ergebnis und Hinweise
Als Ergebnis ist eine Aktivität im System sichtbar.
Der im Task-Feld Ausführen als definierter Benutzer, ist derjenige, der und an den die Aktivität delegiert wird.
Der angemeldete Benutzer (mit entsprechenden Rechten), der den Task anlegt, muss nicht zwangsläufig mit dem im Task-Feld Ausführen als definierten Benutzer identisch sein.
E-Mail-Import-Konfiguration ohne serverseitigen Workflow
Alternativ zur zuvor beschriebenen Einrichtung des automatischen Imports über Nutzung von serverseitigen Workflows lässt sich der automatische Abgleich auch über die Nutzung des Timers "Automatischer Mailimport von E-Mailkonfigurationen erreichen. Dieser importiert alle E-Mails für E-Mail-Konfigurationen, in denen das Flag "Automatisch importieren" gesetzt ist. Der Timer startet automatisch standardmäßig alle 10 Minuten. Falls notwendig, kann eine abweichende Timerperiode in der Admin-Konsole in der Spalte "Zeitraum" eingestellt werden.
Das genannte Flag "Automatisch importieren" befindet sich in der Maske E-Mail-Konfiguration. Ist das Flag aktiv, haben Sie außerdem die Möglichkeit, im Feld "Zuständiger für importierte Mails" den Benutzer, an den die beim Import entstehenden Aktivitäten delegiert werden sollen, zu hinterlegen. Sofern die Import-Logik keinen Delegiert an/von Mitarbeiter ermitteln kann, werden die Felder mit dem Mitarbeiter gefüllt, der den Timer ausführt.

Abbildung: Timer für eine E-Mail-Import-Konfiguration ohne serverseitigen Workflow
Hinterlegung abweichender Groupwarekonfiguration
Damit Anwender clientseitige und serverseitige Groupware-Anbindung im Parallelbetrieb benutzen können, können Sie als Administrator eine abweichende Groupwarekonfiguration hinterlegen.
Die E-Mail-Konfiguration wurde um die Felder Groupware 'Host' (GroupwareServer.MailConfig
) und 'Groupware Port' (Port.MailConfig
) erweitert. Hier können Sie den Server für den Abgleich von Aufgaben und Terminen konfigurieren.


Bei der Anmeldung am Groupware-System über die serverseitige Mailschnittstelle wird nicht das Mitarbeiter-Feld CRM Benutzer, sondern das Feld Groupware Benutzer verwendet. Dies ermöglicht eine vom Windows-Benutzernamen unabhängige Anmeldung am Groupware-System. Ist in der E-Mail-Konfiguration der Benutzername oder das Passwort nicht gesetzt, so werden automatisch die Groupware-Login-Informationen aus dem Mitarbeiter geladen und verwendet.
Postfach-Manager
Grundlagen
Gibt es keine Möglichkeit, direkt mit dem System (z.B. während einer Dienstreise) zu arbeiten, so können bestimmte Routinen ohne Zutun des Anwenders automatisch starten. In dem Fall handelt es sich um einen Import-Mechanismus, der startet, wenn eine Mail mit einer BCC-Adresse an eine Sammler-Postfachadresse versendet wird.
Sie können als Administrator über Workflows eine Reihe von Regeln definieren. Einige Beispiele:
Nachrichten eines bestimmten Absenders an einen bestimmten Mitarbeiter oder Verteilerliste weiterleiten und eine neue Aktivität anlegen
Nachrichten eines bestimmten Absenders durch den Server mit einem voreingestellten Text beantworten
E-mail als Aktivität mit dem Status EMAILEINGANG anlegen und angehängte Dokumente importieren
eine E-mail mit einer Supportticket-Nummer mit einem Ticket in CRM-System verknüpfen
Sie können die Regeldefinition an Ihr bestehendes CRM-System (Prozessabläufe, Entitäten) optimal anpassen.
Nutzen:
Gibt es keine Möglichkeit, direkt mit dem System (z.B. während einer Dienstreise) zu arbeiten, so können bestimmte Routinen ohne Zutun des Anwenders automatisch starten. (z.B. in Verbindung mit dem Einsatz von CURSOR.crm mobil auf dem Smartphone)
Reduzierung des Aufwands bei der Neuanlage von Aktivitäten und Dokumenten
individuelle Anpassung an Ihre Prozesse
Flexible Gestaltung der Kundenbeziehungen (Vertretung, Änderung der Zuständigkeiten), ohne dass der Kunde explizit über die Änderung des Ansprechpartners und dessen Telekommunikationsdaten informiert werden muss.

Abbildung: Die Neuanlage von Aktivitäten und Dokumenten-Import über den Postfach-Manager
Die Neuanlage einer Mail-Konfiguration erfolgt über den Menüpunkt Administration / Mail Konfiguration.
Mail-Konfiguration
Die E-Mail-Adresse, die die E-Mails empfängt und importiert, muss als Mail-Konfiguration im CURSOR-CRM/EVI hinterlegt werden. Der Kurzname der Mailkonfiguration muss BCCIMPORTER lauten, da der Workflow nach dieser Mailkonfiguration sucht.
Auf das E-Mail Konto wird über das IMAP-Protokoll zugegriffen. Somit können alle standardkonformen IMAP-fähigen E-Mail- oder Groupware-Server verwendet werden.
Im Falle von MS Exchange Server ist der Benutzername in der Form <user>@<domain> (z. B. mailimporter@cursor.de) einzutragen, wobei der Benutzername ein aktives Benutzerkonto im Active Directory haben muss. Alternativ kann in MS Exchange auch ein Gerätepostfach erstellt werden. Das mit dem Gerätepostfach verbundene Benutzerkonto wird hierbei automatisch deaktiviert. Diese Maßnahme erhöht die Sicherheit, weil durch die Deaktivierung des Benutzerkontos keine Anmeldung an der Domäne möglich ist.
In den Feldern 'Groupware Host' (GroupwareServer.MailConfig) und 'Groupware Port' (Port.MailConfig) kann der Server für den Abgleich von Aufgaben und Terminen konfiguriert werden.
Auf der Maske 'Mitarbeiter' kann über das Feld 'Groupware Benutzername' (GroupwareLogin.Employee) ein Groupware-Benutzer definiert werden. Dieses Feld wird beim Update mit dem Inhalt des Feldes AutologinName.Employee vorbelegt.
Bei der Anmeldung am Groupware-System über die serverseitige Mailschnittstelle wird nun nicht mehr das Mitarbeiter-Feld 'Login Name' sondern das Feld 'Groupware Benutzername' benutzt. Dadurch ist es möglich, abweichend zum Windows-Benutzernamen sich an einem Groupware-System anzumelden.
Ist in der Mail-Konfiguration der Benutzername oder das Passwort nicht gesetzt, so werden automatisch die Groupware-Login-Informationen aus dem Mitarbeiter geladen und verwendet.

Timer einrichten
In der Admin-Konsole muss noch der Timer eingerichtet werden. Dabei ist zu beachten, dass die Einstellungen für den Mail-Import des 'Ausführen als' Benutzers verwendet werden (z.B. interne Mails importieren/ImportOrdner verwenden).
Als Aktion wird der Systemworkflow WKF_ImportMailsByBCC eingetragen. Hierfür sollte am besten ein "technischer" Benutzer angelegt werden, da unter diesem auch die Aktivität erzeugt wird. Abschließend ist auf der Registerkarte 'Zeitplan' Start- und Ende-Zeit sowie die Häufigkeit des Task-Aufrufs einzustellen.
Konfigurationsvarianten
Der im Standardumfang gelieferte Systemworkflow WKF_ImportMailsByBCC setzt hierbei nicht nur die nötigen Verknüpfungen, sondern auch die Aktivitätenart auf 'MAILAUS' (für Mail-Ausgang) sowie Aktivitätenstatus auf 'E' (für Erledigt). Werden hier andere Status gewünscht, muss dieser Systemworkflow wie folgt über die Admin-Konsole dupliziert und gleichzeitig der Standard-Systemworkflow deaktiviert werden:
Workflow als XML-Datei exportieren.
Gewünschte Änderungen in die XML-Datei einbauen, z. B. Aktivitätenstatus von 'E' auf 'O' (für Offen): Ändern des Strings 'S_ACTSTATUS-E' auf 'S_ACTSTATUS-O'.
Die angepasste XML-Datei über den Button 'Hinzufügen' als neuen Workflow importieren.
Hinweis
Für die Releasefähigkeit darf das Flag 'CURSOR Standard' nicht gesetzt sein.
Den Standard-Systemworkflow 'WKF_ImportMailsByBCC' deaktivieren.
Den neuen Workflow-Namen ('WorkflowID') in oben veranschaulichte Timer-Konfiguration eintragen.
Analog ist vorzugehen, wenn eine Steuerung für Offene und Erledigte Aktivitäten über getrennte Mailadressen erfolgen soll. In diesem Fall sind folgende Aktionen erforderlich:
Bereitstellung von zwei Postfächern auf dem Groupware-Server (jeweils eines für offene und erledigte Aktivitäten)
Einrichten von zwei Mail-Konfigurationen mit Referenzen auf das jeweilige Postfach
Bereitstellung von zwei Workflows, welche aus dem Standard-Systemworkflow 'WKF_ImportMailsByBCC' abgeleitet wurden. Innerhalb dieser Workflows sind neben den unterschiedlichen Aktivitätenstati auch unterschiedliche WorkflowIDs (samt Bezeichnungen) zu vergeben sowie die jeweils passende Mail-Konfiguration ('MailConfigMatchCode') zu referenzieren.
Hinweis
Im Standard-Systemworkflow ist als Default-Wert für die Mail-Konfiguration 'BCCIMPORTER' hinterlegt.
Konfigurieren von zwei Timer-Einträgen, welche jeweils einen der vorgenannten Workflows als Aktion referenzieren.
Erweiterte Regeln für Postfachmanager/automatisierter Mailimport
Vor dem erzeugen der Aktivität über den Postfachmanager wurde noch eine Prüfung eingebaut.
<ValueMapping Name="SearchPk">
<Parameter Name="SearchPk" DataType="java.lang.String" Value="31m47d216nrsh550ExtendedSearch" />
</ValueMapping>
Anwendungsbeispiel
Der Postfachmanager wird im Standard eingesetzt. Nun werden im CRM-System zwei verschiedene Geschäftspartnerrollen abgebildet, einmal Kunden und einmal Lieferanten. Es kann aber auch vorkommen, das eine Kunde auch gleichzeitig Lieferant ist, welcher dann mit zwei Rollen abgebildet ist. Ein Ansprechpartner mit derselben Email-Adresse ist dann beim Kunden und Lieferanten abgebildet.
Nun möchte man diese für die Lieferanten ein eigenes Postfach einrichten. Beim Import über den Postfachmanager soll bei diesem Postfach geschaut werden, ob der Ansprechpartner mit der Geschäftsbeziehung 'Lieferant' verknüpft ist und nur dem Ansprechpartner die Aktivität zugeordnet werden, anstelle bei beiden Ansprechpartnern mit der identischen E-mail-Adresse.
Eigentlicher Import
Um eine Mail zu importieren, trägt man als BCC die konfigurierte Mail-Adresse ein. So wird eine Mail, die unterwegs (z.B. mit dem Handy) versendet wurde, direkt nach CURSOR-CRM/EVI importiert.
Konfiguration des Datenbank-Index
Ab der Version 15.2 existiert die Möglichkeit zur Definition mehrerer Import-Ordner. Bei Nutzung dieser Funktionalität empfehlen wir die Erstellung eines Datenbank-Index auf dem Feld ImportOrdner der Tabelle Activity. Der Index wird bspw. im Falle Oracle wie folgt angelegt:
create index si_act_impord on activity (lower(importordner))