Hi,
I'm experimenting with a port of Launchpad's mailing list infrastructure to Mailman 3. If Barry's reading, he may remember that this is no trivial task, so I'm very definitely not promising that it will be done any time soon. :-) However, for the most part it looks relatively tractable with the aid of the plugin improvements in Mailman 3.2.0; I have the rough outline of a plugin that implements much the same feature set as our current pile of monkey-patches against Mailman 2.1 in a much nicer way.
One of the major things I haven't figured out yet is list deactivation and reactivation. In our current 2.1-based code, you can deactivate a list in a reversible way, which basically tars up the list directory so that the list archives can be restored later. This isn't a native operation in 2.1, but it could be done because everything lived on the filesystem. In 3, it's less trivial. We could go to some effort to dump things out of the HyperKitty database and restore it on reactivation, but that seems rather complex and a bit silly.
Ideally, I'd like mailing lists to have a "deactivated" state in addition to full deletion. In this state, the list would appear nonexistent for most purposes: incoming email would be rejected, Postorius would deny its existence, etc. There'd need to be corresponding extensions to the IArchiver interface which caused the archiver to put its archives of that list into a corresponding deactivated state, in which it would retain the messages but queries for them would return 404 or similar; these extensions would need to be optional, since while it should be relatively easy to do this in HyperKitty it could be hard or impossible for other archivers, and perhaps this should be a separate operation from deactivating the list itself since people may want to close a list while leaving its archives accessible.
Has there been any discussion of this in the past, or any advice as to implementation strategy?
Thanks,
-- Colin Watson [cjwatson@ubuntu.com]