# Adress Sync für PROFFIX

Synchronisiert Adressen aus PROFFIX in Office 365, Azure und Google Contacts

alt text

# 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.

alt text

# Microsoft / Office 365

Damit die Adressen in Office 365 synchronisiert werden können, muss in Azure eine App - Registrierung durchgeführt werden:

alt text

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

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:

  1. Zu https://console.cloud.google.com/apis/library (opens new window) navigieren
  2. Google People API und Google Contacts API aktivieren
  3. Unter Anmeldedaten -> Anmeldedaten erstellen ein neues Dienstkonto erstellen

alt text

Für dieses Dienstkonto muss anschliessend die Domainweite Delegation aktiviert werden:

alt text

Schlussendlich muss unter Schlüssel ein neuer Schlüssel erstellt werden:

alt text alt text

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.

alt text

# Tasks / Aufgaben

Die Synchronisation kann als Tasks definiert werden. Die laufen vollautomatisch in vordefinierten Intervallen durch

alt text

# 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:

alt text

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.

alt text

# 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:

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

  1. Neuen Ordner erstellen (z.B. C:\Listviewer)
  2. Tool hineinkopieren. Evtl. vorgängig erstellte cfg.json / listviewer.db mitkopieren
  3. Die Kommandozeile als administrativer Benutzer öffnen und das Tool mit dem Parameter -install installieren
  4. 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