Colin Watson writes:
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.
[...]
Has there been any discussion of this in the past, or any advice as to implementation strategy?
I don't recall anybody discussing this. Your use case is your use case, but I think if we were going to implement this I'd probably want "partial" deactivation where the archives remain available but no mail is delivered, can't subscribe, etc. I'm also not sure I'd want Postorius to deny it ever existed. That seems rather unfriendly (again, I don't understand your use case, so that is not a comment on your requirements). So to get it into the distribution we'd need to make these things optional. (Perhaps if these options proliferate much, they could be incorporated into list "styles" so that instead of setting all the options manually, the primary use cases could be served by "intuitively" named styles.)
It seems to me that dump, delete, and restore may be the best approach for the HyperKitty side because HyperKitty maintains all that state. Of course this could be done inside the database. Also, perhaps you can (ab)use the ArchivePolicy enum by adding an "inactive" element, but core has no way to enforce those on the archiver (which can be a third party host like mail-archive.com), and I'm not sure HyperKitty ever consults core about that once the archive is created.
I'm not sure what you mean about IArchiver; as far as I can see that interface is sort of half-duplex: it provides the information core needs *about* the archiver to do core's side of archiving, not for core to communicate *with* the archiver. In fact all of the concrete code is callbacks provided by the archiver, and once a message is archived the core forgets about it. So this isn't "just" an extension; it's a fundamental redesign of IArchiver.
I'm not sure that's not a good thing, but we do need to think about it. ISTM we're gradually converging back on the monolithic approach to MLM, with the distribution, administration, and archiving quite tightly interwoven, and I'm not sure I like that. OTOH, we do get a lot of requests for ever more bundling.