OBS/CloudConnect/Exchange-Personensync: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 81: Zeile 81:
|-
|-
|}
|}
==Häufig gestellte Fragen==
=== Werden Änderungen der Daten übernommen? ===
Ja die Daten werden bei Änderungen in OBS übernommen. Dies ist zum Beispiel der Fall, wenn sich der Nachname einer Person ändert.
Auch das entfernen von Daten wird übernommen.
=== Werden deaktivierte Ansprechpartner aus der Cloud entfernt. ===
Ja, wenn Ansprechpartner in OBS deaktiviert oder gelöscht werden, werden diese aus der Cloud entfernt
=== Ablauf während der Synchronisation (für Fragen von Technikern) ===
# Auth mit oAuth2 Bearer + Token
# Einlesen der internen Konfiguration von OBS
# Erstellen der Sync Tabelle mit allen relevanten Daten
#* zum speichern der eindeutigen IDs und Hashes der einzelnen Cloud Einträge
#* Ermitteln der seit letztem Sync geänderten daten und entsprechend kennzeichnen (neu, gelöscht)
# Ermitteln der zu synchronisierenden Daten aus der Tabelle (nur bereits übertragene Items)
# Items in der Cloud erstellen / Updaten und löschen
#* wenn konfiguriert mit der Anlage von Ordnern
==== Technik hinter der Synchronisation ====
Die Synchronisation wird über eine nach Delphi Importierte WSDL-Datei realisiert
* Version Version: 1.0 Stand 13.07.2017
* Services.wsdl
==== Genutzte Methoden ====
<syntaxhighlight lang="delphi">
// ************************************************************************ //
// Namespace : http://schemas.microsoft.com/exchange/services/2006/messages
// Transport : http://schemas.xmlsoap.org/soap/http
// Stil     : document
// Verwenden von       : literal
// Bindung   : ExchangeServiceBinding
// ************************************************************************ //
ExchangeServicePortType = interface(IInvokable)
['{B2F4D4CB-8B4F-4AA3-50F4-8C0A8FDF0148}']
procedure CreateItem(const request: CreateItem; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure DeleteItem(const request: DeleteItem; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure UpdateItem(const request: UpdateItem; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure CreateFolder(const request: CreateFolder; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure FindItem(const request: FindItem); stdcall;
procedure GetFolder(const request: GetFolder);
procedure FindItem(const request: FindItem); stdcall;
procedure GetItem(const request: GetItem); stdcall;
</syntaxhighlight>


=oAuth2=
=oAuth2=
Für die Verbindung mit oAuth2 benötigen Sie einen eingerichteten [[OBS/CloudConnect/oAuth2|CloudConnect]] für oAuth2. Diesen können Sie im Feld oAuth2 Connect eintragen.
Für die Verbindung mit oAuth2 benötigen Sie einen eingerichteten [[OBS/CloudConnect/oAuth2|CloudConnect]] für oAuth2. Diesen können Sie im Feld oAuth2 Connect eintragen.

Aktuelle Version vom 7. November 2024, 18:40 Uhr

HINWEIS: Bitte beachten sie dass für den Betrieb der Schnittstelle der Cloud-Dienst in OBS aktiviert sein muss.


Personensynchronisation mit Exchange

HINWEIS: Es handelt sich um ein kostenpflichtiges Modul. Die Schnittstelle muss über den OBS-Support aktiviert werden.

Einrichtung Beispiel.png

Über die Cloud-Schnittstelle ist es möglich den Personenstamm aus OBS mit einem Microsoft Exchange-Server abgzugleichen.

Legen Sie dazu unter 'Stammdaten - Weitere Stammdaten - Cloud Connect' einen neuen Datensatz an. Öffnen Sie den Datensatz und stellen Sie den Cloud-Typ "Exchange Kontakt-Sync" ein. Geben Sie dem Datensatz einen aussagekräftigen Titel, beispielsweise "Kontakt-Sync - Publicfolder". Erfragen Sie von Ihrer IT die .asmx-Adresse, unter der Ihr Exchange-Server im Netzwerk erreichbar ist, und tragen Sie diese unter Host ein, beispielsweise "https://server.domain/ews/Exchange.asmx". Unter Login und Passwort tragen Sie die Zugangsdaten für den Exchange-benutzer ein ein. Dies sind die selben Zugangsdaten, die Sie für einen Login in anderen Programmen, wie MS Outlook, benötigen. Beispiel: "server.domain\anna_b" Nun können Sie den Haken bei 'Aktiv' setzen. Wenn Sie möchten, können Sie auch auf dem zweiten Reiter weitere Einstellungen vornehmen. Nachdem Sie den Datensatz mit F2 gespeichert haben, beginnt Zeitnah, spätestens nach der auf dem zweiten Reiter eingestellten Zeit, die Synchronisation der entsprechenden Termindaten.

Besonderheiten

Sie können Personen entweder in den Öffentlichen Kontakteordner von Exchange oder den privaten Kontakteordner des eingetragenen Benutzers sychronisieren. Das sychronisieren mit anderen privaten Kontakteordnern von anderen Benutzern ist dabei nicht möglich. Wenn Sie den Personenstamm auch mit diesen Ordnern synchronisieren möchten, müssen Sie mehrere Cloud-Einträge anlgen.

HINWEIS: Die Synchronisation von Personen geht nur in eine Richtung - OBS -> Exchange. Das heißt, dass Änderungen, die am Exchange Server / Outlook an Personen vorgenommen werden nicht mit OBS synchronisiert werden!
ACHTUNG: Exchange 2010 hat interne Fehler, die dazu führen dass einige Daten nicht korrekt angezeigt werden können. Daher empfehlen wir ausdrücklich die Verwendung von einer Exchange Version nach Exchange 2010!

Konfiguration

Unter F8 Konfig. können Sie noch weitere Einstellungen für den Datensatz vornehmen.

Konfiguration Beschreibung
Cloud.Exchange.Contact.DeleteSync Gelöschte Daten in OBS mit der Cloud synchronisieren
Cloud.Exchange.Contact.MitarbEigen Eigenschaft, mit der eingene Mitarbeiter gekennzeichnet werden. Diese werden in einem Unterordner abgelegt.
Cloud.Exchange.Contact.SaveInPublicFolder Speichern der Personen im öffentlichen Kontakteordner
Cloud.Exchange.Contact.SplitLieferPerson Personen und Lieferatnen werden in seperaten Unterordnern abgelegt
Cloud.Exchange.Contact.SubFolder Unterordner zum Speichern der Daten (Leer = Root)

Feldzuweisungen

Aktuell werden folgende Felder übertragen:

OBS-Feld Exchange-Feld
Vorname GivenName
Name Surname
Firma CompanyName
Geburtsdatum Birthday
Abteilung Department
Position JobTitle
Bemerkung Body (Notiz)
Adresse PhysicalAddresses.Business
Privat-Adresse PhysicalAddresses.Home
Telefon BusinessPhone
Telefon Privat HomePhone
Telefon Privat Mobil HomePhone2
Telefon Mobil MobilePhone
Fax BusinessFax
Email EmailAddress1
Email Privat EmailAddress2

Häufig gestellte Fragen

Werden Änderungen der Daten übernommen?

Ja die Daten werden bei Änderungen in OBS übernommen. Dies ist zum Beispiel der Fall, wenn sich der Nachname einer Person ändert.

Auch das entfernen von Daten wird übernommen.

Werden deaktivierte Ansprechpartner aus der Cloud entfernt.

Ja, wenn Ansprechpartner in OBS deaktiviert oder gelöscht werden, werden diese aus der Cloud entfernt

Ablauf während der Synchronisation (für Fragen von Technikern)

  1. Auth mit oAuth2 Bearer + Token
  2. Einlesen der internen Konfiguration von OBS
  3. Erstellen der Sync Tabelle mit allen relevanten Daten
    • zum speichern der eindeutigen IDs und Hashes der einzelnen Cloud Einträge
    • Ermitteln der seit letztem Sync geänderten daten und entsprechend kennzeichnen (neu, gelöscht)
  4. Ermitteln der zu synchronisierenden Daten aus der Tabelle (nur bereits übertragene Items)
  5. Items in der Cloud erstellen / Updaten und löschen
    • wenn konfiguriert mit der Anlage von Ordnern

Technik hinter der Synchronisation

Die Synchronisation wird über eine nach Delphi Importierte WSDL-Datei realisiert

  • Version Version: 1.0 Stand 13.07.2017
  • Services.wsdl

Genutzte Methoden

// ************************************************************************ //
// Namespace : http://schemas.microsoft.com/exchange/services/2006/messages
// Transport : http://schemas.xmlsoap.org/soap/http
// Stil     : document
// Verwenden von       : literal
// Bindung   : ExchangeServiceBinding
// ************************************************************************ //
ExchangeServicePortType = interface(IInvokable)
['{B2F4D4CB-8B4F-4AA3-50F4-8C0A8FDF0148}']

procedure CreateItem(const request: CreateItem; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure DeleteItem(const request: DeleteItem; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure UpdateItem(const request: UpdateItem; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure CreateFolder(const request: CreateFolder; const MailboxCulture: MailboxCulture; out ServerVersion: ServerVersionInfo); stdcall;
procedure FindItem(const request: FindItem); stdcall;
procedure GetFolder(const request: GetFolder);
procedure FindItem(const request: FindItem); stdcall;
procedure GetItem(const request: GetItem); stdcall;

oAuth2

Für die Verbindung mit oAuth2 benötigen Sie einen eingerichteten CloudConnect für oAuth2. Diesen können Sie im Feld oAuth2 Connect eintragen.