On 2/29/20 10:35 AM, tlhackque via Mailman-users wrote:
On 28-Feb-20 16:46, Alan Kelm wrote:
Since 2005, our organization has been running a customized version of Mailman 2 with extensions that meet our particular needs. The main novelty is support for /fixed subscription lists/, in which the list members are predetermined (corresponding to a "committee"). Fixed list subscribers are not offered the opportunity to unsubscribe, nor can others add themselves to the list. A further enhancement is /hybrid lists/ which, for example, have both a fixed and opt-in part. (This is implemented as a fixed list residing within an opt-in one in a way which is transparent to users). Our customizations consist of code adjustments (patches) to 23 files. FWIW: When I had similar requirements (MM2), I found it most convenient to populate the "fixed" list with a distribution list name. The distribution list was sourced from an LDAP group. That allowed the distribution to be populated based on job title, reporting relationship, committee membership - whatever.
On the Mailman side, it's only one member (the distribution list) that had special treatment. Opt-in would be moderator approval, as was unsubscribe.
But the moderator only had to remember the one "can't unsubscribe" name.
That, or a variant might work for you - and probably can be done modifying fewer files... In minimal form, if you don't want to rely on a human, it seems like the minimal implementation is a "can't unsubscribe" bit for users and an admin interface to set it. You could also cause that user to have a different "language" - e.g. en-ZZ; then adjust the templates for that "language" to remove references to "unsubscribe". That's not functionally necessary - but prettier.
Thank you for explaining the approach which you took for making a hybrid list with both opt-in and "fixed" components. Including the address of the fixed distribution list as a single subscriber within the opt-in list sounds completely analogous to what we did. Our mechanism for identifying a fixed list was essentially a "can't unsubscribe" bit as you describe. Rather than using a separate language template without unsubscribe links for fixed lists, we did some coding to suppress that portion of the template for fixed lists.
It certainly is nice that Mailman comes with source code and plenty of configuration options, so that special needs like this can be accommodated.
--