Open janno42 opened 10 years ago
Using Mailman and providing basic UI on 1327 for standard users.
Greetings from a pandemic future!
In 2021 some @Paula-Kli and @MerlindlH took up this long-lasting issue and wrote down some basic requirements of a lists2.myhpi.de
(copied from Slack, will translate when I find time):
Furthermore, these optional requirements where defined:
For backwards-compatibility with the existing solution, these points were made:
Comparing (legacy) eemaill and the current favorite software (Mailman3), we found that mailman's feature set is almost a superset of eemaill's features. So, with minor tweaks mailman can be configured to emulated the desired behavior.
This (incomplete table) lists found distinctions and diverging default settings.
Feature | eemaill | Mailman3 + Postorius |
---|---|---|
Who are members? | address-oriented | account-oriented |
Who can create lists | everyone | mailman (super?) users |
List creators verified | No | Yes |
Lists identified by | random number | list_id / fqdn |
Admin authorized by | link knowledge | login + correct role |
Existing roles | member, non-member | owner, moderator, member, non-member |
Admin must be member of list? | No (joined on creation) | No |
Own membership status visible? | No (only toggle) | Yes |
Un/Subscriptions by | web form (no account) | web form (with account) / emails |
Action Confirmations by | Visiting a link | Sending an e-mail |
Address verifications by | Is confirmation action | Visiting a link when creating user |
Welcome/Goodbye-Messages | No | Configurable (mandatory goodbye<3.3.3) |
Subject prefix | [listname] (hardcoded) |
[Listname] (can be changed) |
Templates (footer/welcome mail) | Same for all lists | per list (set by admins) |
Does Moderation exist? | No | Yes (dedicated role) |
Can admins deny joining | No | Yes |
Member posting modes | allow, reject | allow, reject, discard, moderate |
Non-Member posting modes | allow, reject | allow, reject, discard, moderate |
Memberlist on admin view | One long list | paginated list |
Re-request a pending action | both accepted | second fails |
Default action time-out | 7d (hardcoded) | 3d (per list setting) |
Available lists advertised | No | Yes (opt-out) |
Your memberships listed | No | Yes (per role, paginated) |
Own Membership on a list | Not disclosed (toggle) | Visible |
Munging on already set Reply-To | No Munging (bug?) | Retains Reply-To, adds list address |
I wrote up a small wrapper around mailmanclient
(official REST client) to nudge mailman towards an eemaill-like experience: https://github.com/tzwenn/tenca
Here is a flask-based web UI: https://github.com/tzwenn/tenca-webui
Just fooling around to find out how stuff works and discover corner cases. Specifically written with Flask, to let you rethink design-decisions when porting to 1327.
Might be valuable to check out the django-wrapper around the REST API. Nope, it's not for our case. The actual models are defined in Postorius, wrapping mailman client.
See PR #770
What's your take on "superuser" list management? Should the lists be editable in the admin view?
One simple implementation is to list all management sites on django's admin page and add a mass-subscription form. How does the workflow of adding first semester students look to 1327 like right now?
The page could hold the student's email lists administration (
lists.myhpi
).