CalDAV

CalDAV (англ. Calendaring Extensions to WebDAV) — сетевой протокол прикладного уровня, расширяющий возможности WebDAV и предназначенный для доступа, синхронизации и управления календарными данными. Он основан на формате iCalendar и позволяет клиентским приложениям взаимодействовать с календарными серверами по HTTP, поддерживая совместную работу, планирование встреч (англ. scheduling) и синхронизацию между устройствами. Протокол разработан как открытый стандарт и опубликован в 2007 году в виде RFC 4791 под эгидой IETF. Для расширения функций планирования используется RFC 6638, а управление доступом реализовано на основе RFC 3744.

История

В 2003 году Лиза Дюссо инициировала разработку спецификации CalDAV, представив её на рассмотрение Инженерному совету Интернета.

Спецификация вызвала интерес среди разработчиков календарного программного обеспечения. В январе 2005 года были успешно протестированы два сервера и три клиента, корректно взаимодействующие между собой.

В марте 2007 года CalDAV был официально опубликован IETF в качестве стандарта под номером RFC 4791 («Calendaring Extensions to WebDAV (CalDAV)»). Авторами спецификации стали Сайрус Дабу (Apple), Бернар Дезруиссо (Oracle) и Лиза Дюссо (CommerceNet).

CalDAV был впоследствии внедрён в ряд программных продуктов, ориентированных на управление календарями и событиями[источник не указан 499 дней].

Описание

CalDAV представляет собой открытый стандарт, расширяющий протокол WebDAV и использующий формат iCalendar для обмена календарными данными между клиентскими приложениями и серверами.

Протокол предназначен для управления календарными событиями, включая встречи, расписания и другие записи, синхронизируемые между сервером и клиентом. Кроме того, CalDAV поддерживает создание так называемых «неличных» календарей, например, для помещений или групп пользователей. Для поддержки функций планирования встреч (англ. scheduling) используется расширение CalDAV, стандартизированное в RFC 6638.

Пользователь может синхронизировать свой календарь с сервером CalDAV и использовать его на нескольких устройствах. Протокол также поддерживает создание неличных календарей, таких как календари для комнат или организаций.

Данные CalDAV организуются в виде коллекций (каталогов), содержащих ресурсы: события, задачи, напоминания и свободное/занятое время. Для управления доступом используются ACL на основе WebDAV Access Control Protocol (RFC 3744), позволяющие задавать права (чтение, редактирование, удаление) для отдельных пользователей.

Сервер CalDAV должен уметь разбирать записи в формате iCalendar, поскольку это необходимо для выполнения специфических календарных операций — например, расширения повторяющихся событий или составления отчётов о занятости (англ. free-busy).

В то же время CalDAV подвергался критике за относительную сложность реализации, что может вызывать затруднения при интеграции с некоторыми программными продуктами.[источник не указан 499 дней]

Критика

Несмотря на широкое распространение и поддержку в различных программных решениях, спецификации CalDAV и iCalendar подвергаются критике за устаревание и ограниченную применимость в корпоративной среде. В частности, исследователи из Университета Цинхуа отмечают, что текущие версии этих протоколов не учитывают ряд современных требований[1]:

  • отсутствие встроенной поддержки механизмов безопасности и аутентификации;
  • отсутствие интерфейсов для выполнения массовых операций с событиями;
  • недостаточная проработка сценариев, связанных с масштабированием, делегированием и ролевым управлением доступом, характерных для корпоративных информационных систем.

В связи с этим, применение CalDAV в крупных организациях требует дополнительной реализации служебной логики на уровне серверной инфраструктуры или сторонней интеграции с корпоративными системами управления доступом и данными.

Будущее

В качестве потенциальной замены формата iCalendar рассматривается jCal — структурированное представление календарных данных в формате JSON, стандартизированное в RFC 7265. jCal отличается лучшей читаемостью и удобством обработки, что делает его перспективным кандидатом для будущего развития календарных протоколов.[1]

Пример

Пример основан на RFC 4791:

Запрос:

REPORT /bernard/work/ HTTP/1.1
Host: cal.example.com
Depth: 1
Content-Type: application/xml; charset="utf-8"
Content-Length: xxxx

<?xml version="1.0" encoding="utf-8" ?>
<C:free-busy-query xmlns:C="urn:ietf:params:xml:ns:caldav">
<C:time-range start="20060104T140000Z" end="20060105T220000Z"/>
</C:free-busy-query>

Ответ:

