Hello everyone!
I just released dovecot-metadata-8, which is an implementation of RFC 5464 (IMAP METADATA), allowing to add comments/annotations/metadata to folders of an email account.
The major feature is that it works with Akonadi, or more specifically the Kolab backend thereof, while being dovecot-2.0 compatible.
The module consists of 3 plugins, two IMAP frontends and one backend:
- "imap-annotatemore" is a partial implementation of draft-daboo-imap- annotatemore-08 (early predecessor to RFC 5464), based on work by Bernhard Herzog (Intevation GmbH). The sole intention is to support Kolab, not to strictly implement the draft.
- "imap-metadata" is a complete implementation of RFC 5464. Kolab clients do not (yet) use these commands.
- "metadata" is the common backend
imap-metadata and metadata were entirely written from scratch, while imap- annotatemore is an adaption of the work by Bernhard Herzog to the new backend.
You can download the code via Hg [1] or as exported tarball [2] from the Hg webinterface.
Please note that the README is outdated, as are some other files.
The build process is pretty much straightforward, just make sure you have the dovecot headers available on your system: ./autogen.sh ./configure --with-dovecot=/path/to/dovecot make make install
Next you need to adjust your dovecot config. The following works for me: == dovecot.conf == dict { metadata = file:/var/lib/dovecot/shared-metadata } == 10-mail.conf == mail_plugins = ... metadata == 20-imap.conf == protocol imap { mail_plugins = $mail_plugins ... imap_metadata imap_annotatemore } == 90-plugin.conf == plugin { metadata_dict = proxy::metadata }
To allow a Kolab client to find (e.g.) the addressbook folder, issue this IMAP command after login: SETMETADATA "path/to/folder" ("/shared/vendor/kolab/folder-type" "contact")
If you find any bugs (crashes, incompatibilities with RFC 5464, etc), please write me a mail. Be advised that this code is still experimental and might crash your server!
@Timo: Please have a look at the src/*-ext.[ch] files, they contain extensions to the dovecot libraries and might be useful for others, too.
Kind regards, Dennis Schridde
[1] http://hg.dovecot.org/dovecot-metadata-plugin [2] http://hg.dovecot.org/dovecot-metadata-plugin/archive/bdf2445e101f.tar.gz