[Dovecot] plugin development guide for non-FS backing store

Chang Song tru64ufs at me.com
Mon Sep 21 12:32:02 EEST 2009


Hello, Timo. Wow. directly from the creator ;-)

Thanks for the reply.

This is something completely new.
We are connecting to our pre-existing custom-made mail server.
IMAP needs to be plugged into the infrastructure.

So basically we can simply use existing index_* since we need to have
index files (on local fs) no matter what.

I saw dbox source file there. Is the layer stable (as far as API goes)?
Tell me more about the abstraction layer.

Thanks a lot!!

Chang


On Sep 21, 2009, at 2:44 PM, Timo Sirainen wrote:

> On Sep 20, 2009, at 4:42 AM, Chang Song wrote:
>
>> I was wondering if anyone has some sort of guide or reference on  
>> plugin development.
>> We are trying to develop a non-filesystem backing store.
>>
>> So basically we do not store mailboxes for users in local  
>> filesystem. We do RPC call
>> to fetch from fileservers.
>
> Well, the best there exists currently is http://dovecot.org/list/dovecot/2007-November/026632.html 
>  but it's for an old Dovecot version. You really should start with  
> Dovecot v1.2.
>
> Do you need to use some existing mail database or is it something  
> completely new? I'm just wondering if my upcoming dbox filesystem  
> abstraction layer would help you.
>
> Anyway, basically just go and look at lib-storage/mail-storage.h and  
> mail-storage-private.h and mailbox-list.h and mailbox-list- 
> private.h. Implement those using your RPC calls, using index_*()  
> functions wherever possible, just like the filesystem backends. You  
> can also make Dovecot use in-memory indexes only with your database,  
> although it probably would be better to just create them on local  
> disk and act as kind of a cache.
>



More information about the dovecot mailing list