[ixpmanager] Mailing List Setup

Rob Lister rob at lonap.net
Fri Feb 25 12:17:39 GMT 2022


Hi Paul, 

It only appears to the logged in user when they do "My Account ->
Profile" and 
they can subscribe/unsubscribe there.

This was a very early feature in IXPM, and it's awkward, mainly because 
Mailman 2.x has no real sync ability or external API and therefore quite
limited
to use external data sources. I do not recommend using this feature
as-is. :(

I found this option for IXPM caused more problems than it solved and 
occasionally just broke, so I eventually had to switch this feature off
and 
manually maintained the Mailman lists.

https://github.com/inex/IXP-Manager/issues/22 

- If a user changed their email address, old address is not removed from
the list.
- If a user was deleted, they are not removed from the list.

Also as it's stored in the user account, there are a few downsides:

- A user account is required.
- User can't have different or multiple email address subscribed to the
list.
- Not so obvious what's going on, e.g. you can't see it in "Users ->
Edit" as a user,
  and then IXPM doesn't allow the user to change the email address.
- It only appears in My Account -> Profile where it can be changed but
then doesn't
  always work.
- IXP Admins can't see list subs easily without switching to each user
and viewing the profile.
- Custadmins can't manage list subscriptions for other users/multiple
addresses. 

We also did not want people using the Mailman interface, but for
subscriptions to be
managed via IXP Manager. We require at least one contact per member to
be subscribed to
the list. Although I hacked mailman it so that the "Name" in mailman is
the AS number, 
it was fiddly.

I believe INEX does both, i.e. subscriptions can be manually added via
Mailman but also via
IXP Manager for some lists, and this is the reason it works the way it
does. 

We recently had to revisit this, as we are redoing our mail server setup
anyway. 

With Python 2.6 being replaced with Python3, getting harder to maintain
things
like Mailman2.x which has some scripts that work only on Python2.x, and
Mailman2,
although still maintained, is no longer in Debian packages for the
latest Debian
'bullseye'.

I tried Mailman3, but this seems to have become a monster and split up
into many 
separate components. I tested it, but when 4G of RAM wasn't enough and
it kept crashing 
the VM with OOM for a small (~20 subscriber) list, I gave up and decided
it wasn't ready 
for production. Also several features in Mailman2 were not yet in
Mailman3, 
or didn't work properly.

We recently migrated from Mailman to Sympa, as it's basically the only
practical 
alternative to Mailman. A lot of the big universities seem to have
switched from
Mailman2 to Sympa having found the alternatives unsatisfactory.

It took some time and testing to get the settings for the lists correct
(e.g. moderation etc.) but it works very well.

I created contact groups in IXP Manager for each mailing list. These
show up as 
"Roles" users can set what they want. (Or you can set your own group
type 
so it's hidden from the user.)

I wrote a one-off migration script to export the lists from Mailman and
import 
them all as contacts to IXP Manager, creating any missing contacts,
and/or 
setting the appropriate contact groups.

Sympa allows to sync subscribers from multiple data sources, including
MySQL. 
I made a view in MySQL so that Sympa can extract a list of email
addresses 
from IXP Manager for each list based on contact groups.

It is possible for subscriptions to exist in Sympa or IXP Manager,
(i.e, subscriptions _can_ exist in Sympa only, independently of IXP
Manager, or even 
other data sources e.g. text files or another list) although we made a
decision not 
to do this, but to manage external lists only from IXP Manager. 

In our case, external users don't ever login to Sympa's web interface.

Sympa has a concept of "Exclusions" where, for example, a user has
unsubscribed
via Sympa but also appears in a data source, it will ignore it and not
keep 
re-subscribing them.

Some users want to be subscribed as "Post only" and this is settable in
Sympa, 
however, to keep things simple, I just made another (closed) list in
Sympa, but 
subscribers of that list are allowed to post to the main list. Then it's
just another
tickbox/Contact Group in IXP Manager and a rule in Sympa.

Having the lists as contact groups in IXP Manager is very useful as it
allows me to 
easily find any members who do not have anyone subscribed to the mailing
list. 

As well as the lists, we sometimes email contacts directly for certain
things, for example 
formal notices, meetings and events, based on contact groups (or they
can opt out 
of some or all types of communications.) These emails have a token-based
URL 
which allows contacts to set their preferences, and that now includes
the mailing lists.
I updated our existing "Contact Preferences" tool to work with it too,
as it's just 
another contact group.

Feel free to email me off-list if you would like any more details on our
Sympa setup 
/ config etc. 

Rob

On 2022-02-24 19:11, Paul Emmons via ixpmanager wrote:

> I'm a little lost here.  We didn't have the mailinglist integration on our v5 setup.  I've "Successfully"  updated to 6.2.   
> 
> I've got an existing mailman 2.1.x on another box and am comfortably with api /etc. Going thru the docs I'm confused with: 
> 
> After Steps 1 -3 in Configuring Available Mailing Lists, where does the user select, or see, which lists they want to subscribe/ unsubscribe? 
> 
> If I continue on and run the API  I am not getting any data back as there doesn't appear to be a  https://portal.ninja-ix.net/api/v4/mailing-list/init/members file. 
> 
> Thanks for any hints. 
> _______________________________________________
> INEX IXP Manager mailing list
> ixpmanager at inex.ie
> Unsubscribe or change options here: https://www.inex.ie/mailman/listinfo/ixpmanager

-- 
Rob Lister
rob at lonap.net
+44 20 3137 8330
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.inex.ie/pipermail/ixpmanager/attachments/20220225/98cdb591/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mailprefs.gif
Type: image/gif
Size: 128055 bytes
Desc: not available
URL: <https://www.inex.ie/pipermail/ixpmanager/attachments/20220225/98cdb591/attachment-0001.gif>


More information about the ixpmanager mailing list