Disable archives per list
Hello,
we are about to migrate our Mailman 2 instance to Mailman 3.
As we are hosting many (small) mailing lists for different customers, we get in trouble about future handling of mail archives. Mailman 2 just used mbox files per list and flat files for public archive, so archives do not matter apart from some storage. With hyperkitty, all messages for all lists are stored in on single database and I'm a little bit scared of a single database table with dozens of GB of data.
Many of our users do not really need archiving, some customers also asked archiving to be disabled for legal reasons within their lists.
Can I as the server admin disable archiving (or set other list options) in a way that the list admin can not change it via postorious?
Can I have custom archiver settings per list or per domain (customer-specific hyperkitty)?
regards, Bernd
On 2/25/21 1:57 AM, Bernd Wurst wrote:
Can I as the server admin disable archiving (or set other list options) in a way that the list admin can not change it via postorious?
As the server admin, you can enable/disable archivers sitewide. See <https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/config/schema.cfg#L899> et seq.
Note that the prototype archiver, if enabled, stores messages in the file system in maildir format.
Normally a list admin can select which of the enabled archivers is active for that list via Postorius. To prevent this, you would have to modify Postorius. It would be easy enough to just remove settings from the relevant templates.
Can I have custom archiver settings per list or per domain (customer-specific hyperkitty)?
I'm not sure what you mean by "custom archiver settings", but other than enable/disable and public/private, probably not.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Hello.
Thank you for your answers.
Am 25.02.21 um 22:01 schrieb Mark Sapiro:
Normally a list admin can select which of the enabled archivers is active for that list via Postorius. To prevent this, you would have to modify Postorius. It would be easy enough to just remove settings from the relevant templates.
This will take effect for all lists at once, I suppose. :(
I'm not sure what you mean by "custom archiver settings", but other than enable/disable and public/private, probably not.
Hyperkitty has a rather cool frontend but stores all messages from all lists together in one database table. Additionally, neither Mailman nor Hyperkitty seems to know or tell anything about archive sizes of a list. This is horribly for accounting.
So I thought if I can have a separate hyperkitty installation per user without having to duplicate the whole mailman. Alternatively, I'd like to enable archiving only for some customers that buy a suitable plan.
I did not really get into mailman plugins. Is is possible for plugins to hook into such settings? I could not really find examples for plugins.
regards, Bernd
Bernd Wurst writes:
Am 25.02.21 um 22:01 schrieb Mark Sapiro:
Normally a list admin can select which of the enabled archivers is active for that list via Postorius. To prevent this, you would have to modify Postorius. It would be easy enough to just remove settings from the relevant templates.
This will take effect for all lists at once, I suppose. :(
I'm not familiar with the content of Postorius's templates, but they support all of the Django features, so you can filter out the settings for specific lists. It would require code and database schema changes to make that configurable from Postorius, I think.
Hyperkitty has a rather cool frontend but stores all messages from all lists together in one database table. Additionally, neither Mailman nor Hyperkitty seems to know or tell anything about archive sizes of a list. This is horribly for accounting.
Mailman core doesn't know anything about archives except where you've told it to send them.
Historical note: I'm not saying it was a good idea, but the folks who designed HyperKitty were aiming at the Fedora use-case. There's a fair amount of cross-posting between Fedora lists, so I think this makes sense for them both from the indexing and from the storage point of view. I doubt they were thinking about the hosting perspective.
So I thought if I can have a separate hyperkitty installation per user without having to duplicate the whole mailman.
You could do that, but it requires a separate port or domain for each. If you're already aliasing a server (or a server farm) for virtual domains, then that's no problem.
Alternatively, I'd like to enable archiving only for some customers that buy a suitable plan.
I did not really get into mailman plugins.
I don't think anybody has gotten into them.
Is is possible for plugins to hook into such settings?
Since archiving involves getting the message from Mailman core, yes. Plugins can only deal with that end though. Everything else is controlled by the archiver itself.
Without a plugin, you could disable archiving somewhat easily by giving each list a different posting pipeline that doesn't have the 'to-archive' handler in it. This wouldn't stop the list admin from configuring, but ... there wouldn't be any archives there. I don't know if that deserves a smiley. :-/ Unfortunately this would be annoying because you'd have to go in and modify for each list.
With a plugin, Mailman core could refuse to configure a archive. However, stock Postorius wouldn't know anything about that. It would just see a "refused" response in the REST protocol, but without modifying Postorius, I suspect it would just log and display an error to the user. And without code changes Postorius can't provide a good UI for that.
Steve
participants (3)
-
Bernd Wurst
-
Mark Sapiro
-
Stephen J. Turnbull