2015-05-19 2 views
1

Для тестирования у меня есть файл ics, который создает повторяющееся событие еженедельно в течение 4 недель.ICS Recurrence-id range thisandfuture не меняет последующие события

BEGIN:VCALENDAR 
PRODID:-//Cisa//Cisa Planningen//BE 
VERSION:2.0 
CALSCALE:GREGORIAN 
BEGIN:VEVENT 
DTSTART;TZID=Europe/Brussels:20150508T083000 
DTEND;TZID=Europe/Brussels:20150508T115000 
DTSTAMP:20150518T072640Z 
RRULE:FREQ=WEEKLY;COUNT=4;BYDAY=FR 
UID:[email protected] 
DESCRIPTION:Commercieel Commitment PSV 
LOCATION:PSV 
STATUS:CONFIRMED 
SUMMARY:Rec PSV 
END:VEVENT 
END:VCALENDAR 

После того, что я хочу, чтобы редактировать события из третьего вхождения (не necesarily третий, но только один я использовал в моем примере.) Так что мой первый пример даст еженедельные мероприятия в пятницу, и после этого я бы, например, хочу, чтобы изменить день среды, но когда я использую рекуррентный идентификатор с диапазоном в этом фрагменте:

BEGIN:VCALENDAR 
PRODID:-//Cisa//Cisa Planningen//BE 
VERSION:2.0 
CALSCALE:GREGORIAN 
BEGIN:VEVENT 
DTSTART;TZID=Europe/Brussels:20150521T083000 
DTEND;TZID=Europe/Brussels:20150521T115000 
DTSTAMP:20150518T072640Z 
UID:[email protected] 
RECURRENCE-ID;RANGE=THISANDFUTURE:TZID=Europe/Brussels:20150522T083000 
DESCRIPTION:Commercieel Commitment PSV 
LOCATION:PSV 
STATUS:CONFIRMED 
SUMMARY:Rec PSV 
END:VEVENT 
END:VCALENDAR 

Однако только одно события, которое имеет фактическое время в recurrence- id получает свою дату, а событие после этого не изменяется.

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

ответ

1

Несмотря на то, что это часть RFC5545, идентификатор RECURRENCE-ID на основе RANGE плохо понимается большинством клиентов/серверов, за исключением, может быть, Lotus Notes. Обычно клиенты заканчивают старое событие (параметр UNTIL в RRULE) и создают новое событие (с новым UID) и свойство RELATED-TO, указывающее на событие OLD.

Это еще более верно, если вы фактически меняете шаблон повторения (с пятницы по среду).

+0

Спасибо за ответ, так что из того, что вы говорите, было бы «проще», чтобы просто сделать события отдельно, а затем связать их друг с другом со свойством RELATED-TO? – Daragyon

+0

Ну, может быть, не проще, но, безусловно, более интероперабельным. – arnaudq

+0

Хорошо, спасибо, собираюсь это сделать. – Daragyon