2013-09-26 31 views
5

Wiem, że mogę korzystać z gem iCalendar, aby wygenerować pliki ics, które muszę obsłużyć, ale jak miałbym je obsługiwać, tylko poprzez protokół CalDAV w Railsach?Tworzenie serwera CalDAV w Railsach

+0

Wygląda na to, że mógłbym użyć klejnotu dav4rack, rozszerzyć go, aby poradzić sobie z typami żądań CalDAV, i utworzyć niestandardowy zasób, który generowałby pliki ics za pomocą klejnotu iCalendar ... ale tylko zastanawiał się, czy coś takiego jak dav4rack już istnieje dla CalDAV (Klej dav4rack_ext ma CardDAV, ale nie CalDAV) –

+1

Ah! wygląda na to, że jeśli chcę po prostu obsłużyć kalendarza tylko do odczytu, to w ogóle nie potrzebuję CalDAV, mogę po prostu serwować plik .ics w taki sam sposób, jak każdy inny plik, a Kalendarz Google i iCal mogą go importować i pobierać lub ręcznie sprawdź to dla aktualizacji !! –

Odpowiedz

2

Jeśli wszystko, czego potrzebujesz, to kalendarza tylko do odczytu, tak jak ja, w ogóle nie potrzebujesz CalDAV, możesz po prostu wyświetlać plik .ics w taki sam sposób jak dowolny inny plik, a Twoi użytkownicy mogą importować kalendarz w Google Kalendarz, iCal i inne aplikacje kalendarza. Uważaj jednak, że Kalendarz Google będzie aktualizowany niestety co 12-24 godziny. iCal działa pięknie, aktualizując się za każdym razem, gdy otwierasz aplikację i pobierasz ją w dowolnym przedziale czasu w tle.

2

Wadą obsługujących cały kalendarz w jednym podmiocie iCalendar (poprzez HTTP GET) vs użyciu CalDAV jest to, że na każdej małej zmiany, trzeba ponownie wysłać cały Kalendarz (wszystkie zdarzenia - zmieniony lub nie) z powrotem do Klient.

Przy użyciu CalDAV wystarczy odesłać zdarzenia, które faktycznie uległy zmianie.

Nie ma znaczenia dla małych kalendarzy, ale dla dużych (które otrzymują aktualizacje) różnica jest oczywiście ogromna.