Adding a CouchDB backend

Nicolas Sebrecht nicolas.s-dev at
Tue Sep 6 18:25:28 BST 2011

On Sun, Sep 04, 2011 at 08:54:01PM +0200,  Théodore Biadala wrote:
> > > With couchdb you can replicate very easily. Makes
> > backup really simple. 
> > Why?
> I don't know if you heard about ubuntu-one, it's a kind
> of contact/calendar/data synchronization based on couchdb for 
> ubuntu. It sync data to your smartphone, laptop, other desktop or 
> whatever runs couchdb. But it doesn't sync mail, wich make it 
> pretty useless for me. But I like the idea.
> To replicate a database with CouchDB you just need to give him
> the URL of another Couch database and it takes care of everything
> else. No cron, no filesystem rights and it's build to survive
> power outages, bad connection, or any kind of crash while it's
> running/replicating. 


> > > And I want to use it as a mail reader too. Putting
> > everything in 
> > couch mean It's easier to use than maildir or IMAP
> > for me.
> > Interesting. Could you expose the reasons a bit more, please? I don't
> > know CouchDB that much.
> CouchDB is a NoSQL db with a REST api (i know, lots of buzzwords), it 
> stores "documents" and emails are exactly the kind of data that 
> can/should go into it. And because you have a REST interface you can
> do whatever you want on the database and the data with only 
> javascript (AJAX actually, to send PUT or DELETE HTTP requests) 
> and HTML. I'm a web dev, I like this kind of things.
> Only HTML+JS makes "couchapp" possible :
> It's a bunch of html/javascript files served directly form couchdb
> that make it possible to build blogs, twitter-like apps very 
> easily and you can distribute your app by replicating it somewhere else. 
> I'd like to have a mail reader where I can annotate mail, and 
> organize them like I want to, not like my imap provider wants me too.

As I understand, it still needs a additional work to serve emails
through the web server, doesn't it?

Or does the CouchDB web server is enough to read emails?

What can be done with the mails in the current state of your project
(read, deletion, move to a folder, etc)?

> I could go on and on, that's the basics i guess. I got 8 years of mails 
> and the easier my backup is, the happier I am.

I think the whole idea is smart and fine. IOW, I would be happy to merge
such new feature as long as:
- whole topic is sent as emails in this mailing list;
- everything else needed for the users is either:
  - placed in the current repository (perhaps using a contrib/ directory);
  - pointed by a public URL.
- the feature is documented;
- the feature is marked as EXPERIMENTAL.

Obviously, it can be done step by step. ,-)

Nicolas Sebrecht

More information about the OfflineIMAP-project mailing list