On Friday 11 September 2015 00:43:16 Timo Sirainen wrote: > I've been once in a while over the years thinking about implementing CalDAV > (and CardDAV) to Dovecot. It might be time to start that soon. Does anyone > have any suggestions? So far my main goals would be: > > - scalable, of course > - configurable storage (object storage, regular fs, maybe some key- value > dbs, maybe storing as emails) - efficient indexes (potentially using > key-value dbs? or maybe just local files. not sure yet what kind of > indexing is needed) - have it work with dsync (= replication & migration)
The kolab project already store calendars and cards as e-mails. I use dovecot from few years using part of this project. They use libkolabxml who provide binding for encoding/decoding objects ; this is an approach with advandages and disadvantages ( an external library can be upgraded to reflect changes in object format) but i think compatibility is a good thing at the end. Maybe this could be pluggable to allow different xml formats, but I think all should be more or less similar. > > Some things I wonder about: > > - Maybe there is already some code out there that could be used to > implement it faster? - Maybe even use something else besides C to implement > it.. Then again that makes integration to Dovecot more difficult. - Is > anybody interested in helping to develop this? :) I think I still have too > much other work that I won't spend a lot of time coding it.. > > One thing that makes this easier is that Open-Xchange has already > implemented a CalDAV server, so they can help to avoid the biggest design > mistakes. (There are a couple of reasons why they'd want to replace that. I think there are two parts of the project: object storage and protocol implementation. If you choose the kolab approach, the object storage part is already done :) > -- Mihai Badici[1] -------- [1] http://mihai.badici.ro