[Mailman-Developers] Re: GSoC for working professionals
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
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
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
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
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