b'\n_START_ARTICLE_\nCalDAV\n_START_PARAGRAPH_\nProtokol CalDAV je roz\xc5\xa1\xc3\xad\xc5\x99en\xc3\xad standardu WebDAV, definovan\xc3\xbd IETF v roce 2007 (RFC 4791). Jeho c\xc3\xadlem je umo\xc5\xbenit klient\xc5\xafm p\xc5\x99\xc3\xadstup ke kalend\xc3\xa1\xc5\x99n\xc3\xadm informac\xc3\xadm ulo\xc5\xbeen\xc3\xbdch na vzd\xc3\xa1len\xc3\xa9m serveru._NEWLINE_Architektura CalDAV organizuje data (ud\xc3\xa1losti, \xc3\xbakoly, pozn\xc3\xa1mky atd.) do kolekc\xc3\xad. Zdroje a kolekce mohou b\xc3\xbdt p\xc5\x99\xc3\xadstupn\xc3\xa9 jednomu nebo i v\xc3\xadce u\xc5\xbeivatel\xc5\xafm pomoc\xc3\xad protokolu WebDAV, kter\xc3\xbd poskytuje mo\xc5\xbenost uzam\xc4\x8den\xc3\xad vybran\xc3\xbdch dat a kolekc\xc3\xad. Pro \xc5\x99\xc3\xadzen\xc3\xad p\xc5\x99\xc3\xadstupu k dat\xc5\xafm je pou\xc5\xbeit koncept ACL (seznam opr\xc3\xa1vn\xc4\x9bn\xc3\xad p\xc5\x99ipojen\xc3\xbd k objektu). To znamen\xc3\xa1, \xc5\xbee jak\xc3\xa1koliv operace klienta nad daty m\xc5\xaf\xc5\xbee b\xc3\xbdt serverem odm\xc3\xadtnuta. Aby toho mohlo b\xc3\xbdt dos\xc3\xa1hnuto CalDAV server mus\xc3\xad podporovat WebDAV Access Control Protocol definovan\xc3\xbd RFC 3744. Kalend\xc3\xa1\xc5\x99n\xc3\xad zdroje jsou reprezentov\xc3\xa1ny ve form\xc3\xa1tu iCalendar, to umo\xc5\xbe\xc5\x88uje u v\xc3\xadce serverov\xc3\xbdch a klientsk\xc3\xbdch aplikac\xc3\xad vz\xc3\xa1jemn\xc3\xa9 sd\xc3\xadlen\xc3\xad dat.\n_START_SECTION_\nDatov\xc3\xbd model\n_START_PARAGRAPH_\nCalDAV kalend\xc3\xa1\xc5\x99 je definov\xc3\xa1n jako WebDAV kolekce s danou strukturou. Kalend\xc3\xa1\xc5\x99n\xc3\xad kolekce m\xc5\xaf\xc5\xbee obsahovat n\xc4\x9bkolik zdroj\xc5\xaf, naz\xc3\xbdvaj\xc3\xadc\xc3\xad se \xe2\x80\x9eobjekty kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf\xe2\x80\x9c, jako p\xc5\x99\xc3\xadm\xc3\xa9 potomky. Ka\xc5\xbed\xc3\xa1 kolekce a objekt kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf mohou b\xc3\xbdt uzam\xc4\x8deny nebo obsahovat individu\xc3\xa1ln\xc3\xad WebDAV vlastnosti._NEWLINE_CalDAV server je tvo\xc5\x99en kombinac\xc3\xad kalend\xc3\xa1\xc5\x99n\xc3\xadch funkc\xc3\xad a WebDAV \xc3\xbalo\xc5\xbei\xc5\xa1t\xc4\x9bm, kter\xc3\xa9 obsahuje kolekce s kalend\xc3\xa1\xc5\x99n\xc3\xadmi objekty, nach\xc3\xa1zej\xc3\xadc\xc3\xadmi se v r\xc3\xa1mci jednotn\xc3\xa9ho (URL) jmenn\xc3\xa9ho prostoru. WebDAV \xc3\xbalo\xc5\xbei\xc5\xa1t\xc4\x9b m\xc5\xaf\xc5\xbee b\xc3\xbdt prohl\xc3\xa1\xc5\xa1eno za CalDAV server, pokud spl\xc5\x88uje funkcionalitu, kter\xc3\xa1 je zadan\xc3\xa1 v dokumentu RFC 4791. Server mus\xc3\xad dok\xc3\xa1zat reagovat na dotazy od klienta, nap\xc5\x99. na po\xc5\xbeadavek na zm\xc4\x9bnu dat, zasl\xc3\xa1n\xc3\xad dat nebo synchronizaci, v p\xc5\x99\xc3\xadpad\xc4\x9b, \xc5\xbee si klient uchov\xc3\xa1v\xc3\xa1 data na sv\xc3\xa9m \xc3\xbalo\xc5\xbei\xc5\xa1ti.\n_START_SECTION_\nObjekty kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf\n_START_PARAGRAPH_\nObjekty kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf obsa\xc5\xbeen\xc3\xa9 v kolekci nesm\xc3\xad obsahovat v\xc3\xadce ne\xc5\xbe jeden typ komponenty (VEVENT, VTODO, VJOURNAL, atd.), s v\xc3\xbdjimkou komponenty VTIMEZONE, kter\xc3\xa1 je specifikov\xc3\xa1na pro ka\xc5\xbed\xc3\xbd jedine\xc4\x8dn\xc3\xbd parametr TZID v objektu iCalendar. Hodnota vlastnosti UID komponenty v kalend\xc3\xa1\xc5\x99n\xc3\xadm objektu mus\xc3\xad b\xc3\xbdt unik\xc3\xa1tn\xc3\xad v r\xc3\xa1mci kolekce, ve kter\xc3\xa9 je ulo\xc5\xbeena. Pokud existuj\xc3\xad komponenty se stejn\xc3\xbdmi UID vlastnostmi, zna\xc4\x8d\xc3\xad to komponentu, opakuj\xc3\xadc\xc3\xad se v ur\xc4\x8dit\xc3\xa9m intervalu. V\xc5\xa1echny instance opakuj\xc3\xadc\xc3\xad se komponenty mus\xc3\xad b\xc3\xbdt ulo\xc5\xbeeny v jednom objektu kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf a z\xc3\xa1rove\xc5\x88 v n\xc4\x9bm nesm\xc3\xad b\xc3\xbdt komponenta s jinou hodnotou UID vlastnosti. N\xc3\xa1sleduje p\xc5\x99\xc3\xadklad objektu iCalendar:_NEWLINE_BEGIN:VCALENDAR_NEWLINE_PRODID:-//Example Corp.//CalDAV Client//EN_NEWLINE_VERSION:2.0_NEWLINE_BEGIN:VEVENT_NEWLINE_UID:1@example.com_NEWLINE_SUMMARY:One-off Meeting_NEWLINE_DTSTAMP:20041210T183904Z_NEWLINE_DTSTART:20041207T120000Z_NEWLINE_DTEND:20041207T130000Z_NEWLINE_END:VEVENT_NEWLINE_BEGIN:VEVENT_NEWLINE_UID:2@example.com_NEWLINE_SUMMARY:Weekly Meeting_NEWLINE_DTSTAMP:20041210T183838Z_NEWLINE_DTSTART:20041206T120000Z_NEWLINE_DTEND:20041206T130000Z_NEWLINE_RRULE:FREQ=WEEKLY_NEWLINE_END:VEVENT_NEWLINE_END:VCALENDAR\n_START_SECTION_\nPodpora serveru\n_START_PARAGRAPH_\nServer s podporou kalend\xc3\xa1\xc5\x99n\xc3\xadch funkc\xc3\xad mus\xc3\xad m\xc3\xadt v odpov\xc4\x9bdi na dotaz s metodou OPTIONS zahrnuto pole \xe2\x80\x9ecalendar-access\xe2\x80\x9c v DAV hlavi\xc4\x8dce (pokud je dotaz sm\xc4\x9b\xc5\x99ov\xc3\xa1n na zdroj, kter\xc3\xbd podporuje kalend\xc3\xa1\xc5\x99n\xc3\xad vlastnosti, metody, atd.). Odpov\xc4\x9b\xc4\x8f serveru na dotaz klienta s metodou OPTIONS:_NEWLINE_HTTP/1.1 200 OK_NEWLINE_Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, COPY, MOVE_NEWLINE_Allow: PROPFIND, PROPPATCH, LOCK, UNLOCK, REPORT, ACL_NEWLINE_DAV: 1, 2, access-control, calendar-access_NEWLINE_Date: Sat, 11 Nov 2006 09:32:12 GMT_NEWLINE_Content-Length: 0\n_START_SECTION_\nVlastnosti kalend\xc3\xa1\xc5\x99n\xc3\xad kolekce\n_START_PARAGRAPH_\nKalend\xc3\xa1\xc5\x99n\xc3\xad kolekce m\xc3\xa1 oproti specifikaci kolekce u standardu WebDAV p\xc5\x99id\xc3\xa1no n\xc4\x9bkolik n\xc3\xa1sleduj\xc3\xadc\xc3\xadch vlastnost\xc3\xad, kter\xc3\xa9 jsou definov\xc3\xa1ny ve jmenn\xc3\xa9m prostoru urn:ietf:params:xml:ns:caldav. Jsou to: popis kalend\xc3\xa1\xc5\x99e, \xc4\x8dasov\xc3\xa1 z\xc3\xb3na kalend\xc3\xa1\xc5\x99e, podporovan\xc3\xa9 komponenty, typ kalend\xc3\xa1\xc5\x99n\xc3\xadch dat, maxim\xc3\xa1ln\xc3\xad velikost objektu kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf (v bajtech), minim\xc3\xa1ln\xc3\xad akceptovateln\xc3\xa9 datum, maxim\xc3\xa1ln\xc3\xad akceptovateln\xc3\xa9 datum, maxim\xc3\xa1ln\xc3\xad po\xc4\x8det instanc\xc3\xad opakovan\xc3\xa9 komponenty, maxim\xc3\xa1ln\xc3\xad po\xc4\x8det vlastnost\xc3\xad komponenty.\n_START_SECTION_\nKontrola p\xc5\x99\xc3\xadstupu\n_START_PARAGRAPH_\nCalDAV server mus\xc3\xad podporovat a dodr\xc5\xbeovat po\xc5\xbeadavky na standard WebDAV ACL, definovan\xc3\xbd RFC 3744, a t\xc3\xadm poskytovat r\xc3\xa1mec pro roz\xc5\xa1i\xc5\x99itelnou sadu opr\xc3\xa1vn\xc4\x9bn\xc3\xad, kter\xc3\xa1 mohou b\xc3\xbdt pou\xc5\xbeita na kolekce nebo pouze zdroje v n\xc3\xad obsa\xc5\xbeen\xc3\xa9. D\xc3\xadky t\xc4\x9bmto opr\xc3\xa1vn\xc4\x9bn\xc3\xadm m\xc5\xaf\xc5\xbee b\xc3\xbdt klient\xc5\xafm omezen p\xc5\x99\xc3\xadstup ke zdroj\xc5\xafm._NEWLINE_Krom\xc4\x9b tohoto standardu je protokol CalDAV roz\xc5\xa1\xc3\xad\xc5\x99en o mo\xc5\xbenost poskytnout u\xc5\xbeivatel\xc5\xafm (pomoc\xc3\xad opr\xc3\xa1vn\xc4\x9bn\xc3\xad CALDAV:read-free-busy) n\xc3\xa1hled pouze na obsazen\xc3\xbd \xc4\x8das v ciz\xc3\xadm kalend\xc3\xa1\xc5\x99i, bez zobrazen\xc3\xad dal\xc5\xa1\xc3\xadch detail\xc5\xaf kalend\xc3\xa1\xc5\x99n\xc3\xadch komponent. Opr\xc3\xa1vn\xc4\x9bn\xc3\xad m\xc5\xaf\xc5\xbee b\xc3\xbdt pou\xc5\xbeito na kalend\xc3\xa1\xc5\x99n\xc3\xad kolekce, b\xc4\x9b\xc5\xben\xc3\xa9 kolekce nebo objekty kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf a mus\xc3\xad b\xc3\xbdt vno\xc5\x99en\xc3\xa9 do DAV:read opr\xc3\xa1vn\xc4\x9bn\xc3\xad.\n_START_SECTION_\nVytv\xc3\xa1\xc5\x99en\xc3\xad zdroj\xc5\xaf\n_START_PARAGRAPH_\nZasl\xc3\xa1n\xc3\xad dotazu na server s metodou MKCALENDAR vytvo\xc5\x99\xc3\xad novou kalend\xc3\xa1\xc5\x99n\xc3\xad kolekci. P\xc5\x99i pou\xc5\xbeit\xc3\xad metody MKCALENDAR nesm\xc3\xad vytv\xc3\xa1\xc5\x99en\xc3\xa1 kalend\xc3\xa1\xc5\x99n\xc3\xad kolekce ji\xc5\xbe existovat a um\xc3\xadst\xc4\x9bna mus\xc3\xad b\xc3\xbdt v povolen\xc3\xa9 oblasti. Proto\xc5\xbee n\xc4\x9bkter\xc3\xa9 \xc3\xbalo\xc5\xbei\xc5\xa1t\xc4\x9b mohou podporovat pro jednoho u\xc5\xbeivatele pouze jeden kalend\xc3\xa1\xc5\x99, kter\xc3\xbd je v\xc4\x9bt\xc5\xa1inou p\xc5\x99edem vytvo\xc5\x99en. Proto je podpora metody MKCALENDAR na serveru pouze doporu\xc4\x8dena. Pro p\xc5\x99ehlednost by m\xc4\x9bl klient pou\xc5\xbe\xc3\xadvat vlastnost DAV:displayname pro zad\xc3\xa1n\xc3\xad jm\xc3\xa9na kalend\xc3\xa1\xc5\x99e. D\xc3\xa1le je uveden p\xc5\x99\xc3\xadklad dotazu pro vytvo\xc5\x99en\xc3\xad kalend\xc3\xa1\xc5\x99n\xc3\xad kolekce:_NEWLINE_MKCALENDAR /home/lisa/calendars/events/ HTTP/1.1_NEWLINE_Host: cal.example.com_NEWLINE_Content-Type: application/xml; charset="utf-8"_NEWLINE_Content-Length: xxxx_NEWLINE_<?xml version="1.0" encoding="utf-8"\xc2\xa0?>_NEWLINE_<C:mkcalendar xmlns:D="DAV:"_NEWLINE_              xmlns:C="urn:ietf:params:xml:ns:caldav">_NEWLINE_  <D:set>_NEWLINE_    <D:prop>_NEWLINE_      <D:displayname>Lisa\'s Events</D:displayname>_NEWLINE_      <C:calendar-description xml:lang="en">_NEWLINE_        Calendar restricted to events._NEWLINE_      </C:calendar-description>_NEWLINE_      <C:supported-calendar-component-set>_NEWLINE_        <C:comp name="VEVENT"/>_NEWLINE_      </C:supported-calendar-component-set>_NEWLINE_      <C:calendar-timezone>_NEWLINE_        <![CDATA[_NEWLINE_        BEGIN:VCALENDAR_NEWLINE_        PRODID:-//Example Corp.//CalDAV Client//EN_NEWLINE_        VERSION:2.0_NEWLINE_        BEGIN:VTIMEZONE_NEWLINE_        ..._NEWLINE_        specifikace komponenty_NEWLINE_        ..._NEWLINE_        END:VTIMEZONE_NEWLINE_        END:VCALENDAR_NEWLINE_        ]]>_NEWLINE_      </C:calendar-timezone>_NEWLINE_    </D:prop>_NEWLINE_  </D:set>_NEWLINE_</C:mkcalendar>_NEWLINE_Do vytvo\xc5\x99en\xc3\xbdch kalend\xc3\xa1\xc5\x99n\xc3\xadch kolekc\xc3\xad nahr\xc3\xa1v\xc3\xa1 klient sv\xc3\xa9 objekty kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf. P\xc5\x99i jejich nahr\xc3\xa1n\xc3\xad pomoc\xc3\xad metody PUT m\xc5\xaf\xc5\xbee b\xc3\xbdt URL zad\xc3\xa1no zcela nez\xc3\xa1visle na vztahu k obsahuj\xc3\xadc\xc3\xadm dat\xc5\xafm, av\xc5\xa1ak dan\xc3\xa9 URL nesm\xc3\xad b\xc3\xbdt ji\xc5\xbe vyu\xc5\xbe\xc3\xadv\xc3\xa1no. Pokud by tomu tak nebylo, nejednalo by se o vytvo\xc5\x99en\xc3\xad, ale o aktualizaci._NEWLINE_Pro servery nen\xc3\xad obt\xc3\xad\xc5\xben\xc3\xa9 zajistit, aby m\xc4\x9bl vytvo\xc5\x99en\xc3\xbd zdroj zat\xc3\xadm neexistuj\xc3\xadc\xc3\xad URL, ale pro klienta to jednoduch\xc3\xa1 z\xc3\xa1le\xc5\xbeitost nen\xc3\xad. Mus\xc3\xad prozkoumat URL v\xc5\xa1ech zdroj\xc5\xaf a uzamknout kalend\xc3\xa1\xc5\x99n\xc3\xad kolekci, aby nedo\xc5\xa1lo ke kolizi. A\xc5\xbe pot\xc3\xa9 si m\xc5\xaf\xc5\xbee b\xc3\xbdt klient jist jedine\xc4\x8dnost\xc3\xad URL ve jmenn\xc3\xa9m prostoru. N\xc3\xa1sleduje k\xc3\xb3d pro vytvo\xc5\x99en\xc3\xad objektu kalend\xc3\xa1\xc5\x99n\xc3\xadch dat:_NEWLINE_PUT /home/lisa/calendars/events/qwue23489.ics HTTP/1.1_NEWLINE_Host: cal.example.com_NEWLINE_Content-Type: text/calendar_NEWLINE_Content-Length: xxxx_NEWLINE_BEGIN:VCALENDAR_NEWLINE_VERSION:2.0_NEWLINE_PRODID:-//Example Corp.//CalDAV Client//EN_NEWLINE_BEGIN:VEVENT_NEWLINE_UID:20010712T182145Z-123401@example.com_NEWLINE_DTSTAMP:20060712T182145Z_NEWLINE_DTSTART:20060714T170000Z_NEWLINE_DTEND:20060715T040000Z_NEWLINE_SUMMARY:Bastille Day Party_NEWLINE_END:VEVENT_NEWLINE_END:VCALENDAR\n_START_SECTION_\nVlastnost Entity Tag\n_START_PARAGRAPH_\nVlastnost DAV:getetag, slou\xc5\xbe\xc3\xadc\xc3\xad pro synchronizaci dat, mus\xc3\xad b\xc3\xbdt podporov\xc3\xa1na CalDAV serverem a nastavena ve v\xc5\xa1ech objektech kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf._NEWLINE_Pokud po odesl\xc3\xa1n\xc3\xad PUT dotazu server navr\xc3\xa1t\xc3\xad hodnotu entity tagu v hlavi\xc4\x8dce ETag, znamen\xc3\xa1 to, \xc5\xbee akce byla spr\xc3\xa1vn\xc4\x9b provedena a klient m\xc5\xaf\xc5\xbee hodnotu ulo\xc5\xbeit a d\xc3\xa1le s n\xc3\xad pracovat. V p\xc5\x99\xc3\xadpad\xc4\x9b, \xc5\xbee je klient schopen prov\xc3\xa9st dotaz PROPFIND na objekt kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf, m\xc5\xaf\xc5\xbee navr\xc3\xa1cenou hodnotu vlastnosti DAV:gatetag porovnat s hodnotou entity tagu, doru\xc4\x8denou v PUT odpov\xc4\x9bdi. Pokud si jsou ob\xc4\x9b hodnoty rovny, objekty se v danou chv\xc3\xadli nemus\xc3\xad synchronizovat._NEWLINE_Odpov\xc4\x9b\xc4\x8f serveru na GET po\xc5\xbeadavek, m\xc3\xad\xc5\x99en\xc3\xbd na objekt kalend\xc3\xa1\xc5\x99n\xc3\xadho zdroje, mus\xc3\xad tak\xc3\xa9 obsahovat ETag hlavi\xc4\x8dku s aktu\xc3\xa1ln\xc3\xad hodnotou. P\xc5\x99\xc3\xadklad odpov\xc4\x9bdi serveru na dotaz PUT:_NEWLINE_HTTP/1.1 201 Created_NEWLINE_Content-Length: 0_NEWLINE_Date: Sat, 11 Nov 2006 09:32:12 GMT_NEWLINE_ETag: "123456789-000-111"\n_START_SECTION_\nMetoda REPORT\n_START_PARAGRAPH_\nMetoda REPORT mus\xc3\xad b\xc3\xbdt CalDAV serverem podporov\xc3\xa1na a mus\xc3\xad b\xc3\xbdt provediteln\xc3\xa1 nad v\xc5\xa1emi kalend\xc3\xa1\xc5\x99n\xc3\xadmi kolekcemi a objekty kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf. Metoda poskytuje mechanismus pro z\xc3\xadsk\xc3\xa1v\xc3\xa1n\xc3\xad informac\xc3\xad o komponent\xc3\xa1ch, objektech kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf a kalend\xc3\xa1\xc5\x99n\xc3\xadch kolekc\xc3\xad. Pomoc\xc3\xad metody se mohou z\xc3\xadsk\xc3\xa1vat zdroje pouze s ur\xc4\x8dit\xc3\xbdmi vlastnostmi, kter\xc3\xa9 se definuj\xc3\xad v t\xc4\x9ble dotazu. Je tak\xc3\xa9 mo\xc5\xben\xc3\xa9 definovat \xc4\x8dasov\xc3\xbd rozsah zdroj\xc5\xaf, kter\xc3\xa9 se maj\xc3\xad vyskytovat v odpov\xc4\x9bdi._NEWLINE_Metoda REPORT s ko\xc5\x99enov\xc3\xbdm elementem CALDAV:calendar-query v t\xc4\x9ble dotazu slou\xc5\xbe\xc3\xad pro vyhled\xc3\xa1v\xc3\xa1n\xc3\xad v\xc5\xa1ech objekt\xc5\xaf kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf, kter\xc3\xa9 vyhovuj\xc3\xad zadan\xc3\xa9mu filtru. Odpov\xc4\x9b\xc4\x8f bude obsahovat v\xc5\xa1echny WebDAV vlastnosti a data objekt\xc5\xaf kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf vyhovuj\xc3\xadc\xc3\xad dotazu. Form\xc3\xa1t specifikace vlastnost\xc3\xad v t\xc4\x9ble dotazu je zalo\xc5\xbeen na stejn\xc3\xbdch XML elementech jako metoda PROPFIND. N\xc3\xa1sleduje p\xc5\x99\xc3\xadklad dotazu s metodou REPORT:_NEWLINE_REPORT /bernard/work/ HTTP/1.1_NEWLINE_Host: cal.example.com_NEWLINE_Content-Type: application/xml; charset="utf-8"_NEWLINE_Content-Length: xxxx_NEWLINE_<?xml version="1.0" encoding="utf-8"\xc2\xa0?>_NEWLINE_<C:calendar-query xmlns:D="DAV:"_NEWLINE_                  xmlns:C="urn:ietf:params:xml:ns:caldav">_NEWLINE_  <D:prop>_NEWLINE_    <D:getetag/>_NEWLINE_    <C:calendar-data>_NEWLINE_      <C:comp name="VCALENDAR"><C:prop name="VERSION"/>_NEWLINE_        <C:comp name="VEVENT">... definice vlastnost\xc3\xad</C:comp>_NEWLINE_        <C:comp name="VTIMEZONE"/>_NEWLINE_      </C:comp>_NEWLINE_    </C:calendar-data>_NEWLINE_  </D:prop>_NEWLINE_  <C:filter>_NEWLINE_    <C:comp-filter name="VCALENDAR">_NEWLINE_      <C:comp-filter name="VEVENT">_NEWLINE_        <C:time-range start="20060104T000000Z"_NEWLINE_                      end="20060105T000000Z"/>_NEWLINE_      </C:comp-filter>_NEWLINE_    </C:comp-filter>_NEWLINE_  </C:filter>_NEWLINE_</C:calendar-query>_NEWLINE_Dal\xc5\xa1\xc3\xad ko\xc5\x99enov\xc3\xbd XML element v dotazu m\xc5\xaf\xc5\xbee b\xc3\xbdt CALDAV:calendar-multiget, pomoc\xc3\xad kter\xc3\xa9ho se v odpov\xc4\x9bdi navrac\xc3\xad specifikovan\xc3\xbd objekt kalend\xc3\xa1\xc5\x99n\xc3\xadch dat pomoc\xc3\xad seznamu element\xc5\xaf DAV:href, ve kter\xc3\xa9m je hodnota s um\xc3\xadst\xc4\x9bn\xc3\xadm objektu. D\xc3\xa1le je uveden k\xc3\xb3d popsan\xc3\xa9ho dotazu:_NEWLINE_REPORT /bernard/work/ HTTP/1.1_NEWLINE_Host: cal.example.com_NEWLINE_Content-Type: application/xml; charset="utf-8"_NEWLINE_Content-Length: xxxx_NEWLINE_<?xml version="1.0" encoding="utf-8"\xc2\xa0?>_NEWLINE_<C:calendar-multiget xmlns:D="DAV:"_NEWLINE_                     xmlns:C="urn:ietf:params:xml:ns:caldav">_NEWLINE_  <D:prop>_NEWLINE_    <D:getetag/>_NEWLINE_    <C:calendar-data/>_NEWLINE_  </D:prop>_NEWLINE_  <D:href>/bernard/work/abcd1.ics</D:href>_NEWLINE_  <D:href>/bernard/work/mtg1.ics</D:href>_NEWLINE_</C:calendar-multiget>_NEWLINE_Metoda REPORT je\xc5\xa1t\xc4\x9b m\xc5\xaf\xc5\xbee obsahovat jako ko\xc5\x99enov\xc3\xbd XML element CALDAV:free-busy-query, kter\xc3\xbd navrac\xc3\xad VREEBUSY komponenty pro v\xc5\xa1echny objekty kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf kalend\xc3\xa1\xc5\x99e._NEWLINE_REPORT /bernard/work/ HTTP/1.1_NEWLINE_Host: cal.example.com_NEWLINE_Depth: 1_NEWLINE_Content-Type: application/xml; charset="utf-8"_NEWLINE_Content-Length: xxxx_NEWLINE_<?xml version="1.0" encoding="utf-8"\xc2\xa0?>_NEWLINE_<C:free-busy-query xmlns:C="urn:ietf:params:xml:ns:caldav">_NEWLINE_  <C:time-range start="20060104T140000Z"_NEWLINE_                end="20060105T220000Z"/>_NEWLINE_</C:free-busy-query>\n_START_SECTION_\nSynchronizace\n_START_PARAGRAPH_\nPokud u\xc5\xbeivatel vy\xc5\xbeaduje od kalend\xc3\xa1\xc5\x99ov\xc3\xa9 aplikace (klienta), aby byla data dostupn\xc3\xa1 i v offline re\xc5\xbeimu, je vhodn\xc3\xa9 zav\xc3\xa9st u klienta podporu synchronizace dat. CalDAV protokol_NEWLINE_vyu\xc5\xbe\xc3\xadv\xc3\xa1 pro synchronizaci vlastnosti ETagu, kter\xc3\xbd obsahuje ka\xc5\xbed\xc3\xbd objekt kalend\xc3\xa1\xc5\x99n\xc3\xadch_NEWLINE_zdroj\xc5\xaf._NEWLINE_Klient mus\xc3\xad spole\xc4\x8dn\xc4\x9b s daty ukl\xc3\xa1dat i URI a ETagy v\xc5\xa1ech objekt\xc5\xaf kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf. Vzhledem k tomu, \xc5\xbee URI se (v\xc4\x9bt\xc5\xa1inou) nem\xc4\x9bn\xc3\xad a ETag se m\xc4\x9bn\xc3\xad s ka\xc5\xbedou \xc3\xbasp\xc4\x9b\xc5\xa1n\xc4\x9b provedenou zm\xc4\x9bnou objektu kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf, m\xc5\xaf\xc5\xbee klient pomoc\xc3\xad URI na\xc4\x8d\xc3\xadst ETagy a porovnat je s ETagy ulo\xc5\xbeen\xc3\xbdmi u klienta. Jak\xc3\xa9koliv li\xc5\xa1\xc3\xadc\xc3\xad se ETag p\xc3\xa1ry zna\xc4\x8d\xc3\xad, \xc5\xbee objekt kalend\xc3\xa1\xc5\x99n\xc3\xadch zdroj\xc5\xaf mus\xc3\xad b\xc3\xbdt obnoven._NEWLINE_Aby synchronizace byla kompletn\xc3\xad, mus\xc3\xad si klient v\xc3\xa9st z\xc3\xa1znamy o prov\xc3\xa1d\xc4\x9bn\xc3\xbdch akc\xc3\xadch v offline re\xc5\xbeimu. V online re\xc5\xbeimu pak klient zaznamenan\xc3\xa9 akce realizuje tak, aby se_NEWLINE_projevily i na vzd\xc3\xa1len\xc3\xa9m serveru.'