Adding a CouchDB backend
theodore at biadala.net
Mon Sep 5 16:25:23 BST 2011
Thanks for the review !
> I see that you store them with the Message-ID as key. In theory (and
> also in practice) you can have 2 emails with the exact same Message
> ID. In this case, you overwrite your messages.
I actually ran into problems because of that, I changed that since this
morning, it's based on accountname, folder and uid now. It makes the _id
a bit big, couchdb can handle it.
> > https://github.com/theodoreb/offlineimap/blob/couchdb-lite/offlineimap/repository/CouchDB.py
> Looking good to me. Even better if it works.
It does :)
> > The config file looks like this :
> > [Repository Couch]
> > type = CouchDB
> > dbname = offlineimap
> > server = http://localhost:5984/
> > Works as local and remote repository.
> Nice. Seems decent and optional enough to push as experimental. My only
> reservation is the reliance on unique Message-IDs for the filenames.
That's fixed. It's still only message-id for the name of the attached
file but if it's the same message-id it should be the same content. It's
the mail as it was received, there is no flags or metadata in the
attached file. The only possible problem from a couchdb point of view
would have been with _id.
I plan on adding a couple of other things and test with big mailboxes
too, so it's likely to change a bit for a couple of days.
More information about the OfflineIMAP-project