HTTP/1.1 200 OK
Date: Sat, 11 Nov 2006 09:32:12 GMT
Content-Type: text/calendar
Content-Length: xxxx

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp.//CalDAV Server//EN
BEGIN:VFREEBUSY
DTSTAMP:20050125T090000Z
DTSTART:20060104T140000Z
DTEND:20060105T220000Z
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20060104T150000Z/PT1H
FREEBUSY:20060104T190000Z/PT1H
END:VFREEBUSY
END:VCALENDAR

Программное обеспечение

Клиент

Список CalDAV-клиентов включает:[2]:

  • DAVx⁵ (Android 4.4+)[3]
  • CalDAV-Sync for Android[4]
  • AgenDAV (CalDAV WebClient с открытым кодом, поддержкой различных языков, и AJAX интерфейсом)
  • iPhone
  • Atmail (начиная с версии 6.0)
  • CalDavZAP (Web-based HTML5 / JavaScript приложение, открытый код)[5]
  • EVO Collaborator for Outlook добавить caldav совместимость синхронизации с Outlook[6]
  • Evolution (Linux, Unix, Windows)
  • Horde Groupware[7]
  • Korganizer (приложение календаря от KDE)
  • Sunbird или Thunderbird с Lightning плагином (Linux, Windows, Unix, Mac OS X)
  • eM Client (Windows)
  • iCal4OL (больше не доступен для новых пользователей)
  • iCal (начиная с версии Mac OS X Leopard !V 10.5)
  • iCal Import/Export CalDAV for Android[8]
  • One Calendar (Android, Windows, другими вариантами не пользовался)

Сервер

Список CalDAV-серверов включает:[9]:

Сервис-провайдеры

Примечания

  1. 1 2 Ma E., Liu N., Zhang Y., Peng Y. The Design and Architecture of CalDAV-based Enterprise Calendar Service. Proceedings of the International Conference on Intelligent Control and Computer Application (ICCA 2016), Atlantis Press.
  2. CalDAV Клиенты (Русский) (18 сентября 2010). Дата обращения: 17 декабря 2010. Архивировано из оригинала 23 мая 2016 года.
  3. DAVx⁵. Дата обращения: 5 мая 2022. Архивировано 3 января 2019 года.
  4. CalDAV-Sync. Дата обращения: 10 ноября 2015. Архивировано 4 ноября 2015 года.
  5. CalDavZAP. Дата обращения: 10 ноября 2015. Архивировано 10 ноября 2015 года.
  6. EVO Collaborator for Outlook. Дата обращения: 10 ноября 2015. Архивировано 7 декабря 2015 года.
  7. 1 2 Horde Groupware. Дата обращения: 10 ноября 2015. Архивировано 13 ноября 2015 года.
  8. iCal Import/Export CalDAV
  9. CalDAV Сервера (Русский). Дата обращения: 7 января 2014. Архивировано 24 октября 2008 года.
  10. Baikal. Дата обращения: 10 ноября 2015. Архивировано из оригинала 14 ноября 2015 года.
  11. Bedework Архивировано 2 декабря 2011 года.
  12. Bynari Collaboration Suite. Дата обращения: 10 ноября 2015. Архивировано из оригинала 4 августа 2012 года.
  13. DPCalendar. Дата обращения: 10 ноября 2015. Архивировано 8 декабря 2015 года.
  14. Daylite CalDAV Server Архивировано 15 октября 2015 года.
  15. EVO Mail Server. Дата обращения: 10 ноября 2015. Архивировано 21 октября 2015 года.
  16. Google Calendar. Дата обращения: 10 ноября 2015. Архивировано 28 октября 2015 года.
  17. Kerio Connect. Дата обращения: 10 ноября 2015. Архивировано 28 марта 2014 года.
  18. Nextloud. Дата обращения: 30 ноября 2019. Архивировано 10 июля 2016 года.
  19. SOGo. Дата обращения: 5 мая 2022. Архивировано 5 мая 2022 года.
  20. sabre/dav. Дата обращения: 10 ноября 2015. Архивировано 1 апреля 2021 года.
  21. Scalix. Дата обращения: 10 ноября 2015. Архивировано 10 ноября 2015 года.
  22. Synovel. Дата обращения: 10 ноября 2015. Архивировано 9 ноября 2015 года.
  23. Zimbra. Дата обращения: 10 ноября 2015. Архивировано 6 ноября 2015 года.
  24. mod_caldav auf SourceForge. Дата обращения: 10 ноября 2015. Архивировано 16 ноября 2015 года.
  25. ownCloud. Дата обращения: 10 ноября 2015. Архивировано 24 сентября 2015 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.