[Mailman-Developers] Re: GSoC for working professionals

2022-03-23 Thread Stephen J. Turnbull
Christopher writes:

 > The idea page mentioned a pubsub model, which to my understanding
 > it's to use an event queue where Core is the publisher, and
 > Postorious is the subscriber. Does this mean building a pubsub
 > model using some Python libraries?

I believe so, but I'm not familiar with them.  Again I have to defer
to Abhilash.  You might be able to catch him on #mailman @
libera.chat.  He's in PST time zone (-0700) and usually keeps a 9-5
workday, I think.

Steve

___
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


[Mailman-Developers] Re: GSoC for working professionals

2022-03-22 Thread Christopher
Hi Steve

Thanks for the confirmation on my eligibility and the explanation on the
REST callback problem.

May I know what sort of technology do you guys have in mind to build such a
REST callback? The idea page mentioned a pubsub model, which to my
understanding it's to use an event queue where Core is the publisher, and
Postorious is the subscriber. Does this mean building a pubsub model using
some Python libraries?

Thanks,
Chris

On Tue, Mar 22, 2022 at 3:58 PM Stephen J. Turnbull <
stephenjturnb...@gmail.com> wrote:

> Christopher writes:
>
>  > I am not a student, but I am working as a software engineer full
>  > time (10-6 on weekdays). I would like to start contributing to open
>  > source projects and stumbled upon GSoC which I thought it's a great
>  > opportunity to get started. If I am able to churn out 14.5 hours of
>  > work per week (by working on the weekends) across 12 weeks (summing
>  > up to 175 hours), do I stand a chance to be accepted as a GSoC
>  > participant?
>
> You stand a chance, yes.  I don't know if we have specific preference
> for students, I'll have to discuss it with Abhilash, but we're not
> going to rule you out because you're working already.  At present
> you're the only person who's expressed interest, too. :-)  (That
> doesn't mean nobody's downloading code and looking for easy patches,
> though.)
>
> In a later post you mention the "REST Callbacks" task.  I think that
> was Abhilash's idea, I'll see if I can get him to flesh it out a
> little.  But the basic idea is exactly as stated in the ideas page:
>
>Request   Request
> +--+  1  +---+  2  +--+
> |  |>|   |>|  |
> | User | | Postorius | | Core |
> |  |<|   |<|  |
> +--+  4  +---+  3  +--+
>   Response   Response
>
> So this means that, for example, Postorius can't present a real-time
> dashboard for moderators that shows whether a list has held posts that
> the moderator needs to check and approve or reject.  The system needs
> to start with a request at 1, pass it on to 2, then core responds at
> 3, and finally Postorius passes it back to the user at 4.  What we'd
> like to be able to do is register a callback with core so that when it
> receives and holds a post, it tells Postorius without needing a
> request, and then Postorius would update the dashboard.
>
> The dashboard (Postorius <--> User interaction) is not part of this
> project.  At present we don't have such a real-time interaction
> between Postorius and the user.  But for that to be most useful,
> rather than have Postorius continuously polling core with "are there
> held message? are there held messages? are there held messages? ...",
> we want to use such a callback mechanism.  The REST API callbacks are
> a first step in that direction.
>
> Steve
>
___
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


[Mailman-Developers] Re: GSoC for working professionals

2022-03-21 Thread Stephen J. Turnbull
Please note that the person who wrote this is not a core developer in
Mailman or participant in GSoC on the mentoring side.  That may change
if they volunteer, of course (you don't have to be a core dev to
mentor, although the final merge to the distribution mainline needs to
be by a core dev).

The official Mailman GSoC ideas page is at
https://wiki.list.org/DEV/Google%20Summer%20of%20Code%202022
Proposals there have been somewhat vetted for "size" and "difficulty".

Other than that, I don't have time right now to either endorse or
deprecate any of the suggestions in this post.  If you find them
interesting, feel free to discuss them.

