2009-02-11 23 views
14

Mam kanał kalendarza (.ics) dostępny z mojej aplikacji, ale jest dość duży, ponieważ zawiera ponad 4000 zdarzeń. Czy istnieje standard lub najlepsza praktyka, jeśli chodzi o określanie, ile zdarzeń zostanie pobranych lub jak daleko wstecz lub do przodu powinien iść kalendarz?Ustaw limity aktualizacji w kanale iCalendar

Moim głównym pytaniem jest jednak, jak skonfigurować lub ustawić limit aktualizacji w kalendarzu, więc powiedz, że użytkownik subskrybuje kalendarz przy użyciu programu Outlook, który jest aktualizowany co kilka godzin. Mam obecnie buforowany plik danych przez kilka godzin, ale jeśli mógłbym mieć program Outlook lub jakikolwiek klient, którego używa tylko użytkownik, sprawdzaj aktualizacje co kilka godzin, co byłoby idealne.

Odpowiedz

28

Aby tylko sprawdzić aktualizacje godzinowa (na przykład) to wykorzystać w pliku VCALENDAR:

X-PUBLISHED-TTL:PT1H 

I zbierana tę informację od jednego z dokumentów Microsoft Protokołem [MS-OXCICAL]: iCalendar to Appointment Object Conversion Protocol Specification (pobierz połączoną PDF)

2.1.3.1.1.15 własności X opublikowanego TTL

RFC referencyjny N/A

Liczba przypadków dozwolone: ​​0, 1

Format: Czas ([RFC2445] sekcja 4.3.6)

Krótki opis: Określa sugerowaną pliku iCalendar częstotliwość pobierania dla klientów i serwerów z funkcją synchronizacji.

Importowanie kalendarza do obiektów
Ta właściwość powinna < 32> być ignorowane.

Eksportowanie z kalendarzem obiektów
Jeśli iCalendar jest automatycznie publikowane w zdalnej lokalizacji w regularnych odstępach czasu, ta właściwość powinna < 33> być ustawione na tym przedziale o minimalnej ziarnistości minut.

+2

Należy zauważyć, że opcja "Wyślij/odbierz wszystkie" w programie Outlook uwzględnia nagłówek X-PUBLISHED-TTL. Kiedy ten nagłówek jest ustawiony na przykład na 1 godzinę, kliknięcie "Wyślij/odbierz wszystko" nie ** powoduje ** odświeżenie kanału iCalendar po pobraniu mniej niż godzinę temu. – marcok

+0

Szanuje tylko ten nagłówek, jeśli po dodaniu kalendarza internetowego zaznaczyłeś pole opcji Zaawansowane, aby użyć zalecanej częstotliwości odświeżania wydawcy. – richard

2

RFC 7986 wprowadzono nowy REFRESH-INTERVAL właściwość:

https://tools.ietf.org/html/rfc7986#section-5.7

Nie wiem, czy to jest obsługiwane przez wszystkich klientów, ale RFC został opracowany przez Apple, więc zakładam, że mają pewne zainteresowanie tym.