iCalendar и подписки

iCalendar и подписки

TimelyChurch может как публиковать календарь вашей церкви для внешнего мира (чтобы посетители сайта и участники могли подписаться в личном календарном приложении), так и импортировать другие календари (чтобы мероприятия из деноминационного, партнёрского или общественного календаря появлялись внутри TimelyChurch).

В этой статье рассматриваются три тесно связанных, но различных функции:

  1. Встраивание публичного календаря — виджет iframe, который вы размещаете на сайте церкви.
  2. Исходящие ленты iCal — живые URL .ics, на которые могут подписаться Apple Calendar, Google Calendar и Outlook.
  3. Входящие подписки на календарь — получение мероприятий из внешних 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)

  1. Скопируйте URL подписки вашей церкви: https://your-app-domain.com/c/grace-community/calendar.ics
  2. Mac: откройте Calendar, затем выберите Файл > Новая подписка на календарь.... Вставьте URL и нажмите Подписаться.
  3. iOS: откройте Настройки > Календарь > Учётные записи > Добавить учётную запись > Другое > Добавить подписанный календарь. Вставьте URL и нажмите Далее.
  4. Установите интервал автообновления (Apple рекомендует каждый 1 час или ежедневно).

Подписка в Google Calendar

  1. Откройте Google Calendar в браузере.
  2. В левой боковой панели в разделе Другие календари нажмите значок + и выберите По URL.
  3. Вставьте URL подписки: https://your-app-domain.com/c/grace-community/calendar.ics
  4. Нажмите Добавить календарь.

Примечание: Google Calendar обновляет внешние подписки .ics только раз в несколько часов. Не ожидайте, что изменения в TimelyChurch появятся в Google мгновенно.

Это нужно делать с компьютера. Приложение Google Calendar на Android и iPhone вообще не умеет добавлять календарь по ссылке — такая возможность есть только в браузере. Добавьте подписку один раз с компьютера, и она сама появится в приложении на телефоне под той же учётной записью Google. Именно из-за этого чаще всего кажется, что подписка не работает: человек открывает ссылку на телефоне, Google ничего не делает, и в итоге скачивается разовый файл.

Подписка в Microsoft Outlook (настольный или веб)

  1. Outlook в вебе: нажмите Добавить календарь > Подписаться из веба. Вставьте URL подписки и нажмите Импорт.
  2. Настольный Outlook: выберите Добавить календарь > Из интернета, вставьте URL и нажмите ОК.

Фильтрация по типу мероприятия — только для виджета

Параметр types из раздела 1 действует на странице виджета. Он не фильтрует ленты .ics: подписка всегда содержит все публичные активные мероприятия за период. Если нужна отфильтрованная лента, напишите в поддержку, а не добавляйте ?types= к URL подписки — там он молча игнорируется.

Как помочь человеку подписаться

Подписаться может любой. Аккаунт TimelyChurch и вход не нужны — лента публичная, и тому, кому вы отправили ссылку, не нужно быть участником или регистрироваться.

Если человек говорит «скачались только события, они не обновляются», почти всегда причина одна из этих:

Что произошло Почему Что ему сказать
Нажал Скачать файл .ics Это разовая копия сегодняшних событий. Она никогда не обновляется. Использовать вариант подписки или вставить ссылку в приложение календаря.
Использовал мобильное приложение Google Календаря Мобильное приложение Google Календаря не умеет добавлять календарь по URL — это может только сайт. Открыть calendar.google.com на компьютере, затем Другие календари > + > По URL.
Он на Android и нажал Apple Calendar Этот вариант открывает ссылку webcal://, которая работает только там, где есть подходящее приложение календаря — iPhone, iPad, Mac. Использовать вариант Google Календаря на компьютере.
Ничего не произошло В браузере нет приложения, связанного с такой ссылкой. Скопировать ссылку внизу окна «Подписаться» и вставить её в Добавить календарь > По URL (иногда называется Подписаться).

Способ, который работает всегда, на любом устройстве и в любом приложении: скопируйте URL подписки внизу окна «Подписаться» и вставьте его в поле Добавить календарь / По URL / Подписаться.

Изменения, внесённые в TimelyChurch, доходят до подписчиков по расписанию обновления их приложения, а не мгновенно. Google, в частности, может обновлять раз в несколько часов. Это поведение Google, а не задержка с нашей стороны.

3. Входящие подписки на календарь (получение в TimelyChurch)

Вы также можете подписать TimelyChurch на внешнюю ленту календаря. Это полезно, когда:

  • Деноминационный орган публикует общий календарь мероприятий.
  • Партнёрская церковь хочет поделиться своим календарём с вами.
  • Вы хотите, чтобы общественный/гражданский календарь мероприятий отображался рядом с вашим.

Внешние мероприятия импортируются в TimelyChurch и показываются в календаре администратора. Их также можно автоматически публиковать в публичном календаре.

Где управлять подписками

Перейдите к Настройки > Подписки на календарь в области администрирования.

Добавление подписки

Нажмите Добавить подписку и заполните:

Поле Описание
Название Метка для этого календаря (например, «Мероприятия епархии XYZ»).
URL Внешний URL .ics для подписки.
Описание Необязательные заметки о содержании календаря.
Категория Одна из: Внешний календарь, Деноминационный, Общественный, Партнёрская церковь.
Цвет Цвет отображения мероприятий из этого календаря.
Частота синхронизации Как часто получать обновления: Каждый час, Каждые 3/6/12 часов или Ежедневно.
Тип мероприятия по умолчанию Богослужение, Класс, Встреча или Мероприятие (используется, когда импортированные мероприятия не указывают тип).
Автопубликация При включении импортированные мероприятия автоматически появляются в публичном календаре.
Преобразовать часовой пояс При включении часовые пояса исходного календаря преобразуются в часовой пояс вашей церкви.
Исходный часовой пояс Необязательное переопределение часового пояса исходной ленты.

При сохранении TimelyChurch проверяет доступность URL и наличие корректных данных iCalendar, затем выполняет немедленную первую синхронизацию.

Как работает синхронизация

  • У каждой подписки есть интервал синхронизации, определяющий, как часто TimelyChurch повторно получает ленту.
  • Во время синхронизации мероприятия из внешней ленты сопоставляются по UID. Новые создаются, существующие обновляются, исчезнувшие из источника удаляются.
  • Импортированные мероприятия помечены подпиской, поэтому вы всегда можете отличить локальные от внешних.
  • Нажмите Синхронизировать сейчас у любой подписки для принудительного немедленного обновления.

Удаление подписки

При удалении подписки вы выбираете, что произойдёт с импортированными мероприятиями:

  • Сохранить импортированные мероприятия — отвязать мероприятия от подписки, чтобы они стали обычными локальными.
  • Удалить импортированные мероприятия — удалить все мероприятия из этой подписки.

Примечания по безопасности

  • Подписками на календарь могут управлять только пользователи, у которых есть разрешение на функцию «Календарь».
  • URL внешних лент проверяются перед добавлением, поэтому эту функцию нельзя использовать для загрузки произвольных URL.

Выбор правильного инструмента

Цель Используйте
Показать календарь на сайте церкви Встраивание публичного календаря (iframe)
Дать посетителям добавить календарь на телефон Исходящая подписочная лента iCal
Отправить кому-то статический файл .ics одного мероприятия Одноразовый экспорт iCal мероприятия
Показать внешние деноминационные/партнёрские мероприятия внутри TimelyChurch Входящая подписка на календарь

Мы используем файлы cookie для персонализации вашего опыта. Продолжая посещать этот сайт, вы соглашаетесь на использование нами файлов cookie

Ещё