Плагин календаря должен поддерживать экспорт iCal и протокол CalDAV

Так как этот запрос от нашего сообщества появился снова, я хочу сослаться на более раннюю заявку на добавление функции, которая была размещена в неправильной категории:

Календарь: экспорт в caldav/carddav](Calendar: export to caldav/carddav)

Хотя экспорт в ical основан на файлах, caldav потребует dav-сервис с соответствующими вызовами API. Опция экспорта в ical, полагаю, будет проще…

6 лайков

Подписка CalDAV является базовой функцией любого расширения для управления событиями. С чего нам начать сбор средств на реализацию этой функции?

Абсолютно верно.

С моей точки зрения, текущая реализация функционала календаря полезна лишь для сценариев, где всё управление временем осуществляется внутри Discourse и/или с помощью проприетарных решений, таких как календарь Gmail. Это делает его своего рода «изолированным», так как отсутствует интеграция с другими открытыми системами.

Во многих случаях люди используют внешние календарные решения, независимые от конкретного провайдера (например, сервер Radicale caldav/carddav на Python). Они просто хотят отображать календарь внутри форума («только для чтения») и автоматически синхронизироваться с внешними изменениями.

Если бы Discourse мог выступать в роли caldav-клиента (как Thunderbird на рабочем столе и DAVx⁵ на Android), это стало бы большим шагом вперёд. На первом этапе это могло бы быть «только для чтения», а вторым шагом стала бы реализация прав записи во внешние caldav-календари. Это должно быть связано с профилем пользователя, что является отличным от текущего плагина календаря подходом.

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

С другой стороны, Webcal-канал — это просто односторонний сбор и рассылка данных, что значительно проще и быстрее реализовать.

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

Возможно, вам стоит взглянуть на тему @angus по адресу Events Plugin 📅 — она в целом реализует то, что, как мне кажется, вы ищете.

У неё есть собственный интерфейс для событий, либо вы можете использовать официальный плагин Discourse calendar-and-event и его интерфейс — в этом случае всё, что потребуется, это работа на стороне сервера.

1 лайк

Я так не думаю. В Discourse не требуется функциональность сервера календарей CalDAV. Упомянутый ранее Radicale Server — это небольшой сервер CalDAV/CardDAV на базе Python, который уже решает все серверные задачи как для CalDAV, так и для CardDAV. Единственное, чего не хватает на стороне Discourse, — это реализация клиента и интерфейса для отображения и редактирования содержимого. Плагин @angus Events пока не закрывает эту потребность.

Плагин Events Plugin позволяет импортировать события из любого источника, совместимого с iCalendar (RFC 5545), включая CalDav.

1 лайк

Понял, возможно, я что-то упустил. Спасибо за информацию!

Это завершено, загрузка файлов .ics теперь доступна как функция :confetti_ball:

Отслеживание CalDAV можно найти здесь:

7 лайков

Есть ли шанс, что в будущем появятся подписки на URL календарей iCal, как это было с плагином Pavilion?

2 лайка

Эмм — они уже были функцией, когда был опубликован исходный пост. Не думаю, что это то, что они искали.

Также обратите внимание, что поле «Местоположение» (которое критически важно для событий через .ics) в настоящее время не передаётся:

Это ошибка. Давайте убедимся, что для неё создана отдельная тема об ошибках.

1 лайк

У меня возникают трудности с интерпретацией этого сообщения. Что это означает на практике?

Оба этих сообщения были опубликованы до того, как Энгус отказался от программы подписки на этот плагин, поэтому плагин событий сейчас ничего не решит.

Я думаю, что @kelv добавил часть этого обратно, согласно:

Каков объем этого запроса?

1 лайк

Готово в

4 лайка