[Mailman-Developers] Postorius and verified email addresses

Barry Warsaw barry at list.org
Sun Apr 10 17:43:30 EDT 2016


On Apr 07, 2016, at 02:46 AM, Simon Hanna wrote:

>I don't mind the core being able to handle verfications. But I'm pretty sure
>everyone that offers a web interface for managing mailman will want the
>ability to confirm emails using http links.

Absolutely.  This is the focus of my "templates" branch.

In MM2 we had the advantage that the web ui and the core were tightly
integrated, but because they're separated in MM3, the core can't assume
anything about the web front-end.  At a high level, it will be possible to
define a custom template for all confirmation messages, and those templates
can be filled with whatever clickable confirmation link makes sense for
whatever web ui is in place.  I imagine that for a typical Postorius-fronted
installation, we'll have some standard templates and a simple config file that
will provide a minimal effort click-through-Postorius functionality.

>I don't see a reason why we should implement that in mailman, if it can
>easily be added in the front-end.

Right, the core will *not* provide such a clickable confirmation link.

>Doing this has one downside in my opinion. Storing the same addresses in
>several places (which isn't bad perse, as a matter of fact microservices
>encourage duplicating data and synchronizing it) would need
>synchronization. Ideally mailman would offer signals for various events that
>front-ends can hook in to. They would probably be similar to the hyperkitty
>archiver plugin I guess.

Yes.  While orthogonal to the templates work, the core has a fairly rich
ability to link internal events to external notifications.  We simply need to
define the API for calling back into Postorius (or whatever web front-end
needs notification), and then we can dispatch internal events to that API.
E.g. a webhook or similar.

Alternatively, Postorius can make queries of the core's REST API at whatever
decision point makes sense.

>Sorry but I have to disagree with that. Postorius _has_ to be able to send
>out mails.  In case any server errors occur, django tries to send out emails
>to administrators defined in the settings.

That's different though.  What I mean is that any list traffic, including to
list members, owners, and moderators, should only be sent by the core.  It's
different if a Django error occurs and it wants to send an email notification
to the Django administrator (although do also think about the Mailman site
owners).

>There is one more issue that needs to be discussed which is relevant to all
>templates: Translation.  Django has builtin methods to translate and through
>the browser's preferred language can choose one.  The core would require
>associating a language with each user in the settings.

We already do that.  Members, users, and addresses have preferences, and those
preferences have a preferred language.  When sending notifications, the core
will use the preferred language of the appropriate preference.  The core will
use gettext based translations, but when using a template, we have a mechanism
for looking up a template in a particular language.  If one is available,
we'll use that, if not we always fall back to the site language (which is
usually English) or the system language (i.e. shipped templates, always
English).

Whatever translation service we end up using should support translating both
gettext and templates, but ultimately it's up to the site administrator and
system administrators of whatever front-end is used, to provide the
appropriate translated templates.

>From a usability point of view I would like Postorius to be able to set all
>templates and not just link to files in mailman. There are a couple of
>businesses that manage thousands of lists and I guess they would appreciate
>it if list owners could do this without direct access to the mailman server.

The template system I'm working on does not require file system access to the
Mailman server machine.  It will work on any URL (my intention is to use
requests for the underlying fetch machinery, with a mailman: extension for
file system access for those sites that do want to use that).  The templates
don't even need to reside in Postorius.

Cheers,
-Barry


More information about the Mailman-Developers mailing list