Дилян Палаузов writes:
 > Hello Christopher,
 > 
 > the eligibility criteria by the sponsor are at
 > https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation
 > They do not seem to exclude your use case.
 > 
 > If you are willing to deliver results, I do not think that anybody is
 > going to prohibit you from participating in GSOC.
 > 
 > https://wiki.list.org/DEV/Google%20Summer%20of%20Code%202022 contains a
 > list of Mailman3-Ideas for GSOC.
 > 
 > In the meantime you can setup
 > mailman+mailmanclient+postorius+hyperkitty+mailman-
 > hyperkitty+django_mailman3 on your system.  There are different way to
 > get the setup.  You can also submit some trivial improvement, like
 > grammatical corrections of the documentation.
 > 
 > I personally installed mailman few weeks ago and have not deployed it
 > yet in production.
 > 
 > 
 > The MLM I use currently has a notion of Sub-List: all subscribers of a
 > mailing list A, are automatically subscribers of mailing list B, if B
 > is a sub-list of A.  Moreover, the subject-prefix all subscribers get
 > is the one of the mailing list A, when a mail is sent to A (and
 > received by B-subscribers).  One of the concerns migrating to mailman3
 > for me is the lack of this feature (or at least I have not found it
 > yet).
 > 
 > 
 > Some email providers offer “Feedback loop”.  That is, when a mail is
 > sent from your server to their server and a user clicks that mail
 > explicitly as spam, your server gets a notification (in “Abuse
 > Reporting Format”) and can unsubscribe the user from a mailing list,
 > when the ARF message contains the user, and the mailing list name.
 > 
 > For the closed-source MLM I use I have implemented the above
 > functionality and I would like to get it working for Mailman.  That
 > would be, upon receiving an ARF message, sending a POST-request to the
 > REST API, containing:
 > - the subscriber address
 > - the returned message
 > - the mailing list name
 > 
 > Then Mailman shall unsubscribe the address from the mailing list, and
 > send a (templated) message to the subscriber, telling her which email
 > message she has marked manually as spam, why she was unsubscribed and
 > how can she subscribe again).
 > 
 > 
 > Some email providers are more stubborn in sending the ARF-messages, as
 > they delete the address of the subscriber, but keep the original
 > Message-Id header.
 > 
 > So when an ARF-message is received from such providers, it shall be
 > possible to decode from the Message-Id the real recipient, and trigger
 > the un-subscription process for the decoded email address.  The
 > encoding of the ML-recipient in the Message-Id header is to my
 > knowledge currently not possible.
 > 
 > So one idea for GSOC is to extend mailman to handle ARF-messages (or
 > parts of it), which arrive over the REST-interface.
 > 
 > The rationale for the REST-interface is, that all ARF-messages for a
 > server are send to a single email address and the software handling
 > that address can decide, if it is a mailman-originating message and
 > forward it to mailman, otherwise handle it differently. (In fact, the
 > software could also redirect the message over LMTP to a special
 > address, but getting a message over LMTP of REST is almost the same
 > here).
 > 
 > Greetings
 >   Дилян
 > 
 > 
 > 
 > On Sun, 2022-03-20 at 15:20 +0800, Christopher wrote:
 > > Hi everyone
 > > 
 > > Nice to meet you all! I am interested in GSoC 2022 and I discovered
 > > that
 > > Mailman might be one of the interesting projects I would like to
 > > contribute
 > > to. However, I am not a student, but I am working as a software
 > > engineer
 > > full time (10-6 on weekdays). I would like to start contributing to
 > > open
 > > source projects and stumbled upon GSoC which I thought it's a great
 > > opportunity to get started. If I am able to churn out 14.5 hours of
 > > work
 > > per week (by working on the weekends) across 12 weeks (summing up to
 > > 175
 > > hours), do I stand a chance to be accepted as a GSoC participant?
 > > 
 > > Thanks,
 > > Christopher Chong
 > > ___
 > > Mailman-Developers mailing list -- mailman-developers@python.org
 > > To unsubscribe send an email to mailman-developers-le...@python.org
 > > 

[Mailman-Developers] Re: GSoC for working professionals

2022-03-21 Thread Christopher
Hi Дилян,

Thanks for your email and detailed explanation!

Kind regards,
Christopher Chong

On Mon, Mar 21, 2022 at 4:39 PM Дилян Палаузов 
wrote:

> Hello Christopher,
>
> the eligibility criteria by the sponsor are at
>
> https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation
> They do not seem to exclude your use case.
>
> If you are willing to deliver results, I do not think that anybody is
> going to prohibit you from participating in GSOC.
>
> https://wiki.list.org/DEV/Google%20Summer%20of%20Code%202022 contains a
> list of Mailman3-Ideas for GSOC.
>
> In the meantime you can setup
> mailman+mailmanclient+postorius+hyperkitty+mailman-
> hyperkitty+django_mailman3 on your system.  There are different way to
> get the setup.  You can also submit some trivial improvement, like
> grammatical corrections of the documentation.
>
> I personally installed mailman few weeks ago and have not deployed it
> yet in production.
>
>
> The MLM I use currently has a notion of Sub-List: all subscribers of a
> mailing list A, are automatically subscribers of mailing list B, if B
> is a sub-list of A.  Moreover, the subject-prefix all subscribers get
> is the one of the mailing list A, when a mail is sent to A (and
> received by B-subscribers).  One of the concerns migrating to mailman3
> for me is the lack of this feature (or at least I have not found it
> yet).
>
>
> Some email providers offer “Feedback loop”.  That is, when a mail is
> sent from your server to their server and a user clicks that mail
> explicitly as spam, your server gets a notification (in “Abuse
> Reporting Format”) and can unsubscribe the user from a mailing list,
> when the ARF message contains the user, and the mailing list name.
>
> For the closed-source MLM I use I have implemented the above
> functionality and I would like to get it working for Mailman.  That
> would be, upon receiving an ARF message, sending a POST-request to the
> REST API, containing:
> - the subscriber address
> - the returned message
> - the mailing list name
>
> Then Mailman shall unsubscribe the address from the mailing list, and
> send a (templated) message to the subscriber, telling her which email
> message she has marked manually as spam, why she was unsubscribed and
> how can she subscribe again).
>
>
> Some email providers are more stubborn in sending the ARF-messages, as
> they delete the address of the subscriber, but keep the original
> Message-Id header.
>
> So when an ARF-message is received from such providers, it shall be
> possible to decode from the Message-Id the real recipient, and trigger
> the un-subscription process for the decoded email address.  The
> encoding of the ML-recipient in the Message-Id header is to my
> knowledge currently not possible.
>
> So one idea for GSOC is to extend mailman to handle ARF-messages (or
> parts of it), which arrive over the REST-interface.
>
> The rationale for the REST-interface is, that all ARF-messages for a
> server are send to a single email address and the software handling
> that address can decide, if it is a mailman-originating message and
> forward it to mailman, otherwise handle it differently. (In fact, the
> software could also redirect the message over LMTP to a special
> address, but getting a message over LMTP of REST is almost the same
> here).
>
> Greetings
>   Дилян
>
>
>
> On Sun, 2022-03-20 at 15:20 +0800, Christopher wrote:
> > Hi everyone
> >
> > Nice to meet you all! I am interested in GSoC 2022 and I discovered
> > that
> > Mailman might be one of the interesting projects I would like to
> > contribute
> > to. However, I am not a student, but I am working as a software
> > engineer
> > full time (10-6 on weekdays). I would like to start contributing to
> > open
> > source projects and stumbled upon GSoC which I thought it's a great
> > opportunity to get started. If I am able to churn out 14.5 hours of
> > work
> > per week (by working on the weekends) across 12 weeks (summing up to
> > 175
> > hours), do I stand a chance to be accepted as a GSoC participant?
> >
> > Thanks,
> > Christopher Chong
> > ___
> > 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
>
> ___
> 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
>
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send 

