Sync von Adressdaten mit Radicale (Teil 1 von 2)

Ich hatte mir in den Kopf gesetzt auf meinem NAS einen CardDAV-Server zu installieren.


Da sich das Ganze als nicht ganz so trivial und straight-forward heraus gestellt hat, und weil ich bei meinen Recherchen immer wieder auf Leute gestoßen bin, die ebenfalls eine Anleitung suchten, habe ich meine Erkenntnisse hier mal aufgeschrieben. Einerseits für mich selbst, damit ich es jederzeit wieder nachlesen kann. Aber auch in der Hoffnung, dass es nützlich für einige andere ist.


Ausgangslage:

Mein Gerätezoo umfasst: Qnap-NAS, Windows-PC mit Outlook, Android (Tablet & Handy), Fritzbox.


Meine Adressdaten liegen (bisher) in Outlook. Outlook ist der Master. Von dort werden die Daten bisher manuell mit der SW myPhoneExplorer zwischen Outlook und den Androidgeräten synchronisiert und mit dem „Contact Conversion Wizard“ von Outlook zur Fritzbox exportiert (Einbahnstraßenexport, kein Sync). Das hat bisher gut geklappt und würde sicher auch die nächste Zeit noch gut klappen, aber ich bin ein großer Fan davon zu automatisieren was nur geht – auch wenn das Automatisieren, so wie in diesem Fall, wahrscheinlich mehr Zeit gekostet hat, als ich jemals damit einsparen werde.


Spezielle Ansprüche meinerseits und Hürden, die sich relativ schnell gezeigt haben:


Alle meine Daten bleiben unter meiner Kontrolle. Sie sollen quasi die ganze Zeit in meinen eigenen (virtuellen) vier Wänden bleiben. Daraus ergibt sich als Konsequenz, dass für mich keine öffentliche Cloud (z.B. von Google) in Frage kommt.


Außerdem brauche ich keinen Zugriff von außen – im Sinne von nach Außen freigegeben Ports. Falls ich von Außerhalb Zugriff brauche, baue ich ein VPN auf und bin damit wieder in meinen (virtuellen) vier Wänden. Das bedeutet im Umkehrschluss, dass ich es an der einen oder anderen Stelle bei der Sicherheit nicht ganz so genau nehmen muss, da ich davon ausgehen kann, dass Firewall und VPN alle unerwünschten Zugriffe abblocken.


Die Fritzbox verlangt für die Synchronisation mit einem CardDAV-Server eine mit SSL abgesicherte Kommunikation. Deswegen kann ich hier leider nicht auf die Sicherheit verzichten – so gerne ich das aus Gründen der Bequemlichkeit auch täte. Schlimmer noch: der CardDAV-Client für den PC ist zwar in der Lage ganz ohne Verschlüsselung zu arbeiten, aber wenn man dann doch eine verschlüsselte Kommunikation einsetzt, dann muss es bitteschön auch ein sauber signiertes Zertifikat mit eigener Root-CA sein (grummel L).


OwnCloud oder NextCloud fallen aus zwei Gründen raus:

  • Die Installationen, die ich ausprobierte, hatten keine Zertifikate vorkonfiguriert. Und somit war eine Kommunikation via https out-of-the-box nicht möglich.
  • Ich kann den Datei-Sync, so wie er von diesen Paketen angeboten wird, nicht brauchen. Ich möchte die Daten, so wie sie bereits auf meinem NAS liegen syncen und keine zweite Datenhaltung in der DB von OwnCloud und Co aufbauen, weswegen ich für den Datei-Sync die SW SyncThing einsetze.

Weil ich also bei Own- und NextCloud eh‘ nacharbeiten müsste, baue ich mir gleich etwas Maßgeschneidertes, das meine Bedürfnisse genau trifft.


Was ich voraussetze

