Я успешно восстановил свой экземпляр Discourse ![]()
Официальный плагин discourse-calendar уже поддерживает экспорт в формате .ics, что крайне полезно для внешнего обмена событиями Discourse. Однако многие сообщества — особенно в сфере образования, государственных органов или крупных предприятий — полагаются на внешние iCal-каналы для публикации информации о событиях (например, из Moodle, Office365, Google Calendar или корпоративных CMS).
На данный момент не существует встроенного способа импорта или синхронизации из источников .ics. Это ограничивает использование Discourse в качестве полноценного календарного центра для сообществ, которые уже публикуют важные расписания в других местах.
Предложение по новой функции
Добавить синхронизацию iCal-каналов (импорт по URL .ics) в плагин календаря Discourse.
Основные функции
- Настройка URL
.ics-канала для категории или темы с поддержкой календаря. - Автоматический импорт событий в календарь в соответствии с
.ics-каналом. - Возможность указать интервал синхронизации (например, ежечасно, ежедневно) или добавить кнопку ручной синхронизации «Синхронизировать сейчас».
- Использование поля UID события для предотвращения дубликатов и корректного обновления изменённых событий.
Дополнительные настройки
- Добавление тегов или меток к импортированным событиям для отображения внешнего источника.
- Выбор между:
- Однонаправленной синхронизацией (только из внешнего источника в Discourse),
- или двунаправленной синхронизацией (изменение синхронизированных событий внутри Discourse приводит к обновлению внешнего источника — перспектива на будущее).
- Поддержка нескольких
.ics-каналов в одном календаре с объединением в единое представление. - Визуальное отображение того, что событие синхронизировано из внешнего источника (например, «Синхронизировано из: outlook.university.edu»).
Сценарии использования
| Сектор | Пример использования |
|---|---|
| Образование | Автоматическое заполнение студенческих форумов датами семестра, расписанием занятий, экзаменами и т.д. |
| Государственные органы | Синхронизация официальных событий из CMS или интранета с публичным календарём сообщества |
| Компании | Отображение внутренних календарей встреч (из Outlook или Google Calendar) |
| Форумы мероприятий | Интеграция списков спикеров или расписаний сессий от внешних провайдеров |
Безопасность и конфиденциальность
- Каналы календаря могут поддерживать публичный или токенизированный доступ (например, URL с секретным токеном).
- Поддержка OAuth2 / базовой аутентификации может быть реализована как будущая доработка.
Ссылки
discourse-calendar- Экспорт в
.icsуже поддерживается — отличный прецедент! - Аналогичная потребность обсуждалась в более старых темах, например, здесь
Совместимость
Эта функция не потребует discourse-events (теперь устаревший) и будет работать нативно с существующим синтаксисом календаря Discourse ([calendar] и [event]). Пользователи по-прежнему смогут вручную создавать нативные события Discourse — синхронизация iCal просто дополнит эти календари.
Буду рад узнать, находится ли эта функция уже в плане разработки, или же другие участники сообщества также считают её полезной.
Спасибо!