[Python-Dev] Re: Switching to Discourse

2022-12-10 Thread Cameron Simpson
I'm presuming we're talking about ways to bidirectionally mirror between 
mailman and a Discourse forum.


On 10Dec2022 21:21, Stephen J. Turnbull  wrote:

Since Mailman (and its users!) expects messages to arrive
asynchronously and handles that using threading information, as far as
I can see the Mailman side is handled as well as it can be now that
Discourse provides threading information, and you just subscribe
Mailman to Discourse.


That would work for receiving Discourse posts into the Mailman mailing 
list.



And obviously we can just sign up Discourse to
Mailman.


Can we? If you're talking about posts from the mailing list appearing on 
Discourse, this isn't trivial.



The latter direction may be harder, depending on whether
Discourse can make sense of batches of messages being composed
independently of its message flow.


It (anecdotally, link lower down) looks like you can make a new Topic 
(thread) on Discourse if your user has a sufficient trust level 
(discourse users become more trusted over time). But the message author 
needs to be a Discourse user. So either all the individual mailman users 
need to be Discourse members _or_ the from address needs to be a 
list-wide id (eg the list submission address), but then the posts won't 
have the right author on the Discourse side.


None of that is easy to fix - mailing lists essentially just forward 
messages, with some gatewaying of what messages they allow inbound 
depending on the list. By contrast, Discourse posts have authors which 
must be Discourse users.



The fact that Discourse didn't
provide threading information to email users in the past suggest that
it has an alternative mechanism for organizing mail flows, and message
IDs and Reference headers from email may not be so easily integrated.


No, that stuff works ok now.

For new Topics (threads) this post:
https://discourse.gnome.org/t/email-use-of-discourse-how-to-start-a-new-thread/12324/4
sugggests that you can email to a specific category and I presume it 
would appear as a new Topic. I suspect any `In-Reply-To` or `References` 
would be ignored.


For replies, the email goes to a post-specific address which is used to 
stitch the message into an existing Topic discussion thread. The 
outgoing `In-Reply-To` and `References` headers are made on the fly when 
Discourse sends the post as email to whichever users are set up to 
receive an email copy. The source `Message-ID` is preserved.



I know nothing about Discourse internals, but I suspect that's going
to be the difficult part if there is one.  With a little luck that
will be no problem. ;-)


I know a little, but not a lot.

In short: copying the Discourse stuff to mailman could be done by 
subscribing the mailman list to the Discourse forum.  Letting 
_nonDiscourse_ users reply or post to Discourse is not trivial.


Cheers,
Cameron Simpson 
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/YKYJA7Z2K5ZHH546JMJGOFPYJA7UI3G5/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Switching to Discourse

2022-12-10 Thread Baptiste Carvello
Hi,

Le 10/12/2022 à 13:21, Stephen J. Turnbull a écrit :
> 
> as far as
> I can see the Mailman side is handled as well as it can be now that
> Discourse provides threading information, and you just subscribe
> Mailman to Discourse.
There is a small catch though: unless I'm mistaken, Discourse won't let
you subscribe to just a set of categories, so any filtering has to
happen on the Mailman side.

If we wanted an equivalent of python-list, we could just forgo the
filtering and pass on posts from all Discourse categories. But for
python-dev, the volume is too high, and existing python-dev subscribers
probably don't want a category like "Help".

Cheers,
Baptiste
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JHWMPCWFUHQDHQM7NEPJYV2JINM37UAJ/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Switching to Discourse

2022-12-10 Thread Stephen J. Turnbull
Ethan Furman writes:

 > It seems to me the best possible outcome of Discourse vs email is
 > somebody / some company donating the time and/or funding to improve
 > Discourse's and Mailman's abilities to interoperate with each
 > other.

There are fundamental differences between email's aysnchronous
message streams and Discourse's enforced single message stream.  These
can't be perfectly reconciled, despite how fast email can be nowadays.

Since Mailman (and its users!) expects messages to arrive
asynchronously and handles that using threading information, as far as
I can see the Mailman side is handled as well as it can be now that
Discourse provides threading information, and you just subscribe
Mailman to Discourse.  And obviously we can just sign up Discourse to
Mailman.  The latter direction may be harder, depending on whether
Discourse can make sense of batches of messages being composed
independently of its message flow.  The fact that Discourse didn't
provide threading information to email users in the past suggest that
it has an alternative mechanism for organizing mail flows, and message
IDs and Reference headers from email may not be so easily integrated.

I know nothing about Discourse internals, but I suspect that's going
to be the difficult part if there is one.  With a little luck that
will be no problem. ;-)

Steve

___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/3KS5YF7YQZ2M75KYGI34TMI7LAEE2ACM/
Code of Conduct: http://python.org/psf/codeofconduct/