Du weißt, wie du Programme auf dem PC installierst. Ob du sie von Hand aus dem Internet lädst und dann den Installer nutzt oder ob du lieber „winget“ o.ä. verwendest ist dabei egal.


Du kannst Apps unter Android installieren. Der Weg über den alternativen App-Shop „F-Droid“ ist zwar nicht zwingend nötig, aber zumindest empfehlenswert. Schon alleine um sich ein wenig aus den Klauen der Datenkrake Google zu befreien.


Du kannst Putty einsetzen und hast keine Scheu vor der Kommandozeile deines NAS (Linux-Shell), denn diese werden wir intensiv brauchen. Dasselbe gilt für die Kommandozeile unter Windows (cmd oder PowerShell).


Entware ist auf dem NAS installiert / aktiviert und du kannst mit „opkg“ umgehen oder bist in der Lage, dir das anzueignen. Ein Tool wie mc (Midnight Commander) ist empfehlenswert (kann man auch mit „opkg install mc“ installieren).


Installieren von Radicale auf dem NAS

Auf der Shell des NAS geben wir ein:



Code
# opkg install python3
# opkg install python3-pip
# python3 -m pip install --upgrade https://github.com/Kozea/Radicale/archive/master.tar.gz


Jetzt legen wir eine Freigabe an unter der wir die Daten für solche zusätzlichen Dienste ablegen können:


Name der Freigabe z.B. „additional_services“


Ich empfehle zu aktivieren „Netzlaufwerk verbergen“ und alles andere zu deaktivieren, aber das spielt keine wirkliche Rolle.

pasted-from-clipboard.png

pasted-from-clipboard.png


Zugriffsreche:

Nur „admin“ darf schreiben (falls überhaupt – aber der sollte immerhin wissen, was er tut) alle anderen haben höchstens Lesezugriff, am besten gar keinen Zugriff.


Dann brauchen wir erneut die Kommandozeile auf dem NAS.


Wir wechseln in den Ordner „/share/additional_services/“ und legen einen Unterordner „radicale“ an. In diesem Ordner „radicale“ erstellen wir die Datei „config“ mit folgendem Inhalt:



