J’ai à plusieurs reprises ces dernières années utilisé discourse en mode liste de diffusion (1, 2).
Dans le cas le plus simple, un·e utilisateur·rice se fait un compte, marque une catégorie qu’elle souhaite suivre, change ses préférences pour passer en mode « liste de diffusion » et n’intéragit ensuite que par courriel et pas du tout par l’interface web.
Dans un cas un peu moins typique, une catégorie est associée à un courriel (par exemple macategorie@forum.net) et les courriels addressés à macategorie@forum.net permettent la création d’un nouveau fil de discussion. Si une personne participe à la discussion, son courriel sera connu de discourse et elle retrouvera ses posts dans les archives après s’être créée un compte.
Du coup j’ai souvent pensé que ça pouvait permettre de migrer des listes de diffusion qui se trouvent hébergées sous sympa ou mailman. Mais je ne l’ai jamais tenté l’aventure et je suis à la recherche de gens qui auraient déjà fait ce chemin.
Les questions que je me pose en particulier sont:
Le mode digest (activity summary) est possible mais assez différent dans discourse
Est-ce que la délégation de gestion d’un groupe sur une catégorie permet effectivement de gérer l’équivalent de la liste des membres d’une liste ?
Une liste (c’est à dire un groupe et une catégorie) qui aurait 300,000 membres ne fait-elle pas exploser certaines limites de discourse (meta a 43k users et environ 1 million sur hosted ) ? Update: essai concluant d’ajout de 450,000 utilisateurs
peut-on utiliser discourse pour l’envoi d’une newsletter ? Le plus proche que j’ai trouvé est la catégorie annonces de k8s. Et un sujet ou il est question de newsletter mais les auteurs font référence à la fonctionalité activity summary qui est une sorte de digest et pas une newsletter. En tout cas il n’est pas possible de contrôler le contenu des courriels envoyés aux utilisateurs ce qui exclu l’idée d’une newsletter HTML, par exemple.
En dehors de ça je ne vois pas ce qui manquerait à discourse en terme de fonctionalités (par exemple afficher publiquement les emails des abonnés n’est pas possible mais je ne suis pas certain que ce soit de toute façon une excellente idée…).
Chez ARN on a migré de mailman2 à discourse. Ca n’a pas été simple.
Les questions que tu dois tester:
Est-ce que quelqu’un de non inscrit peut écrire à la liste ?
Si oui est-ce que les réponses arriveront bien dans la boite mail de cette personne non inscrite ?
Que ce passe t’il si quelqu’un écrit à plusieurs listes en même temps ?
De notre côté, on avait commencé à faire des catégories privées avec des emails associés, mais on a dû migrer vers les messages privées de groupes.
Pour l’import des utilisateurs, nous n’avions pas de nom d’utilisateurs pour les participant⋅es on a donc générer des pseudos avec des noms d’animaux. Je ne m’en suis pas occupé, c’est Gyom chez nous qui l’a fait, il doit y avoir un topic dans le forum arn au sujet de discourse.
Tu te souviens quel script vous avez utilisé pour importer les utilisateurs ? En particulier pour savoir à quelle liste ils sont abonnés et activer le suivi des catégories correspondantes en fonction. Par exemple si une utilisatrice est abonnée à une liste en mode « je ne veux rien recevoir » il ne faut pas qu’elle soit en mode « suivi » sur la catégorie discourse correspondante.
Je vais lacher le sujet sur ces conclusions, pour archive:
faire une infolettre avec discourse c’est pas possible, pas fait pour (il faut https://phplist.org ou https://mailtrain.org/ mais aucun des deux n’est vraiment formidable)
l’import de la base utilisateur de mailman doit être faite à la main, il n’y a pas quelque chose de tout prêt
l’import des courriels au format mbox est supporté nativement et ça fonctionne bien
discourse tient sans problème des centaines de milliers d’utilisateurs et des centaines de millers de messages sur une petite machine (4GB ram, 2 coeurs)
Du coup je penche plutôt pour une migration vers mailman3. Moins confort coté utilisateur mais moins rugueux que mailman2.
L’expérience de migration vers mailman3 n’ayant pas aboutit, je reprends la migration vers discourse. Il s’agit donc, en plus de l’import des mbox, d’importer les utilisateurs·rices, de les activer et de faire en sorte qu’ils et elles recoivent les courriels de la catégorie associée à une liste de diffusion, si c’est ce qui avait été configuré dans mailman2.
Le script pour injecter les utilisateurs est dans un dépôt git. Il y a probablement des choses à piocher mais c’est du hack pour l’essentiel: aucune ambition d’en faire quelque chose de réutilisable.ie du script n’est pas transposable dans un autre environnent. La partie concernant la création des utilisateurs via l’API discourse peut cependant être utile.
Certains courriels sont ont des entêtes très incomplets (pas de To:, pas de Content-Type: multipart/alternative; boundary="…" alors qu’il y a des attachements, pas de Content-Type: text/plain; charset=« iso-8859-1 », pas de Content-Transfer-Encoding: quoted-printable). Et dans ce cas l’import n’échoue pas mais le résultat est forcément un peu décevant, voir assez illisible. Je ne vois pas bien comment améliorer la situation, sauf a trouver un réparateur d’entêtes qui devine de choses.
Il ne semble pas possible de modifier le niveau de notification d’un fil de discussion en tant qu’administrateur. Il faut être l’utilisateur pour avoir accès à ce endpoint de l’API. Le endpoint pour les notifications d’une catégorie n’est pas documenté mais en reverse engineer on voit qu’il a la forme /category/{id}/notifications et prend en paramètre unique notification_level qui est un entier de 0 à 3, donc sémantique identique.