Sync calendar and contacts (ownCloud): Clients on the Android (CyanogenMod) mobile (Part 4)
Tags android, debian jessie, owncloud, sync
This is the 4th of a series of blog posts with a complete guide to sync calendar and contacts between Debian Jessie laptop (as server and client) and Android (CyanogenMod) mobile:
Sorry for the German notes from my mobile, but I prefer to give exactly what I read, instead of a maybe correct translation.
- General
- Setup CalDAV/CardDAV server (on my laptop):
ownCloud, Apache, self-signed certificate - Setup calendar and contacts in Icedove (rebranded Thunderbird) and Iceowl (rebranded Lightning):
export, transform and backup the data with a script (owncloud.export), SOGo connector, ThunderSync, print to paper - Setup calendar and contacts on the Android (CyanogenMod) mobile:
F-Droid market, import certificate, DAVdroid - Alternative Servers (NOT USED, NOT COMPLETE):
Radicale, Calypso
Sorry for the German notes from my mobile, but I prefer to give exactly what I read, instead of a maybe correct translation.
- F-Droid
If not already done, tick "Einstellungen - Sicherheit - Unbekannte Herkunft (Installation von Apps aus unbekannten Quellen zulassen)".
The apps that I use are available in the FOSS market F-Droid. Finally I'm starting to move away from Google Play! :-)
To start using F-Droid, just scan the QR Code on the website and follow the installation process.
- Import your self-signed certificate
Install CAdroid with F-Droid (CAdroid 1.0.3).
Start it and enter https://hostname.domainname:443 (https://hope.fritz.box:443) to get the certificate. Follow the instructions to import that certificate. You might have to add a screen lock PIN if you don't use one already.
- Tasks
Install Tasks with F-Froid (Tasks 1.1.6). Be careful, there is another app with the same name.
Tasks has to be installed before DAVdroid!
- CalDAV/CardDAV synchronisation adapter: DAVdroid
DAVdroid is a CalDAV/CardDAV synchronisation adapter for Android 4+ devices. It integrates natively in Android calendar/contact apps. DAVdroid synchronizes the events between the CalDAV server (in iCalendar format) and the Android Calendar Provider, which is then responsible for processing them internally.
- Install DAVdroid with F-Droid (DAVdroid 0.8.0).
- Set up a new account for the calendar in DAVdroid:
- Start DAVdroid
- Add an account (left icon in the top right)
- Mit URL und Benutzername anmelden
- URL: https://hope.fritz.box/owncloud/remote.php/caldav/
- Benutzername: jens
- Passwort: *****
- Keep "Präemptive Authentifizierung" ticked
- Choose all calendar and tasks that you are offered:
Kalender- Personal
- Geburtstage
- Contact birthdays (schreibgeschützt/read-only)
- Personal
- Geburtstage
- Name: "myname@example.com" (Use your e-mail address because the name will be used as "Organizer".)
- Configure the ownCloud calendars:
Einstellungen - Konten: DAVdroid - Einstellungen - myname@example.com
Keep ticked: Präemptive Authentifizierung (empfohlen, aber nicht kompatibel mit Digest-Auth.)
Häufigkeit der Kalender-Synchronisierung: Alle 15 Minuten (= Alle 15 Minuten + sofort bei lokalen Änderungen)
Häufigkeit der Aufgaben-Synchronisierung: Alle 15 Minuten (= Alle 15 Minuten + sofort bei lokalen Änderungen)
- Disable local Contact's birthdays in aCalendar:
Do this if you chose to sync the read-only ownCloud contacts. Although aCalendar seems to notice duplicates caused otherwise, it seems to overshoot the target: I had a contact's birthday and a calendar entry for another's person with the same name and birthday (but in another year) -> only the contact's birthday was displayed.
aCalendar - Android's menu/option/setup button (whatever it is called) - Kalenderliste
Untick "ACALENDAR Geburtstage"
Keep ticked:
MEINE KALENDER "Geburtstage" and "Personal"
WEITERE KALENDER "Contact birthdays"
- Set up another account for the contacts in DAVdroid:
- Start DAVdroid.
- Add an account (left icon in the top right).
- Mit URL und Benutzername anmelden
- URL: https://hope.fritz.box/owncloud/remote.php/carddav/
- Benutzername: jens
- Passwort: *****
- Keep "Präemptive Authentifizierung" ticked.
- Mark your addressbook.
- Name: "ownCloud contacts"
- Configure the ownCloud Contacts:
Einstellungen - Konten: DAVdroid - Einstellungen - ownCloud contacts- Keep ticked: Präemptive Authentifizierung (empfohlen, aber nicht kompatibel mit Digest-Auth.)
- Häufigkeit der Synchronisierung: Stündlich (= Alle 60 Minuten + sofort bei lokalen Änderungen)
- Unsure, but I have not ticked this: VCard 4.0-Unterstützung (Kontakte werden als VCard 3.0 gesendet)
- Final Android/CyanogenMod configuration:
- Remove the Google account completely, or at least disable syncing calender and contacts
Einstellungen - Konten: Google - Konten: jens.reyer@googlemail.com
Note: I already have a separate "Konten: E-Mail" (instead of "Gmail"), so Google is now not used anymore (the rest, i.e. "App-Daten", "Browser", "Google Fit-Daten", "News & Wetter", "Personendetails" and "Sound Search für Google" aren't useful anyways). - Revisit "Einstellungen - Sicherheit - APP-SICHERHEIT: Datenschutz". Make sure that it is not enabled for "Tasks".
I think that caused some problems here, where Android Tasks did not update a task, which was changed on the laptop, even after syncing in the Task app (which worked according to the last synced timestamp in DAVdroid) or restarting the mobile. Manually Syncing in DAVdroid seemed to work, though.
- Remove the Google account completely, or at least disable syncing calender and contacts
- Messed up?
You can always just remove any account you added to DAVdroid and then readd it again.
- Install DAVdroid with F-Droid (DAVdroid 0.8.0).
Total Comments 0