Так как этот запрос от нашего сообщества появился снова, я хочу сослаться на более раннюю заявку на добавление функции, которая была размещена в неправильной категории:
С моей точки зрения, текущая реализация функционала календаря полезна лишь для сценариев, где всё управление временем осуществляется внутри Discourse и/или с помощью проприетарных решений, таких как календарь Gmail. Это делает его своего рода «изолированным», так как отсутствует интеграция с другими открытыми системами.
Во многих случаях люди используют внешние календарные решения, независимые от конкретного провайдера (например, сервер Radicale caldav/carddav на Python). Они просто хотят отображать календарь внутри форума («только для чтения») и автоматически синхронизироваться с внешними изменениями.
Если бы Discourse мог выступать в роли caldav-клиента (как Thunderbird на рабочем столе и DAVx⁵ на Android), это стало бы большим шагом вперёд. На первом этапе это могло бы быть «только для чтения», а вторым шагом стала бы реализация прав записи во внешние caldav-календари. Это должно быть связано с профилем пользователя, что является отличным от текущего плагина календаря подходом.
Действительно, CalDAV более практичен для сообщества, но, как вы и отметили, это требует значительных усилий, поскольку должен работать как сервер для двусторонней синхронизации.
С другой стороны, Webcal-канал — это просто односторонний сбор и рассылка данных, что значительно проще и быстрее реализовать.
Я понимаю необходимость CalDAV, но это может задержать внедрение более быстро реализуемой функции, такой как Webcal.
Возможно, вам стоит взглянуть на тему @angus по адресу Events Plugin 📅 — она в целом реализует то, что, как мне кажется, вы ищете.
У неё есть собственный интерфейс для событий, либо вы можете использовать официальный плагин Discourse calendar-and-event и его интерфейс — в этом случае всё, что потребуется, это работа на стороне сервера.
Я так не думаю. В Discourse не требуется функциональность сервера календарей CalDAV. Упомянутый ранее Radicale Server — это небольшой сервер CalDAV/CardDAV на базе Python, который уже решает все серверные задачи как для CalDAV, так и для CardDAV. Единственное, чего не хватает на стороне Discourse, — это реализация клиента и интерфейса для отображения и редактирования содержимого. Плагин @angus Events пока не закрывает эту потребность.