Dovecot CalDAV server

Mihai Badici mihai at
Fri Sep 11 18:44:36 UTC 2015

On Friday 11 September 2015 00:43:16 Timo Sirainen wrote:
> I've been once in a while over the years thinking about implementing 
> (and CardDAV) to Dovecot. It might be time to start that soon. Does 
> have any suggestions? So far my main goals would be:
>  - scalable, of course
>  - configurable storage (object storage, regular fs, maybe some key-
> 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 
> 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 
> mistakes. (There are a couple of reasons why they'd want to replace 
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] 


More information about the dovecot mailing list