A modest calendar server

I’ve been long frustrated with the lack of small, simple CalDAV servers to support shared calendaring for my ISP‘s customers. There’s Chandler/Cosmo, Hula (now Bongo), OGo and sOGo, and probably a bunch of others written in Java that I haven’t found, but on average, they weigh in at a hundred megabytes of code, include huge dependencies, are hard to compile, hugely complex systems that scream “Enterprise” and not in a good way.

CalDAV is much maligned as a complicated protocol. I’ll grant that, but it’s not terrible. It’s possible to implement a server that speaks it (if in a pidgin dialect) in a handful of hours.

So I did that. Weighing in at 8.3K, I present Camping calendar, which can now run a (very insecure, I caution) a shared calendar between Mozilla Sunbird and Evolution.

I’d love feedback, especially code-structuring tips for dealing with such a huge pile of rather arbitrary, namespaced XML.