Modul 5 · 5.1
CalDAV i CardDAV: kako sinkronizirati kalendar i kontakte
Modul 5: Kalendar i kontakti · Vrijeme čitanja: 10 minuta
Cilj učenja: Nakon ove lekcije moći ćete objasniti kako CalDAV i CardDAV usklađuju Vaš kalendar i kontakte između servera i uređaja, zašto to primijetite tek kad postavite aplikaciju, te koji su Vam podaci potrebni za povezivanje aplikacije.
Ključni pojmovi: CalDAV, CardDAV, WebDAV, sinkronizacija, adresa poslužitelja, .well-known/caldav, .well-known/carddav, principal, lozinka aplikacije, Exchange ActiveSync, zadani kalendar
Kalendar i kontakti žive na serveru
Kod Googlea i Microsofta ne primjećujete kako Vaš kalendar stiže na telefon. Prijavite se svojim računom i kalendar i kontakti jednostavno su tu. Iza kulisa za to se često koristi njihov vlastiti način sinkronizacije: Microsoft koristi Exchange ActiveSync i vlastite integracije, Google vlastitu sinkronizaciju računa na Androidu.
Kod europskog pružatelja usluge to gotovo uvijek ide putem dva otvorena standarda:
- CalDAV (RFC 4791) za kalendare i popise zadataka;
- CardDAV (RFC 6352) za kontakte.
Oba se temelje na WebDAV-u, proširenju obično webprometa (HTTPS) kojim možete čitati i pisati datoteke na serveru. Za CalDAV je sastanak mala datoteka u iCalendar formatu (lekcija 5.2), a kontakt mala datoteka u vCard formatu. Server te datoteke pohranjuje u mapu po kalendaru ili adresaru. Vaš telefon, prijenosno računalo i webkalendar svakih nekoliko minuta pitaju: "što se promijenilo od posljednjeg puta?" i preuzimaju samo izmjene.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> laptop (Thunderbird)
^
|
webagenda in de browserVelika prednost otvorenog standarda: niste vezani uz jednu aplikaciju. Aplikacija Kalendar na iPhoneu, DAVx5 na Androidu, Thunderbird, Kalendar na Macu i mnoge druge aplikacije govore CalDAV. Ako kasnije ponovno prijeđete na drugog pružatelja usluge koji također ima CalDAV, iste aplikacije jednostavno ponovno postavite.
Zašto to ne primjećujete dok ne postavite aplikaciju
Nakon prebacivanja Vašeg kalendara (lekcija 5.2 i 5.3) sve je uredno u webkalendaru Vaše nove usluge. Vaš telefon o tome još ništa ne zna. Ne postoji aplikacija koja se sama pojavljuje: na svakom uređaju morate dodati račun. Za to su Vam potrebne tri stvari:
| Podatak | Primjer kod Bakkerij De Korrel |
|---|---|
| Adresa poslužitelja | https://cloud.example.com ili potpuna DAV adresa, poput https://cloud.example.com/remote.php/dav |
| Korisničko ime | anne |
| Lozinka | lozinka aplikacije, vidi niže |
Adresa poslužitelja i .well-known
Svaka usluga ima vlastitu putanju na kojoj se nalaze CalDAV i CardDAV. Kod Nextclouda je to /remote.php/dav, kod drugih servera nešto drugo. Da ne bi svatko morao znati tu putanju, postoji dogovor (RFC 6764): aplikacija koja dobiva samo naziv domene prvo provjerava fiksno mjesto:
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavServer tamo odgovara preusmjeravanjem na stvarnu putanju. Ako to preusmjeravanje radi dobro, u iPhoneu trebate unijeti samo cloud.example.com. Ako ne radi, aplikacija javlja "nije moguće potvrditi račun" i morate unijeti potpunu adresu. Isti RFC opisuje i SRV zapise (_caldavs._tcp.example.com) pomoću kojih aplikacija može pronaći server na temelju Vaše domene e-pošte. Ne koristi svaka aplikacija to.
Nakon toga aplikacija pita server za Vaš principal: fiksno mjesto Vašeg računa na serveru, s popisom Vaših kalendara i adresara. Tako aplikacija sama pronalazi sve kalendare, uključujući one koji su podijeljeni s Vama.
Zašto Vam je potrebna lozinka aplikacije
Većina europskih usluga oblaka pri prijavi u pregledniku traži drugi korak: kod putem e-pošte, aplikaciju za autentifikaciju ili passkey. Aplikacija za kalendar na Vašem telefonu ne može ispuniti taj drugi korak. Ima samo polje za korisničko ime i lozinku.
Zato za takvu aplikaciju izrađujete lozinku aplikacije: dugu, nasumičnu lozinku koja vrijedi samo za tu jednu aplikaciju. Izrađujete je u postavkama sigurnosti Vašeg oblaka, dajete joj prepoznatljiv naziv ("Kalendar iPhone Anne") i unosite je u aplikaciju.
Prednosti:
- Vaša prava lozinka ne nalazi se na Vašem telefonu.
- Ako izgubite telefon, povlačite samo tu jednu lozinku aplikacije; ostalo nastavlja raditi.
- Ako promijenite svoju uobičajenu lozinku, Vaše aplikacije i dalje rade.
Neke se aplikacije mogu prijaviti i putem preglednika: otvore zaslon za prijavu Vašeg oblaka, Vi tamo obavite drugi korak, a aplikacija sama dobiva lozinku aplikacije. DAVx5 na Androidu to može, na primjer s Nextcloudom.
Najpoznatija poruka o pogrešci kod aplikacija za kalendar jest 401 Unauthorized. Gotovo uvijek to znači: koristili ste svoju uobičajenu lozinku umjesto lozinke aplikacije, ili je lozinka aplikacije povučena.
Exchange kalendari i što gubite
Tko dolazi s Microsoft 365, navikao je na nekoliko stvari koje s CalDAV-om rade drugačije ili ne rade:
- Prikaz dostupnosti kolega (slobodan/zauzet) pri planiranju. Nextcloud i drugi CalDAV serveri imaju vlastiti oblik toga (dostupnost unutar istog servera), ali to ne radi između različitih usluga i ne uvijek u svakoj aplikaciji.
- Rezerviranje prostorija i uređaja (sala za sastanke, projektor). Neki serveri imaju kalendare resursa, drugi nemaju.
- Delegirani pristup ("tajnica upravlja kalendarom direktora"). Kod CalDAV-a to se rješava dijeljenjem s pravima uređivanja.
Zabilježite to na svom popisu (modul 3). Rijetko je to razlog da se ne prebacite, ali kolege to moraju unaprijed znati.
U praksi: ovako to izgleda kod jednog pružatelja usluge
U WebOké Nextcloudu adrese ćete pronaći u aplikaciji Kalendar, dolje lijevo kod Postavke kalendara: CalDAV URL i Adresa poslužitelja za iOS i macOS, svaka s gumbom za kopiranje. Opća adresa je https://<vaša-adresa>/remote.php/dav. Lozinku aplikacije izrađujete u Postavke, Sigurnost, Uređaji i sesije. Tamo kasnije vidite i koji je uređaj kada posljednji put ostvario kontakt, te povlačite lozinku aplikacije. Drugi pružatelji Nextclouda rade na potpuno isti način; kod drugih europskih usluga (na primjer mailbox.org, Posteo ili Open-Xchange okruženje) CalDAV adresa nalazi se na stranicama pomoći ili u postavkama, a lozinke aplikacija ponekad se nazivaju "lozinka uređaja" ili "lozinka aplikacije".
Sažetak
- CalDAV (kalendar, zadaci) i CardDAV (kontakti) otvoreni su standardi nadograđeni na WebDAV i HTTPS; svaka izmjena je mala datoteka na serveru.
- Na svakom uređaju morate sami dodati račun: adresu poslužitelja, korisničko ime i lozinku aplikacije.
- Putem
.well-known/caldavi.well-known/carddavaplikacija pronalazi stvarnu putanju na temelju samo naziva domene; ako to ne radi, unesite potpunu DAV adresu. - Lozinka aplikacije potrebna je jer aplikacije za kalendar ne mogu napraviti drugi korak prijave; poruka 401 gotovo uvijek znači pogrešnu lozinku.
- Exchange funkcije poput prikaza slobodan/zauzet među kolegama, rezervacije prostorija i delegacije rade drugačije; zabilježite ih na svom popisu.
Kviz
Zadatak
Zadatak A5.1: Pronalazi li aplikacija Vaš kalendar? Unesite adresu svog (novog) oblaka, na primjer cloud.example.com. Program provjerava preusmjeravaju li /.well-known/caldav i /.well-known/carddav ispravno na DAV putanju, te odgovara li server tamo kao DAV server. Tako saznajete možete li na telefonu unijeti samo naziv domene.
Dodatno štivo
Koraci u ovim člancima vrijede za usluge tvrtke WebOké; kod drugih pružatelja usluge to funkcionira slično.
- Nextcloud priručnik 3.5: App-lozinke: kada i kako
- Nextcloud priručnik 9.9: Kalendar i kontakti na iPhoneu i iPadu
- Nextcloud priručnik 9.10: Kalendar i kontakti na Androidu pomoću DAVx5
- Nextcloud priručnik 15.6: Kalendar ili kontakti ne pojavljuju se na telefonu
- Izrada lozinke aplikacije (potrebna za povezivanje s aplikacijama i uređajima)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known i SRV za CalDAV i CardDAV)
