Moodul 5 · 5.1
CalDAV ja CardDAV: kuidas kalender ja kontaktid sünkroonida
Moodul 5: Kalender ja kontaktid · Lugemisaeg: 10 minutit
Õpieesmärk: Pärast seda tundi oskad sa selgitada, kuidas CalDAV ja CardDAV hoiavad su kalendri ja kontaktid serveri ja seadmete vahel sünkroonis, miks sa neid märkad alles siis, kui seadistad rakendust, ning milliseid andmeid on vaja rakenduse ühendamiseks.
Põhimõisted: CalDAV, CardDAV, WebDAV, sünkroonimine, serveri aadress, .well-known/caldav, .well-known/carddav, principal, rakenduse parool, Exchange ActiveSync, vaikekalender
Kalender ja kontaktid elavad serveris
Google'i ja Microsofti puhul sa ei märka, kuidas su kalender sinu telefoni jõuab. Logid oma kontoga sisse ja kalender ning kontaktid on lihtsalt olemas. Kulisside taga kasutavad nad selleks tihti oma viisi sünkroonimiseks: Microsoft kasutab Exchange ActiveSynci ja omaenda ühendusi, Google'il on Androidis oma konto sünkroonimine.
Euroopa teenusepakkuja puhul käib see peaaegu alati kahe avatud standardi kaudu:
- CalDAV (RFC 4791) kalendrite ja ülesannete nimekirjade jaoks;
- CardDAV (RFC 6352) kontaktide jaoks.
Mõlemad põhinevad WebDAV-il, mis on tavalise veebiliikluse (HTTPS) laiendus, millega saab serveris olevaid faile lugeda ja kirjutada. CalDAV jaoks on sündmus väike fail iCalendar-vormingus (tund 5.2), kontakt väike fail vCard-vormingus. Server hoiab need failid igale kalendrile või aadressiraamatule eraldi kaustas. Su telefon, su sülearvuti ja veebikalender küsivad iga paari minuti tagant: "mis on viimasest korrast muutunud?" ja toovad ainult muudatused.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> sülearvuti (Thunderbird)
^
|
veebikalender brauserisAvatud standardi suur eelis: sa ei ole seotud ühe rakendusega. iPhone'i kalendrirakendus, DAVx5 Androidil, Thunderbird, Maci Kalender ja paljud teised rakendused räägivad CalDAVi. Kui lähed hiljem üle mõnele teisele teenusepakkujale, kellel on samuti CalDAV, siis seadistad samad rakendused lihtsalt uuesti.
Miks sa seda ei märka enne, kui seadistad rakenduse
Pärast oma kalendri ülekandmist (tund 5.2 ja 5.3) on kõik korralikult sinu uue teenuse veebikalendris. Su telefon ei tea sellest veel midagi. Ühtegi rakendust ei ilmu iseenesest: pead igasse seadmesse lisama konto käsitsi. Selleks on vaja kolme asja:
| Andmed | Näide Bakkerij De Korreli juures |
|---|---|
| Serveri aadress | https://cloud.example.com või täielik DAV-aadress, näiteks https://cloud.example.com/remote.php/dav |
| Kasutajanimi | anne |
| Parool | rakenduse parool, vaata allpool |
Serveri aadress ja .well-known
Igal teenusel on oma asukoht, kus CalDAV ja CardDAV paiknevad. Nextcloudis on see /remote.php/dav, teistes serverites midagi muud. Et vältida olukorda, kus kõik peavad seda asukohta teadma, on kokkulepe (RFC 6764): rakendus, millele antakse ainult domeeninimi, vaatab kõigepealt kindlasse kohta:
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavServer vastab seal suunamisega tegelikule asukohale. Kui see suunamine töötab hästi, pead oma iPhone'is sisestama ainult cloud.example.com. Kui see ei tööta, ütleb rakendus "ei saa kontot kinnitada" ja pead sisestama täieliku aadressi. Sama RFC kirjeldab ka SRV-kirjeid (_caldavs._tcp.example.com), millega rakendus leiab serveri sinu e-posti domeeni põhjal. Mitte kõik rakendused ei kasuta seda.
Seejärel küsib rakendus serverilt sinu principal'i: sinu konto kindlat asukohta serveris koos sinu kalendrite ja aadressiraamatute nimekirjaga. Nii leiab rakendus iseenesest kõik kalendrid, ka need, mis on sinuga jagatud.
Miks on vaja rakenduse parooli
Enamik Euroopa pilveteenuseid küsib brauseris sisselogimisel teist sammu: koodi e-postiga, autentimisrakendust või pääsuvõtit (passkey). Telefonis olev kalendrirakendus ei oska seda teist sammu täita. Tal on ainult kasutajanime ja parooli väljad.
Seepärast loo sellise rakenduse jaoks rakenduse parool: pikk, juhuslik parool, mis kehtib ainult selle ühe rakenduse jaoks. Loo see oma pilve turvalisuse seadistustest, anna sellele äratuntav nimi ("Kalender iPhone Anne") ja sisesta see rakendusse.
Eelised:
- Su päris parool ei ole su telefonis.
- Kui kaotad oma telefoni, tühistad ainult selle ühe rakenduse parooli; ülejäänu jätkab tööd.
- Kui muudad oma tavalist parooli, jätkavad su rakendused tööd.
Mõned rakendused oskavad sisse logida ka brauseri kaudu: nad avavad sinu pilve sisselogimisekraani, sina teed seal teise sammu ja rakendus saab ise rakenduse parooli. DAVx5 Androidil oskab seda näiteks Nextcloudiga teha.
Kalendrirakendustes kõige tuntum veateade on 401 Unauthorized. Peaaegu alati tähendab see: kasutasid rakenduse parooli asemel oma tavalist parooli, või on rakenduse parool tühistatud.
Exchange'i kalendrid ja mida sa kaotad
Kes tuleb Microsoft 365-st, on harjunud mõne asjaga, mis CalDAViga töötab teisiti või üldse mitte:
- Kolleegide vaba/hõivatud oleku nägemine kohtumise planeerimisel. Nextcloudil ja teistel CalDAV-serveritel on oma vorm (vaba/hõivatud sama serveri sees), kuid see ei tööta erinevate teenuste vahel ega alati igas rakenduses.
- Ruumide ja seadmete broneerimine (koosolekuruum, projektor). Mõnel serveril on ressursikalendrid, teistel mitte.
- Delegeeritud juurdepääs ("sekretär haldab juhi kalendrit"). CalDAVis korraldad seda jagamisega, andes muutmisõigused.
Pane see oma nimekirja (moodul 3). See on harva põhjus mitte üle minna, kuid kolleegid peavad seda ette teadma.
Praktikas: nii näeb see välja ühe teenusepakkuja juures
WebOké Nextcloudis leiad aadressid rakenduses Kalender, vasakul all Kalendri seadistused juures: CalDAVi võrguaadress ja Serveri aadress iOS-i ja macOS-i jaoks, kummalgi kopeerimisnupp. Üldine aadress on https://<sinu-aadress>/remote.php/dav. Rakenduse parooli loo Seadistused, Turvalisus, Seadmed & seansid juures. Seal näed hiljem ka, milline seade millal viimati ühendust võttis, ja saad rakenduse parooli tühistada. Teised Nextcloud-teenusepakkujad töötavad täpselt samamoodi; teiste Euroopa teenuste puhul (näiteks mailbox.org, Posteo või Open-Xchange keskkond) leiad CalDAVi aadressi abilehtedelt või seadistustest, ja rakenduse paroole nimetatakse mõnikord "seadme parooliks" või "rakenduse parooliks".
Kokkuvõte
- CalDAV (kalender, ülesanded) ja CardDAV (kontaktid) on avatud standardid WebDAVi ja HTTPS-i peal; iga muudatus on väike fail serveris.
- Igasse seadmesse pead ise lisama konto: serveri aadress, kasutajanimi ja rakenduse parool.
.well-known/caldavja.well-known/carddavkaudu leiab rakendus tegeliku asukoha ainult domeeninime põhjal; kui see ei tööta, sisesta täielik DAV-aadress.- Rakenduse parool on vajalik, sest kalendrirakendused ei oska teha teist sisselogimissammu; 401 teade tähendab peaaegu alati vale parooli.
- Exchange'i funktsioonid nagu vaba/hõivatud olek kolleegide vahel, ruumide broneerimine ja delegeerimine töötavad teisiti; pane need oma nimekirja.
Test
Ülesanne
Ülesanne A5.1: Kas rakendus leiab sinu kalendri? Sisesta oma (uue) pilve aadress, näiteks cloud.example.com. Programm kontrollib, kas /.well-known/caldav ja /.well-known/carddav suunavad õigesti DAV-asukohale ning kas server vastab seal DAV-serverina. Nii saad teada, kas telefonis piisab ainult domeeninime sisestamisest.
Lisalugemist
Nende artiklite sammud kehtivad WebOké teenuste kohta; teiste teenusepakkujate juures töötab see sarnaselt.
- Nextcloudi juhend 3.5: Rakenduse salasõnad: millal ja kuidas
- Nextcloudi juhend 9.9: Kalender ja kontaktid iPhone'is ja iPadis
- Nextcloudi juhend 9.10: Kalender ja kontaktid Androidis koos DAVx5-ga
- Nextcloudi juhend 15.6: Kalender või kontaktid ei kuvata telefonis
- Rakenduse parooli loomine (vajalik rakenduste ja seadmetega ühendamiseks)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known ja SRV CalDAVi ja CardDAVi jaoks)
