CalDAV a CardDAV: jak synchronizovat kalendář a kontakty
Modul 5: Kalendář a kontakty · Doba čtení: 10 minut
Cíl lekce: Po této lekci dokážete vysvětlit, jak CalDAV a CardDAV udržují Váš kalendář a kontakty shodné mezi serverem a zařízeními, proč si toho všimnete až při nastavování aplikace, a jaké údaje potřebujete k propojení aplikace.
Klíčové pojmy: CalDAV, CardDAV, WebDAV, synchronizace, adresa serveru, .well-known/caldav, .well-known/carddav, principal, heslo aplikace, Exchange ActiveSync, výchozí kalendář
Kalendář a kontakty žijí na serveru
U Googlu a Microsoftu si nevšimnete, jak se Váš kalendář dostane do telefonu. Přihlásíte se účtem a kalendář i kontakty jsou tam. V zákulisí k tomu často používají vlastní způsob synchronizace: Microsoft používá Exchange ActiveSync a vlastní propojení, Google svou vlastní synchronizaci účtu na Androidu.
U evropského poskytovatele to téměř vždy probíhá přes dva otevřené standardy:
- CalDAV (RFC 4791) pro kalendáře a seznamy úkolů;
- CardDAV (RFC 6352) pro kontaktní osoby.
Oba stavějí na WebDAV, rozšíření běžného webového provozu (HTTPS), pomocí kterého lze na serveru číst a zapisovat soubory. Schůzka je pro CalDAV malý soubor ve formátu iCalendar (lekce 5.2), kontaktní osoba malý soubor ve formátu vCard. Server tyto soubory ukládá do složky podle kalendáře nebo adresáře. Váš telefon, Váš notebook a webový kalendář se každých pár minut ptají: "co se změnilo od posledně?" a stahují pouze změny.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> laptop (Thunderbird)
^
|
webagenda in de browserVelkou výhodou otevřeného standardu je, že nejste vázáni na jednu aplikaci. Kalendářová aplikace Vašeho iPhonu, DAVx5 na Androidu, Thunderbird, Kalendář na Macu a mnoho dalších aplikací mluví CalDAV. Pokud později přejdete k jinému poskytovateli, který má také CalDAV, nastavíte stejné aplikace znovu.
Proč si toho nevšimnete, dokud nenastavíte aplikaci
Po přesunu Vašeho kalendáře (lekce 5.2 a 5.3) je vše pěkně na místě ve webovém kalendáři Vaší nové služby. Váš telefon o tom ještě nic neví. Neobjeví se žádná aplikace sama od sebe: na každém zařízení musíte přidat účet. K tomu potřebujete tři věci:
| Údaj | Příklad u Bakkerij De Korrel |
|---|---|
| Adresa serveru | https://cloud.example.com nebo celá adresa DAV, například https://cloud.example.com/remote.php/dav |
| Uživatelské jméno | anne |
| Heslo | heslo aplikace, viz níže |
Adresa serveru a .well-known
Každá služba má vlastní cestu, kde CalDAV a CardDAV žijí. U Nextcloud je to /remote.php/dav, u jiných serverů něco jiného. Aby nemusel každý tuto cestu znát, existuje dohoda (RFC 6764): aplikace, která dostane pouze doménové jméno, se nejprve podívá na pevné místo:
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavServer tam odpoví přesměrováním na skutečnou cestu. Pokud toto přesměrování funguje správně, stačí ve Vašem iPhonu vyplnit pouze cloud.example.com. Pokud nefunguje, aplikace oznámí "nelze ověřit účet" a musíte vyplnit celou adresu. Stejná RFC popisuje také SRV záznamy (_caldavs._tcp.example.com), pomocí kterých může aplikace najít server podle Vaší e-mailové domény. Ne každá aplikace to využívá.
Poté se aplikace zeptá serveru na Váš principal: pevné místo Vašeho účtu na serveru se seznamem Vašich kalendářů a adresářů. Takto aplikace sama najde všechny kalendáře, i ty, které jsou s Vámi sdílené.
Proč potřebujete heslo aplikace
Většina evropských cloudových služeb při přihlašování v prohlížeči vyžaduje druhý krok: kód e-mailem, aplikaci pro ověřování nebo přístupový klíč (passkey). Kalendářová aplikace v telefonu tento druhý krok nedokáže vyplnit. Má pouze pole pro uživatelské jméno a heslo.
Proto pro takovou aplikaci vytvoříte heslo aplikace: dlouhé, náhodné heslo, které platí pouze pro tuto jednu aplikaci. Vytvoříte ho v nastavení zabezpečení Vašeho cloudu, dáte mu rozpoznatelný název ("Kalendář iPhone Anne") a zadáte ho do aplikace.
Výhody:
- Vaše skutečné heslo není uloženo ve Vašem telefonu.
- Pokud ztratíte telefon, zrušíte pouze toto jedno heslo aplikace; ostatní nadále fungují.
- Pokud změníte své běžné heslo, Vaše aplikace budou dál fungovat.
Některé aplikace se mohou přihlásit také přes prohlížeč: otevřou přihlašovací obrazovku Vašeho cloudu, Vy tam provedete druhý krok a aplikace sama získá heslo aplikace. DAVx5 na Androidu to umí například s Nextcloud.
Nejznámější chybová zpráva u kalendářových aplikací je 401 Unauthorized. Téměř vždy to znamená: použili jste své běžné heslo místo hesla aplikace, nebo bylo heslo aplikace zrušeno.
Kalendáře Exchange a co ztratíte
Kdo přichází z Microsoft 365, je zvyklý na pár věcí, které s CalDAV fungují jinak nebo vůbec:
- Zobrazení volno/obsazeno kolegů při plánování. Nextcloud a další servery CalDAV mají vlastní formu (dostupnost v rámci stejného serveru), ale ta nefunguje mezi různými službami a ne vždy v každé aplikaci.
- Rezervace místností a zařízení (zasedací místnost, projektor). Některé servery mají kalendáře zdrojů, jiné ne.
- Delegovaný přístup ("sekretářka spravuje kalendář ředitele"). U CalDAV to řešíte sdílením s právy k úpravám.
Zapište si to na svůj seznam (modul 3). Zřídka je to důvod nepřecházet, ale kolegové to musí vědět předem.
V praxi: jak to vypadá u poskytovatele
Ve WebOké Nextcloud najdete adresy v aplikaci Kalendář, vlevo dole u Nastavení kalendáře: CalDAV URL a Adresa serveru pro iOS a macOS, obě s tlačítkem pro kopírování. Obecná adresa je https://<vaše-adresa>/remote.php/dav. Heslo aplikace vytvoříte v Nastavení, Zabezpečení, Zařízení a relace. Tam také později uvidíte, které zařízení se kdy naposledy spojilo, a zrušíte heslo aplikace. Další poskytovatelé Nextcloud fungují přesně stejně; u jiných evropských služeb (například mailbox.org, Posteo nebo prostředí Open-Xchange) najdete adresu CalDAV na stránkách nápovědy nebo v nastavení a hesla aplikace se tam někdy nazývají "heslo zařízení" nebo "aplikační heslo".
Shrnutí
- CalDAV (kalendář, úkoly) a CardDAV (kontakty) jsou otevřené standardy nad WebDAV a HTTPS; každá změna je malý soubor na serveru.
- Na každém zařízení musíte sami přidat účet: adresu serveru, uživatelské jméno a heslo aplikace.
- Přes
.well-known/caldava.well-known/carddavnajde aplikace skutečnou cestu pouze podle doménového jména; pokud to nefunguje, zadejte celou adresu DAV. - Heslo aplikace je potřeba, protože kalendářové aplikace nemohou provést druhý přihlašovací krok; chyba 401 téměř vždy znamená špatné heslo.
- Funkce Exchange jako volno/obsazeno mezi kolegy, rezervace místností a delegace fungují jinak; zapište si je na svůj seznam.
Kvíz
Úkol
Úkol A5.1: Najde aplikace Váš kalendář? Zadejte adresu svého (nového) cloudu, například cloud.example.com. Program zkontroluje, zda /.well-known/caldav a /.well-known/carddav správně přesměrovávají na cestu DAV, a zda server tam odpovídá jako server DAV. Tak zjistíte, zda v telefonu stačí zadat pouze doménové jméno.
Doporučená literatura
Kroky v těchto článcích platí pro služby WebOké; u jiných poskytovatelů to funguje obdobně.
- Příručka k Nextcloud 3.5: Hesla aplikací: kdy a jak je použít
- Příručka k Nextcloud 9.9: Kalendář a kontakty na iPhonu a iPadu
- Příručka k Nextcloud 9.10: Kalendář a kontakty na Androidu pomocí DAVx5
- Příručka k Nextcloud 15.6: Kalendář nebo kontakty se nezobrazují v telefonu
- Vytvoření hesla pro aplikaci (nutné pro připojení aplikací a zařízení)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known a SRV pro CalDAV a CardDAV)
