iCalendar и подписки
TimelyChurch может как публиковать календарь вашей церкви для внешнего мира (чтобы посетители сайта и участники могли подписаться в личном календарном приложении), так и импортировать другие календари (чтобы мероприятия из деноминационного, партнёрского или общественного календаря появлялись внутри TimelyChurch).
В этой статье рассматриваются три тесно связанных, но различных функции:
- Встраивание публичного календаря — виджет iframe, который вы размещаете на сайте церкви.
- Исходящие ленты iCal — живые URL
.ics, на которые могут подписаться Apple Calendar, Google Calendar и Outlook. - Входящие подписки на календарь — получение мероприятий из внешних URL
.icsв TimelyChurch по расписанию.
Совет: Для одноразовых экспортов
.icsодного мероприятия, одной серии или диапазона дат см. раздел Экспорт и импорт iCalendar. Экспорт там — статический снимок. Подписочные ленты в этой статье остаются живыми и обновляются при изменении мероприятий.
1. Встраивание публичного календаря
Публичный календарь — самодостаточный виджет, который можно встроить на сайт церкви с помощью iframe. Посетители могут просматривать все публичные мероприятия без учётной записи.
URL встраивания
https://your-app-domain.com/c/{churchSlug}/calendar
Параметры запроса
Встраивание принимает следующие необязательные параметры запроса для настройки того, что видят посетители:
| Параметр | Значения | По умолчанию | Эффект |
|---|---|---|---|
types |
Список через запятую: worship, class, meeting, event |
worship,class,meeting,event |
Ограничить отображаемые типы мероприятий. |
theme |
default или любое имя пользовательской темы |
default |
Визуальная тема встраивания. |
view |
month, week, list |
month |
Начальное представление календаря. |
header |
true / false |
true |
Показать или скрыть верхнюю панель. |
Пример кода встраивания
<iframe
src="https://your-app-domain.com/c/grace-community/calendar?types=worship,event&view=month"
width="100%"
height="700"
frameborder="0"
title="Grace Community Calendar">
</iframe>
Что видят посетители
Встраивание показывает только мероприятия, отмеченные как Публичное и Активно, отфильтрованные по параметру types и диапазону дат, который просматривается в данный момент. Нажатие на мероприятие открывает его публичную страницу деталей.
2. Исходящие ленты iCal (подписка извне)
Календарь вашей церкви доступен как живая лента iCalendar по двум URL:
| URL | Поведение |
|---|---|
https://your-app-domain.com/c/{churchSlug}/calendar.ics |
Предназначена для подписок на календарь. Остаётся живой и эффективно обновляется в подписанных приложениях. |
https://your-app-domain.com/c/{churchSlug}/calendar/download.ics |
Запускает одноразовую загрузку того же содержимого .ics как файла. |
Обе ленты включают мероприятия с месяца назад до года вперёд, только публичные и активные.
Подписка в Apple Calendar (macOS / iOS)
- Скопируйте URL подписки вашей церкви:
https://your-app-domain.com/c/grace-community/calendar.ics - Mac: откройте Calendar, затем выберите Файл > Новая подписка на календарь.... Вставьте URL и нажмите Подписаться.
- iOS: откройте Настройки > Календарь > Учётные записи > Добавить учётную запись > Другое > Добавить подписанный календарь. Вставьте URL и нажмите Далее.
- Установите интервал автообновления (Apple рекомендует каждый 1 час или ежедневно).
Подписка в Google Calendar
- Откройте Google Calendar в браузере.
- В левой боковой панели в разделе Другие календари нажмите значок + и выберите По URL.
- Вставьте URL подписки:
https://your-app-domain.com/c/grace-community/calendar.ics - Нажмите Добавить календарь.
Примечание: Google Calendar обновляет внешние подписки
.icsтолько раз в несколько часов. Не ожидайте, что изменения в TimelyChurch появятся в Google мгновенно.
Подписка в Microsoft Outlook (настольный или веб)
- Outlook в вебе: нажмите Добавить календарь > Подписаться из веба. Вставьте URL подписки и нажмите Импорт.
- Настольный Outlook: выберите Добавить календарь > Из интернета, вставьте URL и нажмите ОК.
Фильтрация ленты по типу мероприятия
Добавьте параметр запроса types к любому URL ленты для ограничения:
https://your-app-domain.com/c/grace-community/calendar.ics?types=worship
Значения можно комбинировать через запятую: ?types=worship,class.
3. Входящие подписки на календарь (получение в TimelyChurch)
Вы также можете подписать TimelyChurch на внешнюю ленту календаря. Это полезно, когда:
- Деноминационный орган публикует общий календарь мероприятий.
- Партнёрская церковь хочет поделиться своим календарём с вами.
- Вы хотите, чтобы общественный/гражданский календарь мероприятий отображался рядом с вашим.
Внешние мероприятия импортируются в TimelyChurch и показываются в календаре администратора. Их также можно автоматически публиковать в публичном календаре.
Где управлять подписками
Перейдите к Настройки > Подписки на календарь в области администрирования.
Добавление подписки
Нажмите Добавить подписку и заполните:
| Поле | Описание |
|---|---|
| Название | Метка для этого календаря (например, «Мероприятия епархии XYZ»). |
| URL | Внешний URL .ics для подписки. |
| Описание | Необязательные заметки о содержании календаря. |
| Категория | Одна из: Внешний календарь, Деноминационный, Общественный, Партнёрская церковь. |
| Цвет | Цвет отображения мероприятий из этого календаря. |
| Частота синхронизации | Как часто получать обновления: Каждый час, Каждые 3/6/12 часов или Ежедневно. |
| Тип мероприятия по умолчанию | Богослужение, Класс, Встреча или Мероприятие (используется, когда импортированные мероприятия не указывают тип). |
| Автопубликация | При включении импортированные мероприятия автоматически появляются в публичном календаре. |
| Преобразовать часовой пояс | При включении часовые пояса исходного календаря преобразуются в часовой пояс вашей церкви. |
| Исходный часовой пояс | Необязательное переопределение часового пояса исходной ленты. |
При сохранении TimelyChurch проверяет доступность URL и наличие корректных данных iCalendar, затем выполняет немедленную первую синхронизацию.
Как работает синхронизация
- У каждой подписки есть интервал синхронизации, определяющий, как часто TimelyChurch повторно получает ленту.
- Во время синхронизации мероприятия из внешней ленты сопоставляются по UID. Новые создаются, существующие обновляются, исчезнувшие из источника удаляются.
- Импортированные мероприятия помечены подпиской, поэтому вы всегда можете отличить локальные от внешних.
- Нажмите Синхронизировать сейчас у любой подписки для принудительного немедленного обновления.
Удаление подписки
При удалении подписки вы выбираете, что произойдёт с импортированными мероприятиями:
- Сохранить импортированные мероприятия — отвязать мероприятия от подписки, чтобы они стали обычными локальными.
- Удалить импортированные мероприятия — удалить все мероприятия из этой подписки.
Примечания по безопасности
- Подписками на календарь могут управлять только пользователи, у которых есть разрешение на функцию «Календарь».
- URL внешних лент проверяются перед добавлением, поэтому эту функцию нельзя использовать для загрузки произвольных URL.
Выбор правильного инструмента
| Цель | Используйте |
|---|---|
| Показать календарь на сайте церкви | Встраивание публичного календаря (iframe) |
| Дать посетителям добавить календарь на телефон | Исходящая подписочная лента iCal |
Отправить кому-то статический файл .ics одного мероприятия |
Одноразовый экспорт iCal мероприятия |
| Показать внешние деноминационные/партнёрские мероприятия внутри TimelyChurch | Входящая подписка на календарь |