CalDAV is a protocol for syncing calendars. It is an extension of WebDAV.
Why use CalDAV
CalDAV is already implemented in most calendaring software (including Apple's Calendar, Google's Android platform, Outlook, Busycal, Fantastical etc.) and is useful for sharing private calendars, or allowing read/write operations on ICS-based calendars.
Why host your own
- Because the existing silos that people use are a fiddle to use:
- iCloud is pretty much exclusively for people who use Apple iOS/Mac devices meaning sharing a calendar with people on other platforms is harder
- Google Calendar requires everyone to have a Google login, and some of us are deliberately trying to reduce our reliance on Google-hosted stuff (because of site-deaths and because of Google's involvement with surveillance)
- To be able to add our own policy/logic, storage backends, backup etc.
- Because some of that data may need to be shared.
(stub) - to be filled in with various How tos, e.g.
- How to deploy/activate CalDAV on your web server
- How to configure various clients to use your web server's CalDAV endpoint
- Christian Weiske uses caldav via his ownCloud instance.
- Johannes Ernst and his family use caldav support in ownCloud (installed on a home server running UBOS) to synchronize their family calendar across a gaggle of PCs, Macs, phones and tablets. As this is a private calendar, it is access-controlled and I can't provide a (useful) link here.
- * jonnybarnes (2014) syncs his calendars using ownCloud's CalDAV feature.
- Apple iCloud
- Google Calendar (I think? Not certain. Anyone who uses CalDAV with gCal? -t)
- Busycal (not sure if silo or client)
- Fantastical (not sure if silo or client)
Server Software Support
- Radicale is a Python/WSGI implementation of CalDAV and CardDAV, and also does sync over WebDAV and basic HTTP(S). It's GPL3 licensed.
- Baikal is a PHP/Symony2 implementation of CalDAV.
- OwnCloud also comes with a calendar module - details here.
HTML with h-event storage
- It might be an idea to use version controlled HTML containing microformats2 h-event markup as a back-end for interoperability, backup and so on.