URL-адреса подписки на календарь для внешних приложений календаря

Отзыв после реального тестирования:

Контекст: наш экземпляр Discourse используется несколькими группами пользователей/сообществами, у которых есть свои отдельные группы разрешений. Для каждой из этих групп есть главная категория. Эта категория публично видна, а её контент передаётся в Fediverse (Discourse ActivityPub). Также отображается публичный календарь. Пример (https://forum.netzwissen.de/c/meshcore-str/84):

Pasted image 20260401075142.png

Календарь отображает события из постов в главной категории, а также из подкатегорий. Посты со событиями в подкатегориях (которые видны только «авторизованным» пользователям с соответствующей группой разрешений сообщества) не показываются в основном календаре для анонимных пользователей (не авторизованных). Отлично — это ожидаемое поведение!

Я вижу два требования, которые сделают ссылку на ICS-календарь «полностью функциональной». Мы используем новую ссылку на ICS-календарь для публикации событий, созданных в Discourse, на публичных сайтах сообществ (CMS: WordPress).

  1. События, отображаемые в ICS-файле, должны быть «отфильтрованы» по сообществу/группе разрешений. Предлагаемый синтаксис:
[ics_calendar url="https://discourse.example.com/discourse-post-event/events.ics?user_api_key=[xxxx];group=[discourse_group_id]"]

  1. ICS-файл должен отображать только события со статусом «public». События со статусом «private» или «standalone» в целом не должны публиковаться в ICS-файле. Примечание: я ещё не проверял, реализовано ли это уже…
1 лайк