Установить ограничения на обновление для iCalendar Feed
У меня есть календарный канал (.ics), доступный из моего приложения, но он довольно большой, так как он включает более 4000 событий. Существует ли стандартная или лучшая практика, когда дело доходит до определения того, сколько событий загружается или как далеко назад или вперед календарь должен идти?
Мой главный вопрос, однако, заключается в том, как настроить или установить ограничение на обновление в календаре, поэтому скажите, что пользователь подписывается на календарь с использованием Outlook, который обновляется только каждые несколько часов. В настоящее время у меня есть кеш файл в течение нескольких часов, но если бы у меня был Outlook или любой другой клиент, который использует только проверку обновлений каждые несколько часов, которые были бы идеальными.
Ответы
Ответ 1
Чтобы проверять обновления ежечасно (например), используйте это в файле VCALENDAR:
X-PUBLISHED-TTL:PT1H
Я почерпнул эту информацию из одного из документов протокола Microsoft
[MS-OXCICAL]: спецификация протокола iCalendar для назначения объекта назначения (скачать связанный PDF)
2.1.3.1.1.15 Свойство: X-PUBLISHED-TTL
Ссылка RFC: N/A
Число разрешенных экземпляров: 0, 1
Формат: Продолжительность ([RFC2445] раздел 4.3.6)
Краткое описание: Указывает рекомендуемую частоту загрузки файлов iCalendar для клиентов и серверов с возможностями синхронизации.
Импортирование в объекты календаря
Это свойство СЛЕДУЕТ < 32 > быть проигнорировано.
Экспорт из объектов календаря
Если этот iCalendar автоматически публикуется в удаленном месте через равные промежутки времени, это свойство SHOULD < 33 > должно быть установлено на этот интервал с минимальной детализацией минут.
Ответ 2
RFC 7986 внедрил новое свойство REFRESH-INTERVAL
:
https://tools.ietf.org/html/rfc7986#section-5.7
Я не знаю, поддерживается ли это любым клиентом, но RFC был автором Apple, поэтому я предполагаю, что они заинтересованы в этом.