[Mailman-Developers] Re: GSoC for working professionals

2022-03-21 Thread Дилян Палаузов
Hello Christopher,

the eligibility criteria by the sponsor are at
https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation
They do not seem to exclude your use case.

If you are willing to deliver results, I do not think that anybody is
going to prohibit you from participating in GSOC.

https://wiki.list.org/DEV/Google%20Summer%20of%20Code%202022 contains a
list of Mailman3-Ideas for GSOC.

In the meantime you can setup
mailman+mailmanclient+postorius+hyperkitty+mailman-
hyperkitty+django_mailman3 on your system.  There are different way to
get the setup.  You can also submit some trivial improvement, like
grammatical corrections of the documentation.

I personally installed mailman few weeks ago and have not deployed it
yet in production.


The MLM I use currently has a notion of Sub-List: all subscribers of a
mailing list A, are automatically subscribers of mailing list B, if B
is a sub-list of A.  Moreover, the subject-prefix all subscribers get
is the one of the mailing list A, when a mail is sent to A (and
received by B-subscribers).  One of the concerns migrating to mailman3
for me is the lack of this feature (or at least I have not found it
yet).


Some email providers offer “Feedback loop”.  That is, when a mail is
sent from your server to their server and a user clicks that mail
explicitly as spam, your server gets a notification (in “Abuse
Reporting Format”) and can unsubscribe the user from a mailing list,
when the ARF message contains the user, and the mailing list name.

For the closed-source MLM I use I have implemented the above
functionality and I would like to get it working for Mailman.  That
would be, upon receiving an ARF message, sending a POST-request to the
REST API, containing:
- the subscriber address
- the returned message
- the mailing list name

Then Mailman shall unsubscribe the address from the mailing list, and
send a (templated) message to the subscriber, telling her which email
message she has marked manually as spam, why she was unsubscribed and
how can she subscribe again).


Some email providers are more stubborn in sending the ARF-messages, as
they delete the address of the subscriber, but keep the original
Message-Id header.

So when an ARF-message is received from such providers, it shall be
possible to decode from the Message-Id the real recipient, and trigger
the un-subscription process for the decoded email address.  The
encoding of the ML-recipient in the Message-Id header is to my
knowledge currently not possible.

So one idea for GSOC is to extend mailman to handle ARF-messages (or
parts of it), which arrive over the REST-interface.

The rationale for the REST-interface is, that all ARF-messages for a
server are send to a single email address and the software handling
that address can decide, if it is a mailman-originating message and
forward it to mailman, otherwise handle it differently. (In fact, the
software could also redirect the message over LMTP to a special
address, but getting a message over LMTP of REST is almost the same
here).

Greetings
  Дилян



On Sun, 2022-03-20 at 15:20 +0800, Christopher wrote:
> Hi everyone
> 
> Nice to meet you all! I am interested in GSoC 2022 and I discovered
> that
> Mailman might be one of the interesting projects I would like to
> contribute
> to. However, I am not a student, but I am working as a software
> engineer
> full time (10-6 on weekdays). I would like to start contributing to
> open
> source projects and stumbled upon GSoC which I thought it's a great
> opportunity to get started. If I am able to churn out 14.5 hours of
> work
> per week (by working on the weekends) across 12 weeks (summing up to
> 175
> hours), do I stand a chance to be accepted as a GSoC participant?
> 
> Thanks,
> Christopher Chong
> ___
> 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

___
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