Каналы iCal и диапазоны дат

Я пытаюсь понять, как каналы iCal и клиенты iCalendar справляются с большим количеством событий в прошлом и будущем. Есть ли способ, которым клиенты iCalendar могут передавать диапазон дат в канал iCalendar, чтобы события за пределами текущего диапазона дат, показываемого пользователю, не отправлялись без необходимости по сети.

Если нет, то как канал iCalendar решает, для каких диапазонов дат отправлять события? Если продолжать посылать все данные по сети, в какой-то момент они станут неуправляемыми как для фида, так и для клиента. Если фид не отправляет данные в далекое прошлое и далеко в будущее, как клиенты справляются с этими «дырами» в данных?


person Saurabh Nanda    schedule 29.09.2012    source источник
comment
CalDAV предназначен для решения этой проблемы, а также множества других проблем с простыми потоками.   -  person Evert    schedule 29.10.2012
comment
Как именно CalDAV решает эту проблему? Кроме того, поддерживают ли основные клиенты iCal (Outlook, Google Calendar и Apple iCal) CalDAV?   -  person Saurabh Nanda    schedule 03.11.2012
comment
CalDAV допускает диапазоны дат и, что более важно ... когда обновляется отдельное событие, весь календарь не нужно загружать заново. Чтобы узнать, какие клиенты поддерживают CalDAV, поищите в Google 5 минут.   -  person Evert    schedule 03.11.2012


Ответы (1)


вам нужно различать сторону приложения, которая является лентой событий, и icalendar (rfc5545), который является "просто" стандартом для

формат данных для представления и обмена информацией календаря и расписания

Другими словами, из файла формата icalendar будет передаваться только та информация, которую сервер запрограммировал для размещения в нем. В rfc5545 нет предопределенного поведения для каналов календаря.

для каналов событий, если вы не контролируете сервер, можно с уверенностью предположить, что канал показывает только предстоящие события, и ваш вопрос может быть связан с: Как получить все старые элементы из RSS-канала?

о том, как отслеживать историю, если у ваших пользователей есть вариант использования для возврата в ничью. в этом случае единственный вариант для вашего клиента - вести журнал и сравнивать новый .ics со старым, чтобы отобразить наиболее полную историю.

однако, если вы также владеете стороной сервера / фида, вы можете выбрать конкретный REST API, чтобы обеспечить большую гибкость на стороне клиента (т. е. указать диапазон дат для фида)

person Auberon Vacher    schedule 30.09.2012
comment
Спасибо, я подозревал, что не существует стандарта для передачи диапазонов дат между клиентами и серверами. В моем случае я владею сервером, а не клиентом (мое веб-приложение нужно экспортировать в iCalendar). Мне просто интересно, как выбрать диапазон дат. Является ли безопасная ставка на публикацию в календаре только предстоящих событий? - person Saurabh Nanda; 30.09.2012
comment
сосредоточение внимания на предстоящем действительно кажется беспроигрышным вариантом. если вы беспокоитесь о вариантах использования клиента, вы всегда можете предоставить резервный URL-адрес, дающий окно +/- 6 месяцев вокруг текущего дня. - person Auberon Vacher; 01.10.2012