OBS/CloudConnect/Exchange-Personensync: Unterschied zwischen den Versionen
Thiel (Diskussion | Beiträge) |
Thiel (Diskussion | Beiträge) |
||
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
=Personensynchronisation mit Exchange= | =Personensynchronisation mit Exchange= | ||
{{Hinweis|Es handelt sich um ein kostenpflichtiges Modul. Die Schnittstelle muss über den OBS-Support aktiviert werden.}} | |||
[[Datei:Einrichtung_Beispiel.png]] | [[Datei:Einrichtung_Beispiel.png]] | ||
Zeile 39: | Zeile 40: | ||
|- | |- | ||
|} | |} | ||
==Feldzuweisungen== | |||
Aktuell werden folgende Felder übertragen: | |||
{| class="wikitable" | |||
|- | |||
! 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) === | |||
# 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= | |||
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
Personensynchronisation mit Exchange
Ü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.
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 |
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)
- 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
// ************************************************************************ //
// 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.