On Tue, Jun 11, 2019, at 10:39 AM, Aaryan Bhagat wrote:
> >mailmanclient is completely separate from Mailman core. It provides a
> >set of Python bindings that are used by Postorius and HyperKitty to
> >communicate with core via core's REST API. Its mailing list subscribe
> >method is not core's subscribe method and its arguments are those
> >appropriate for Postorius
> 
> Yes, I understand, thanks for explaining, however:
> 
> But even when doing through mailmanclient bindings which are 
> appropriate for Postorious, it would not technically bypass creating 
> the "User" entity as the entity will be created when the account on 
> postorious will be created, or am I missing something here?
> _______________________________________________

Have you read this[1]?

[1]: 
https://mailman.readthedocs.io/en/latest/src/mailman/docs/architecture.html#user-model

In short, Postorius and Core are weakly linked today through email
address. You can just subscribe/unsubscribe/moderate/set preferences for
just an email.

User is an abstraction on a group of emails with a set of preferences. What
that gives you is ability to manage multiple emails together. So you can
set User level preferences and that is applied to emails (unless emails have
preferences too for overriding). 

When it comes to subscription, one can choose to subscribe either a
User or and Address object which results in a Member object with a Role.

This all happens in Core and lower level primitives are exposed in REST API
to subscribe an Address or a User.

Postorius does User management differently. It has it's own concept of what
a "User" is, which is loosely coupled with Core.  Postorius uses Django's user
model for account management. A user who has verified their email address
in Postorius can control the subscriptions for that address in Core.

For example, you sign up in Postorius with your email address, but you
already have a subscription with your email address in Core. They will show
up as soon as you sign in, even if it is the first time you are signing in. 

It is not *required* to create a "User" object associated with a Django user
until that user actually subscribes to a list. Although, we now use Django's
signals framework now to create a user in Core as soon as they sign
up in Postorius[2], code for that lives in Django-mailman3.

[2]: 
https://gitlab.com/mailman/django-mailman3/blob/master/django_mailman3/signals.py

Does that answer your questions?

-- 
  thanks,
  Abhilash Raj (maxking)
_______________________________________________
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9

Reply via email to