I am pleased to announce the availability of an alternate namespace for
Cyrus IMAP which allows personal folders to reside at the same
[top]level as the INBOX.  You should consider this code to be late-beta,
but it is fully functional and appears to be as stable as 2.0.14.  I
have been running this code on my production server throughout the
development process without any problems.  I am hoping to have people
test this code so that any hidden wrinkles can be ironed out ASAP, and
then it will be merged into the main Cyrus distribution (hopefully by
2.0.15).

The design out the code is such that it only changes the mailbox names
passed via the IMAP protocol without changing the on-disk mailstore
structure.  This means that any existing server can begin serving up
mailboxes using the alternate namespace simply changing the appropriate
imapd.conf option(s).  This also means that you can have 2 separate
imapd (using separate config files) serving up the same mailboxes with
different namespaces concurrently.  In fact, this is how the development
was done on my server (see imapd(8) and cyrus.conf(5) for details on
doing this).

Configuring the server to use the alternate namespace is done by setting
"altnamespace: yes" in imapd.conf.  The prefixes for the shared
namespace and other users' namespace can be set as well.  The relevant
options from imapd.conf(5) are:

       altnamespace: no
            Use the  alternate  IMAP  namespace,  where  personal
            folders  reside at the same level in the hierarchy as
            INBOX.

       userprefix: Other Users
            If using the alternate IMAP namespace, the prefix for
            the  other  users namespace.  The hierarchy delimiter
            will be automatically appended.

       sharedprefix: Shared Folders
            If using the alternate IMAP namespace, the prefix for
            the  shared  namespace.  The hierarchy delimiter will
            be automatically appended.



Once configured, output from the server should look something like this:

* OK cyrus.test Cyrus IMAP4 v2.0.14-NAMESPACE server ready
. login test *****
. OK User logged in
. namespace
* NAMESPACE (("" ".")) (("Other Users." ".")) (("Shared Folders." "."))
. OK Completed
. list "" %
* LIST () "." "INBOX"
* LIST () "." "Sent"
* LIST () "." "Trash"
* LIST (\Noselect) "." "Other Users"
* LIST (\Noselect) "." "Shared Folders"
. OK Completed (0.010 secs 115 calls)



The code can be obtained from CMU's CVS repository as usual using the
'alt-namespace' tag.  Otherwise, a pre-packaged distro can be obtained
from:

ftp://ftp.oceana.com/pub/cyrus-imapd-2.0.14-NAMESPACE.tar.gz


Since I am the primary developer of this code, please send any feedback
to me directly and/or the info-cyrus list.  Please do NOT send bug
reports to cyrus-bugs.

Enjoy,
Ken
-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp

Reply via email to