Der Eintrag unter [storage] sollte klar sein. Er sagt dem Radicale-Server, wo er seine Daten ablegen soll. Die Einträge unter [auth] sagen dem Radicale-Server in welcher Datei er die Namen der User findet, die auf den Server zugreifen dürfen (die Datei „users“ erstellen wir gleich) und wie die Passwörter dort hinterlegt sind. Da bei mir kein Zugriff von außen passieren wird, habe ich mich der Einfachheit halber dafür entschieden hier die Passwörter im Klartext abzulegen. Das geht auch anders / sicherer. Wer das will, kann das in der Doku von Radicale nachlesen (link https://radicale.org/master.html#authentication).


Im Abschnitt [server] stehen (derzeit) zwei Dinge:

  • Eine Angabe auf welchen (lokalen) IP-Adressen der Radicale-Server „lauscht“, also welche Netzwerkschnittstellen des NAS er verwendet. (0.0.0.0) bedeutet so viel wie „Alle“. Erneut habe ich es mir einfach gemacht, da mein Netzwerk geschlossen bleibt.
  • Die Zeile „ssl = FALSE“ bedeutet, dass der Radicale-Server unverschlüsselt und via http:// kommuniziert. Das würde mir im Prinzip auch reichen, da wie gesagt mein Netzwerk geschlossen bleibt. Aber das wird sich noch ändern müssen, da die Fritzbox darauf besteht, dass die Kommunikation verschlüsselt erfolgt.

Außerdem steht hier der Port auf dem der Server lauscht (5232).



Nun legen wir die Datei „users“ im selben Verzeichnis an, in dem auch die Datei „config“ liegt („/share/additional_services/radicale/“).


Der Inhalt der Datei sieht in etwa so aus:


Code
quacksalber:passwort
diebesserehaelfte:ihrpasswort


Für jeden User der auf den Radicale-Server zugreifen darf, steht in der Datei eine Zeile. Vorne der Username, dann ein „:“ (Doppelpunkt), danach das Passwort im Klartext.


Nun können wir zum ersten mal unseren Radicale-Server starten mit


Code
# /opt/bin/python3 -m radicale --config /share/additional_services/radicale/config


und sehen folgende Seite in unserem Browser:


pasted-from-clipboard.png


Nachdem ihr euch mit eurem Usernamen und dem Passwort angemeldet habt


pasted-from-clipboard.png


seht ihr folgende Seite:


pasted-from-clipboard.png


Der Radicale-Server funktioniert – soweit so gut.


Wenn wir schon mal da sind legen wir auch gleich ein Adressbuch an:


Wir klicken auf den Link „Create new addressbook or calendar“.


Wir nennen das Adressbuch „radicale_experimentell“, geben als Beschreibung ein „nur ein Experiment“ und wählen als Typ „addressbook“.


pasted-from-clipboard.png


Nun sieht Radicale-Webseite so aus:


pasted-from-clipboard.png


Diese Daten werden wir später brauchen, wenn wir Outlook, Android und die Fritzbox mit dem CardDAV-Server verbinden wollen.


Der Ordnung halber loggen wir uns aus (oben im roten Balken) und beenden den Server indem wir auf der Kommandozeile CTRL-C eingeben.


Die Zertifikate

Im Prinzip hätte ich die Erstellung der Zertifikate gleich als erstes machen können. Aber ich wollte erst mal den Radicale-Server laufen sehen. Tatsächlich habe ich eine ganze Zeit lang ohne SSL getestet. Das gab schnelle Ergebnisse und steigerte die Motivation. Aber diese Reihenfolge ist für so eine Anleitung wenig hilfreich, da es nur dazu führen würde, dass wir später Dinge, die wir bereits eingerichtet haben, wieder umstellen müssen. Deswegen müsst ihr jetzt mit mir hier durch und wir werden alle Zertifikate anlegen, die wir brauchen.


Wie ich oben bereits ausgeführt habe besteht die Fritzbox auf eine verschlüsselte Kommunikation. Die Fritzbox würde sich dabei sogar mit den vorinstallierten Zertifikaten unter /etc/ssl (namentlich /etc/ssl/certs/myhost.crt und /etc/ssl/private/myhost.key) zufrieden geben. Aber die PC-Software „Outlook CalDav Synchronizer“ (installieren wir in Kürze) gibt sich damit nicht zufrieden und verweigert hartnäckig den Dienst (außer man würde die Prüfung der Zertifikate komplett ausschalten – und das wollte ich nun auch wieder nicht). Deshalb bauen wir uns nun unsere eigene kleine Root-CA und signieren damit unsere Zertifikate, die wir für den Radicale-Server brauchen. Das Zertifikat unserer Root-CA importieren wir dann in den Zertifikatsspeicher auf dem PC.


Zuerst installieren wir uns die aktuelle Version von openssl. Für Windows gibt es eine aktuelle Version hier (Link https://slproweb.com/products/Win32OpenSSL.html) oder alternativ mit „winget install ShiningLight.OpenSSL.Light“. Zum Zeitpunkt der Erstellung dieser Anleitung ist V3 aktuell. Vorinstalliert ist meist noch eine V1.


Die auf diese Weise erstellten Zertifikate sollten auch für eine Synchronisation mit einem i-Phone funktionieren. Das kann ich aber nicht bestätigen, da ich kein i-Phone besitze.


Ich empfehle für die Zertifikate ein eigenes Directory zu erstellen. Nennen wir es „Cert_experimentell“.


Zuerst erstellen wir die Zertifikate, welche unsere Root-CA darstellen.


Fangen wir mit dem privaten Schlüssen der Root-CA an:


Code
> openssl genrsa -out Quacks_RootCA.private.key 4096


Wollte man es wirklich sicher machen, sollte und müsste man hier ein Passwort mit angeben. Ich spare mir das aus den oben genannten und daher bekannten Gründen. Wer will, kann den Parameter „-aes256“ verwenden und muss dann ein Passwort angeben.


Nun erstellen wir das öffentliche Zertifikat der Root-CA:


Code
> openssl req -x509 -new -nodes -extensions v3_ca -key Quacks_RootCA.private.key -days 3650 -out Quacks_RootCA.public.crt -sha256


Die Attribute des Zertifikats sollen mit Daten befüllt werden. Hier meine (fiktiven!) Daten:


Code
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:BY
Locality Name (eg, city) []:Munich
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Quacks Salben
Organizational Unit Name (eg, section) []:PKI
Common Name (e.g. server FQDN or YOUR name) []:Quacks Root-CA
Email Address []:


Diejenigen, die ganz sicher gehen wollen, lassen sich mit folgendem Kommando den Fingerabdruck ausgeben und notieren ihn bzw. speichern ihn in einer Datei. Wenn dieses Zertifikat später irgendwo installiert wird, kann gegen diesen Fingerabdruck verglichen werden und so sichergestellt werden, dass das richtige Zertifikat verwendet wird.


Code
> openssl x509 -in Quacks_RootCA.public.crt -noout -fingerprint -sha256 > Quacks_RootCA.public.crt.fingerprint


Jetzt kommen wir zu den Zertifikaten für den Radicale-Server.


Auch hier fangen wir mit dem privaten Schüssel an:


Code
> openssl req -new -sha256 –nodes -out Data-Nas_Radicale_cert.public.csr -newkey rsa:4096 -keyout Data-Nas_Radicale_cert.private.key -extensions v3_req


Für “Common Name” tragen wir den Namen des NAS ein (in diesem Beispiel „Data-Nas“). Das Passwort lassen wir leer.



Zusätzlich zu dem privaten Schlüssel „Data-Nas_Radicale_cert.private.key“ hat das letzte Kommando die Datei „Data-Nas_Radicale_cert.public.csr“ erzeugt. Das ist ein sog. „Certificate Signing Request“ und bildet die Grundlage für unser, durch unsere oben erstellte Root-CA, signiertes Server-Zertifikat. Anders ausgedrückt: Mit dieser Datei teilen wir der Root-CA mit, dass wir ein signiertes Server-Zertifikat brauchen.


Für das Server-Zertifikat ist es wichtig, dass wir dort alle Namen angeben mit denen der Server kontaktiert wird. In meinem Beispiel sind das zum einen seine IP-Adresse, aber auch die verschiedenen Klartextnamen:

  • 192.168.2.2
  • Data-Nas.fritz.box
  • Data-Nas.local
  • Data-Nas

Um alle diese Adressen in das Zertifikat zu bekommen brauchen wir eine Datei. Nennen wir sie „Data-Nas_Radicale_cert.config“. Sie hat folgenden Inhalt:



Nun sind wir endlich an der Stelle weswegen wir diesen ganzen Aufwand hier überhaupt betreiben: Wir erzeugen das öffentliche Zertifikat für unseren Radicale-Server. Im Prinzip machen wir nun genau das, was jede andere Root-CA (für viel Geld) auch machen würde.


Code
> openssl x509 -req -in Data-Nas_Radicale_cert.public.csr -CA Quacks_RootCA.public.crt -CAkey Quacks_RootCA.private.key -CAcreateserial -out Data-Nas_Radicale_cert.public.pem -days 825 -sha256 -extfile Data-Nas_Radicale_cert.config


Es kommt folgende Ausgabe:


Code
Certificate request self-signature ok
subject=C = DE, ST = BY, L = Munich, O = Quacks Salben, OU = Radicale, CN = Data-Nas


Auch hierfür können wir uns den Fingerabdruck ausgeben lassen:


Code
> openssl x509 -in Data-Nas_Radicale_cert.public.pem -noout -fingerprint -sha256 > Data-Nas_Radicale_cert.public.pem.fingerprint


Die Zertifikate für den Radicale-Server (Data-Nas_Radicale_cert.*) lege ich alle in dasselbe Directory, in welches wir auch das config-File für den Radicale-Server gespeichert haben (/share/additional_services/radicale/).


Wohlgemerkt: In einem produktiven Umfeld wäre das ein absolutes No-Go! Normalerweise müssten wir nun die privaten Key-Files gesondert aufbewahren, mit Zugriffsrechten und Schreibschutz versehen etc. Das spare ich mir alles.


Die Zertifikate der Root-CA kommen an einen Ort, wo ich sie sicher wiederfinde, falls ich mal einen weiteren Dienst so absichern muss.


Radicale mit SSL absichern

Nun da wir die Zertifikate alle erzeugt haben, sagen wir dem Radicale-Server, dass er sie verwenden soll. Dazu ändern wir den Abschnitt [server] in der Datei „config“ wie folgt:


Code
[server]
# Bind all interfaces
hosts = 0.0.0.0:5232, [::]:5232

# SSL flag, enable HTTPS protocol
ssl = TRUE
# SSL certificate path
certificate = /share/svn/radicale/Data-Nas_Radicale_cert.public.pem
# SSL private key path
key = /share/svn/radicale/Data-Nas_Radicale_cert.private.key


Außerdem installieren wir das öffentliche Zertifikat unserer Root-CA auf dem / allen Windows-Rechner(n) die auf den Radicale-Server zugreifen wollen. Dazu gehen wir wie folgt vor:


Kopieren der Datei „Quacks_RootCA.public.crt“ an einen Ort, auf den der / alle PC(s) zugreifen kann/können. Wir klicken die Datei an, so dass sie markiert ist und öffnen das Kontext-Menü.


pasted-from-clipboard.png


Klick auf „Zertifikat installieren“.


pasted-from-clipboard.png


Wir wählen „Lokaler Computer“. Klick auf „Weiter“.


pasted-from-clipboard.png


Wir wählen „Alle Zertifikate in folgendem Speicher speichern“ und klicken auf „Durchsuchen“.


pasted-from-clipboard.png


Hier wählen wir „Vertrauenswürdige Stammzertifizierungsstellen“. Klick auf „OK“.


pasted-from-clipboard.png


Klick auf „Weiter“.


pasted-from-clipboard.png


Nach Klick auf „Fertig stellen“ sind wir fertig.


pasted-from-clipboard.png


Das war’s. Das Zertifikat wird nun vom Betriebssystem wie jedes andere Zertifikat von den offiziellen Root-CAs behandelt. (Ich musste meinen Rechner einmal booten, damit wirklich alle Programme das neue Zertifikat erkannt haben.)


Nun starten wir auf dem NAS erneut den Radicale-Server mit diesem Kommando:


Code
/opt/bin/python3 -m radicale --config /share/additional_services/radicale/config


Auf dem PC starten wir einen Web-Browser und gehen zu dieser URL „https://192.168.2.2:5232/“.


pasted-from-clipboard.png


Wir sehen, dass die Verbindung erfreulicherweise als sicher angezeigt wird.

pasted-from-clipboard.png


Wer mag, kann alle Adressen ausprobieren, die er unter [alt_names] eingetragen hat. Sie sollten alle funktionieren.


Wir loggen uns ein und bekommen eine URL mit „https://“ angezeigt.


pasted-from-clipboard.png


Outlook an Radicale anbinden

Nun müssen wir Outlook überreden mit dem CardDAV-Server zu reden. Dazu laden wir uns die Software „Outlook CalDav Synchronizer“ herunter (Link https://caldavsynchronizer.org/download-2/) und installieren diese auf unserem PC.


Wenn wir jetzt Outlook öffnen, sehen wir einen zusätzlichen Ribbon:


pasted-from-clipboard.png


Ich empfehle dringend für die ersten Gehversuche einen eigenen Unterordner mit Testdaten anzulegen. Bei mir heißt der „__radicale_experimentell__“ und enthält erst mal nur 2 Datensätze.

pasted-from-clipboard.pngpasted-from-clipboard.png


Bitte darauf achten, dass mindestens ein Datensatz eine (syntaktisch korrekte) Telefonnummer enthält.


Nun legen wir ein Synchronisierungsprofil an:


pasted-from-clipboard.png


Es erscheint dieser (vorerst noch leere) Dialog:


pasted-from-clipboard.png


Wir klicken links oben auf das große grüne Plus und es erscheint folgender Dialog, wo wir „Generisches Profil“ wählen:


pasted-from-clipboard.png


Im folgenden Dialog müssen wir die Verbindungsdaten eingeben. Zuerst einen Namen („radicale_experimentell“), dann wählen wir den Ordner mit den Kontaktdaten aus und setzen den Haken bei „Synchronisiere Objekte sofort nach Veränderung in Outlook“.

(Ich will bei den Tests sofort sehen, ob sich was getan hat und nicht erst auf einen späteren Sync-Termin warten müssen)


Unter „Server Einstellungen“ tragen wir die Daten ein, die uns der Radicale-Server angezeigt hat.


pasted-from-clipboard.png


Dann klicken wir auf den Button „Teste oder suche Einstellungen“ und sehen hoffentlich dieses Ergebnis:


pasted-from-clipboard.png


Mit „OK“ alle Dialoge schließen und dann (zur Sicherheit) einmal auf „Synchronisiere jetzt“ klicken:


pasted-from-clipboard.png


Wer will kann in der Weboberfläche des Radicale-Servers auf die URL des Adressbuchs klicken


pasted-from-clipboard.png


Daraufhin kann man die Datei „radicale_experimentell.vcf“ herunterladen. Das ist eine Textdatei. Wenn man diese mit einem Editor ansieht sollte man die Testdaten von vorhin wiedererkennen.


Wir wissen nun also, dass die Verbindung von Outlook zum Radicale-Server funktioniert.


Die Fritzbox an den Radicale-Server anbinden

Als nächstes wollen wir diese Daten in ein Telefonbuch auf der Fritzbox importieren bzw. dafür sorgen, dass eben dieses Telefonbuch via Radicale-Server immer in Sync mit unseren Daten in Outlook ist.


Wir öffnen die Web-Oberfläche der Fritzbox und wählen links den Bereich „Telefonie / Telefonbuch“.pasted-from-clipboard.png


Wir klicken oben rechts auf „Neues Telefonbuch“


Wir geben dem neuen Telefonbuch den Namen „radicale_experimentell“, selektieren „Telefonbuch eines Online-Anbieters nutzen“ und wählen „CardDAV-Anbieter“. In den erscheinenden Feldern geben wir wieder die Verbindungsdaten ein (siehe Screenshot):


pasted-from-clipboard.png


Nach kurzer Zeit sollten wir dies sehen:


pasted-from-clipboard.png


Wir klicken auf „Weiter“ und wählen das gerade angelegte Telefonbuch aus:


pasted-from-clipboard.png


Der Sync funktioniert, die Testdaten sind vorhanden.


Android an den Radicale-Server anbinden

Nun müssen wir noch Android anbinden. Auch hierzu brauchen wir eine zusätzliche Software, daher laden wir uns die App „DAVx5“ (ehemals „DavDroid“) herunter. Die gibt es entweder für ein paar Euro im Google Play Store oder kostenlos im F-Droid-Store. (Ich ermutige euch nicht, das über den Google-Store zu laden. Wozu ich euch jedoch ausdrücklich ermutige, ist den Entwicklern direkt etwas für diese SW zu spenden.)


pasted-from-clipboard.png

<Screenshot von DAVx5 im F-Droid-Store>


Wenn wir DAVx5 starten, sollten wir so etwas sehen:


pasted-from-clipboard.png


Wir klicken unten rechts auf das rote Plus und selektieren in dem erscheinenden Dialog „Mit URL und Benutzername anmelden“:


pasted-from-clipboard.png

. ⁞

pasted-from-clipboard.png


Falls ihr die Verbindungsdaten auf irgendeine Weise auf euer Androidgerät übertragen könnt, dann macht dies. Falls nicht ist es auch nicht schlimm. Ihr müsst nicht die komplette URL abtippen. Es reicht, wenn ihr die Adresse und den Port eingebt:


pasted-from-clipboard.png

. ⁞

pasted-from-clipboard.png


Unten rechts auf den Button „Anmelden“ tippen. Wir werden nun gefragt ob wir dem (vermeintlich) nicht vertrauenswürdigen Zertifikat vertrauen wollen.


pasted-from-clipboard.png


Hinweis:

Ihr seht auf diesem Bildschirm, dass diese Zertifikate nach einer gewissen Zeit ablaufen. Bei mir war 2025 eingestellt. Ich kann nicht beurteilen, ob der Sync den wir gerade einrichten dann zerbrechen wird. Ich halte es daher für eine gute Idee, sich das Ablaufdatum in den Kalender einzutragen und rechtzeitig warnen zu lassen, damit man, falls das passiert, die Zertifikate erneuern kann.


Wir kontrollieren den Fingerabdruck und bestätigen, dass das Zertifikat vertrauenswürdig ist. Dann tippen wir auf „Akzeptieren“. Nun werden wir gefragt, ob wir das Konto einrichten wollen. Dazu müssen wir eine e-Mail-Adresse eingeben. Ich habe eine erfundene / fiktive Adresse eingegeben, da ich meine echte E-Mail-Adresse nicht mit dem Sync blockieren wollte:


pasted-from-clipboard.png

. ⁞

pasted-from-clipboard.png


Nun werden wir gefragt, welches Adressbuch auf dem Radicale-Server wir syncen wollen:


pasted-from-clipboard.png

. ⁞

pasted-from-clipboard.png


Wir wählen „radicale_experimentell“ aus und tippen unten rechts auf das Sync-Symbol (2 Pfeile im Kreis). Es kommt eine kurze Rückmeldung, dass der Sync gestartet wurde. Wenn wir nun oben links auf den Zurückpfeil tippen, sollten wir in etwas dies sehen:


pasted-from-clipboard.png

. ⁞

pasted-from-clipboard.png


Mit DAVx5 sind wir nun erst mal fertig. Nun brauchen wir eine Kontakte-App. Ich nehme der Einfachheit halber (für diese Demonstration) die von Android Vorinstallierte.


Hier werde ich nun gefragt, mit welchem Konto ich synchronisieren möchte.


pasted-from-clipboard.png


In der folgenden Liste wähle ich das DAVx5-Konto:


pasted-from-clipboard.png


Wir sehen das Einstiegslogo von DAVx5 und klicken uns durch. Am Ende sehen wir wieder dieses Bild:


pasted-from-clipboard.png


Wir verlassen DAVx5 und gehen zurück in die Kontakte-App. Hier sehen wir nun die Testdaten, die wir vorhin in Outlook angelegt haben.


pasted-from-clipboard.png

. ⁞

pasted-from-clipboard.png


(So wie es aussieht habe ich die maximale Anzahl an Schreenshots erreicht. Ich wollte die Anleitung zwar an einem Stück posten, da ich ich keinen Mehrwert darin sehe, es in mehrere Teile aufzuteilen. Aber aufgrund der Beschränkung mit den Schreenshots geht es in Teil 2 mit dem Kapitel "Die Kommunikation testen" weiter)