[Mailman-Developers] Django-allauth branch

Aurelien Bompard aurelien at bompard.org
Tue Aug 16 05:52:39 EDT 2016


Hi folks!

As you probably know, Mozilla Persona is going away very soon, and we had
plans to migrate our web authentication to the django-allauth library so we
could support local accounts properly. These last weeks I've been working
on that and my work is almost complete.

I've done some preliminary tests in situ and I'd like to add more unit
tests, but I think the branch can be merged now so you guys can take it
into account when you write merge requests.
It's quite a big change: it introduces a new python package,
django-mailman3, in order to share code between HyperKitty and Postorius.
The Allauth library handles all the login and signup workflow, including
the verification of emails, it handles the login using social account
providers but it can also add those accounts to existing Django users, etc.
It's pretty neat.

I've also used its email verification system to replace Postorius' internal
verification workflow. Django-allauth supports multiple email addresses per
user with a verified flag, so I've setup some signal handlers to sync them
with Mailman's users and addresses. It will make things much easier for us.
A big part of the job was also to adapt the templates to our design.

The creation of django_mailman3 was also the opportunity to share more code
between HyperKitty and Postorius (there was already some duplicated code)
and work on the integration. I'm pretty happy with the result.

It's a pretty big change but we need to move away from Persona before it's
taken down and obviously before 3.1, so I think it's neccessary, and better
to have it sooner rather than later.
If there's no strong opposition I'll merge the branches later today or
tomorrow.

Cheers!
Aurélien


More information about the Mailman-Developers mailing list