Hi ellie,

You wrote on Wed, Feb 02, 2022 at 04:08:15PM +1100:
> I'm interested in your input, particularly with regards to:
> 
> * dlist or json?
> 
> * sort-of-backwards-compatible or not-at-all?
> 
> * dragons I should be aware of?

json data format would be preferred here. There's so much more tooling available
in many programming languages, starting with "jq" on the shell.

Regarding backup compatibility: The backup scripts for our mail server 
distribution
dumps and undumps the mailboxes.db on backup / restore. When we f.e. restore
the mails from user "bob" under a new name "alice", we translate all IMAP ACLs
during restore on the fly.

Ideally ctl_mboxlist could still parse the "legacy" format,
but if support for that is missing it's not a big trouble for us,
we would implement our own parser for it. Probably in Rust ^^
The point is that we support restoring backups created by very old versions.

Speaking of dragons: If the data format of mailboxes.db is changed,
another candidate that could be changed at the same time is annotations.db.
Both more or less store additional data for specific mailboxes,
perhaps it would make sense to unify them? That could make
mailbox operations more atomic. Of course this would mean
a lot more work for migration routines.

Cheers,
Thomas

------------------------------------------
Cyrus: Devel
Permalink: 
https://cyrus.topicbox.com/groups/devel/Tea9b3c8c5728d1e8-Mc4da0a9cae2b7b54aa2123fd
Delivery options: https://cyrus.topicbox.com/groups/devel/subscription

Reply via email to