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