# Adress Sync für PROFFIX
Synchronisiert Adressen aus PROFFIX in Office 365, Azure und Google Contacts
# Features
- Synchronisiert Adressen und Kontakte aus PROFFIX in einheitlichem Format
- Unabhängige Benutzerverwaltung (keine PROFFIX Benutzer nötig)
- Verwendet aktuellste Schnittstellen (PROFFIX REST API, Microsoft Graph, Google Contacts)
- Einfache Konfiguration direkt im WebUI
- Kann lokal oder auf Server als kleiner Dienst installiert werden
- Erstellen von Synchronisations-Tasks für vollautomatische Synchronisation ohne Benutzereingriff
- Plattformunabhängig. Siehe auch Installation
# Konfiguration
Die Konfiguration kann direkt im WebUI erfolgen.
# Microsoft / Office 365
Damit die Adressen in Office 365 synchronisiert werden können, muss in Azure eine App - Registrierung durchgeführt werden:
Folgende Berechtigungen müssen dem App dabei gewährt werden:
Typ | API / Berechtigungsname |
---|---|
Microsoft Graph | Contacts.ReadWrite |
Microsoft Graph | User.Read.All |
Microsoft Graph | OrgContact.Read.All |
Nach Vergabe der Berechtigungen muss der Button Administratorzustimmung für xxx erteilen in Azure geklickt werden.
Anschliessend müssen der Azure Tenant, die Client - ID sowie das Client - Secret im Tool eingeben und gespeichert werden.
# Google Contacts / Google People / Google Shared Contacts
Für Google sind zwei verschiedene Synchronisationarten möglich
- Google People / Contacts: Synchronisiert direkt in benutzerspezifische Kontaktordner
- Google Shared Contacts: Synchronsiert ins globale Firmenverzeichnis der G Suite Domäne (opens new window)
Für beide Fälle muss zuerst ein Serviceaccount erstellt werden. Dazu unter Google Cloud (opens new window) ein neues Projekt erstellen
Anschliessend müssen folgende APIs für das Projekt freigegeben werden:
- Zu https://console.cloud.google.com/apis/library (opens new window) navigieren
- Google People API und Google Contacts API aktivieren
- Unter Anmeldedaten -> Anmeldedaten erstellen ein neues Dienstkonto erstellen
Für dieses Dienstkonto muss anschliessend die Domainweite Delegation aktiviert werden:
Schlussendlich muss unter Schlüssel ein neuer Schlüssel erstellt werden:
Dieses so erstellte JSON-File kann dann im Tool unter Einstellungen -> Google hochgeladen werden.
# Benutzer
Es können beliebig viele Benutzer konfiguriert werden. Zusätzlich können Benutzer aus Office 365 / Azure Directory einfach importiert werden.
# Tasks / Aufgaben
Die Synchronisation kann als Tasks definiert werden. Die laufen vollautomatisch in vordefinierten Intervallen durch
# Synchronisation
Grundsätzlich gibt es zwei verschiedene Arten der Konfiguration:
- Volle Synchronisation: Alles wird synchronisiert
- Standardsynchronisation: Nur geänderte Adressen / Kontakte werden aktualisiert
Eine volle Synchronisation kann entweder unter Konfiguration mittels Haken Volle Synchronisation erzwingen oder aber unter dem entsprechenden Benutzer mit dem Button Manuell Synchronisieren gestartet werden:
TIP
Mit dem Button Synchronisierte Kontakte löschen im entsprechenden Benutzer werden nur die vom Tool synchronisierten Kontakte gelöscht.
# Logs
Sämtliche Synchronisationsvorgänge werden geloggt und können jederzeit überprüft werden.
# Installation
Das Tool / Webservice besteht aus einer einzigen, kompilierten Datei und muss grundsätzlich nicht installiert sondern kann auch einfach ausgeführt werden.
Für den produktiven Einsatz empfiehlt sich die Installation als Service (Windows / Linux / Mac).
# Erstinstallation
Beim erstmaligen Öffnen erstellt das Tool automatisch folgende Dateien:
- cfg.json (Datei für Konfiguration Webservice)
- listviewer.db (SQLight Datenbank)
In der Standardkonfiguration ist das App dann unter http://127.0.0.1:1323 (opens new window) erreichbar. Die Anmeldedaten für den erstmaligen Login sind admin mit dem Passwort 123456
# Installation als Service
- Neuen Ordner erstellen (z.B. C:\Listviewer)
- Tool hineinkopieren. Evtl. vorgängig erstellte cfg.json / listviewer.db mitkopieren
- Die Kommandozeile als administrativer Benutzer öffnen und das Tool mit dem Parameter -install installieren
- Das Tool ist nun als Dienst installiert und kann z.B. über die Windows Diensteverwaltung gestartet / gestoppt werden
TIP
Bei Änderungen an der Konfiguration (z.B. neuer Port, neues SSL-Zertifikat) muss der Dienst neu gestartet werdens
# Konfiguration Webservice
Beim Start / Installation wird im Ordner der ausführbaren Datei automatisch ein cfg.json erstellt.
{
"Port": 1323,
"SSLCert": "",
"SSLKey": "",
"LetsEncrypt": false
}
Parameter | Typ | Bemerkung |
---|---|---|
Port | int | Port des Webapps |
SSLCert | string | Pfad zum .crt - File des SSL - Zertifikats (fakultativ) |
SSLKey | string | Pfad zum .key - File des SSL - Zertifikats (fakultativ) |
LetsEncrypt | bool | Wenn aktiv wird automatisch ein LetsEncrypt - Zertifikat generiert. |
Um automatisch ein LetsEncrypt Zertifikat zu generieren, muss der Aufruf via DNS - Adresse und nicht via IP - Adresse erfolgen.
- ❌ 192.168.1.189:1323
- ❌ 127.0.0.1:1323
- ✅ demo.mycompany.ch:1323
TIP
Um sämtliche Features des Webapps (PWA / progressives Webapp) zu nutzen, muss SSL konfiguriert werden!
# Demoversion
Eine Demoversion dieses Tools kann einfach und unkompliziert automatisch bezogen werden. Details dazu finden Sie unter Demo