Forum OpenACS Development: Re: calDAV

Collapse
9: Re: calDAV (response to 8)
Posted by Cesareo Garci­a Rodicio on
I was wondering about a more simple functionality: use Openacs Calendar from my phone (or any calDAV client). That's what I would really use.
Collapse
10: Re: calDAV (response to 9)
Posted by Gustaf Neumann on
Jim,

CalDAV is somewhat more complicated that WebDAV. The following RFCs are involved (including WebDAV).

* RFC 2445, 5545 - iCalendar
* RFC 2446, 5546 - iCalendar Transport-Independent Interoperability Protocol (iTIP)
* RFC2518, 4918 - HTTP Extensions for Web Distributed Authoring and Versioning
* RFC3744 - Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol
* RFC4791 - Calendaring Extensions to WebDAV (CalDAV)
* RFC5689 - Extended MKCOL for Web Distributed Authoring and Versioning (WebDAV)
* RFC6638 - Scheduling Extensions to CalDAV

oacs-dav is just implementing a small portion of WebDAV, and that just for the purpose of writing files to the file storage. The 2006 implementation of iCal-over-WebDAV linked above allows subclassing and is therefore better suited for reuse and extension. This implementation did exactly what Cesareo is asking, aside the facts, that many of the mentioned RFCs are much newer and the client implementations are moving targets. I have used it over many years to share may calendar data from our learning platform on my iPhone, but since i switched to Android, i am disconnected in this respect. I've tried a few CalDAV clients for Android, but last time i've checked, none of these were usable; haven't had time to play with this lately; Google seems to prefer its own interfaces over open standards.

Concerning "inverting calendars" etc.: CalDAV defines several protocols to deliver appointment and scheduling data for people in a platform independent way. The client-side is typically the mobile device (but as well mail programs like Thunderbird+lightning), where the client side can't be influenced much. CalDAV includes a flexible "report" interface for various kinds of calendar queries for finding free/busy/due times (based on the report syntax from RFC 3744), but the client has to support this as well.