Je suis en train de mettre en place une synchronisation bidirectionnelle avec Mailman. Cette communauté estime que se débarrasser de Mailman n’est pas une option, et elle souhaite que les utilisateurs de Mailman continuent à n’utiliser que Mailman tout en pouvant interagir avec les utilisateurs de Discourse participant à une seule catégorie.
Pendant un court moment, il a semblé possible de s’abonner à l’adresse de catégorie Mailman via la liste, d’activer l’option « la catégorie reflète une liste de diffusion », puis d’ajouter un utilisateur Discourse avec l’adresse de la liste Mailman qui surveille la catégorie. Cela aurait presque fonctionné.
Ma principale préoccupation concernait les boucles de courriels. J’ai pensé que, lors de mon premier test, tout se passait très bien et que le seul problème était que les membres de la liste de diffusion pouvaient se désabonner de la surveillance de la catégorie Discourse par la liste Mailman. J’ai écrit un plugin pour supprimer les liens de désabonnement et j’ai cru que nous étions sauvés. Mais c’était une erreur.
Le problème majeur, à mon avis, est le suivant : lorsqu’un message provenant de Discourse est envoyé à la liste, un utilisateur qui répond à ce message répond directement à Discourse. Dans ce cas, le message est rejeté car cet utilisateur n’est pas l’utilisateur Discourse qui s’est abonné à la liste. Je ne suis pas sûr qu’il existe une solution à ce problème. Peut-être pourrais-je surcharger le code qui effectue cette vérification et, si l’expéditeur a une adresse différente de celle attendue, le traiter comme n’importe quel autre utilisateur en attente ? Dans ce cas, le seul problème restant serait que des personnes qui cliquent sur « répondre » en pensant envoyer à un utilisateur unique envoient en réalité à la liste.
MAIS l’autre problème, que je pense plus difficile à résoudre, est le suivant : si un utilisateur Mailman répond via Mailman (plutôt qu’à l’adresse de réponse discutée précédemment), le message arrive à Discourse via Mailman, et Discourse le traite comme un nouveau sujet. Je ne vois pas comment résoudre cela (car le sujet accumule de plus en plus de chaînes [blah] ajoutées par Mailman et Discourse). Mais peut-être que résoudre uniquement le problème de réponse suffira.
Avez-vous d’autres idées ?