Comment engager au mieux Discourse pour un plus grand magazine WordPress ?

Salut. Salut,
Je dirige un grand magazine en ligne axé sur la technologie, https://www.svetandroida.cz/, et nous avons essayé par le passé d’offrir plusieurs options communautaires (notifications, avis d’utilisateurs, karma, etc.) à nos utilisateurs. Mais WordPress ne prend pas en charge ces fonctionnalités nativement, et les solutions tierces rencontrent toujours des problèmes après un certain temps.

C’est pourquoi nous avons décidé de conserver WordPress uniquement pour la fonctionnalité de magazine, qui affichera simplement le contenu. Aussi rapidement et proprement que possible. Et de déplacer complètement tout ce qui concerne la communauté des utilisateurs vers Discourse, qui gère ce travail beaucoup mieux.

Cette configuration me semble absolument idéale. Mais cela fait environ 13 ans que nous gérons le magazine, et pendant ce temps, nous avons eu des centaines de milliers de commentaires et des dizaines de milliers d’utilisateurs enregistrés. J’aimerais connaître votre avis sur la manière de rendre l’intégration de Discourse la plus élégante et, du point de vue des utilisateurs, la plus efficace ?

Faits :

  • Le magazine sur WordPress est disponible ici https://www.svetandroida.cz/
  • Nous gérons la communauté Discourse ici https://komunita.svetandroida.cz/
  • nous voulons utiliser Discourse pour gérer les comptes d’utilisateurs, nous trouvons cela mieux
  • nous publions environ 5 à 15 articles chaque jour
  • nous avons des dizaines de milliers d’articles (et nous en avons déjà supprimé beaucoup :slight_smile:
  • les utilisateurs qui commentent activement sont de quelques dizaines à quelques centaines
  • Nous avons installé le plugin WordPress pour Discourse et tout semble fonctionner correctement, la seule chose que nous n’avons pas encore configurée est le SSO
    • les articles que nous publions sur le magazine WordPress sont automatiquement publiés sur Discourse en tant que cachés

Que dois-je aborder et comment dois-je l’aborder ? Pouvez-vous penser à une meilleure solution ?

Connexion utilisateur
En utilisant les plugins WordPress, je vais configurer le client DiscourseConnect et j’espère que cela ne cassera pas ou ne bloquera pas l’accès à mes éditeurs :). J’espère que non. Je plaisante, mais il est vrai que c’est à peu près le seul point sur lequel, même après avoir lu attentivement les discussions, je ne suis toujours pas sûr à 100 %.

J’espère que si un utilisateur souhaite se connecter au site du magazine WordPress (il a déjà un compte WordPress), un compte sera automatiquement créé pour lui dans Discourse également.

Si par hasard cela ne se produit pas, il est probablement acceptable pour moi de demander à ces quelques dizaines d’utilisateurs d’oublier leurs comptes d’utilisateurs WordPress existants et d’en créer de nouveaux dans Discourse.

Commentaires sur le sujet des articles
Actuellement, je n’ai pas trouvé de moyen élégant de transférer les commentaires de nos utilisateurs déjà publiés dans WordPress vers le Discourse nouvellement lancé. Si je me trompe, veuillez m’orienter.

Par conséquent, les commentaires déjà publiés resteront dans WordPress et tout nouveau commentaire sera publié dans Discourse.

Nous ne transférerons pas les commentaires publiés sur Discourse vers les articles WordPress, mais nous placerons uniquement un lien sous chaque article WordPress qui pointera vers Discourse (pour cet article Discourse particulier).

De la manière dont nous avons les choses actuellement, tous les articles publiés sont transférés vers Discourse en tant que cachés et ne deviennent visibles que lorsque quelqu’un y ajoute un nouveau commentaire dans Discourse. Cette solution n’est pas mauvaise, mais dans notre cas, cela signifie que moi, en tant qu’administrateur, je verrai des milliers de fils de discussion cachés dans Discourse :(.

N’y a-t-il pas un moyen plus élégant de résoudre ce problème ? Par exemple, qu’un article WordPress ne soit pas transféré vers Discourse en tant que caché après publication, mais qu’un fil de discussion Discourse soit créé uniquement lorsque quelqu’un clique sur le lien sous l’article WordPress et ajoute un commentaire ?

De cette façon, il n’y aurait pas des milliers de fils de discussion invisibles sur le forum.

Et si cela devait être absolument parfait, alors via un « lien magique » depuis WordPress, le fil de discussion Discourse ne serait créé que temporairement, et si par hasard aucun commentaire n’était ajouté et que l’utilisateur changeait d’avis/partait, le fil serait supprimé après un certain temps.

Merci d’avoir lu jusqu’ici (j’envoie une image IA en récompense) et j’attends avec impatience vos idées et réflexions.

2 « J'aime »

La fonctionnalité client de DiscourseConnect fonctionne de manière similaire aux autres formes de connexion sociale. Par exemple, c’est similaire à la connexion à WordPress via Facebook, mais avec votre site Discourse comme fournisseur d’authentification au lieu de Facebook. Cela signifie qu’avant que les utilisateurs puissent se connecter à votre site WordPress avec DiscourseConnect, ils devront créer un compte sur votre site Discourse. Ne pas créer de compte Discourse n’empêchera cependant aucun utilisateur de se connecter à votre site WordPress. Lorsque le site WordPress est le client DiscourseConnect, la connexion normale nom d’utilisateur/mot de passe sur WordPress est toujours disponible.

Étant donné que vous avez beaucoup d’utilisateurs habitués à se connecter à votre site WordPress, il pourrait être intéressant d’utiliser votre site WordPress comme fournisseur DiscourseConnect pour votre site Discourse. Si vous configurez les choses de cette façon, tous vos utilisateurs existants pourront facilement se connecter à votre nouveau site Discourse. Tout ce qu’ils auront à faire est de cliquer sur un lien sur votre site WordPress. Les détails sur la façon de construire un lien pour ce faire sont ici : Créer un lien de connexion DiscourseConnect.

Il semble que vous souhaitiez déplacer complètement l’aspect social de votre site de WordPress vers Discourse, donc peut-être que ce serait une raison de ne pas utiliser votre site WordPress comme fournisseur DiscourseConnect. Ma préoccupation est que le fait d’exiger des utilisateurs qu’ils créent de nouveaux comptes sur Discourse, au lieu de simplement se connecter à leur compte WordPress et de cliquer sur un lien pour accéder au forum, pourrait dissuader certains utilisateurs de rejoindre le nouveau site.

La principale chose à savoir si vous utilisez WordPress comme fournisseur DiscourseConnect est que, lorsque les choses sont configurées de cette façon, cela devient la seule méthode de connexion pour Discourse. Cela signifie que vous ne pouvez pas avoir certains utilisateurs se connectant à Discourse via WordPress et d’autres utilisateurs se connectant à Discourse en enregistrant des comptes avec un nom d’utilisateur/mot de passe sur le site Discourse. Tous les utilisateurs devront avoir des comptes sur WordPress pour accéder au site Discourse.

Faites-moi savoir si la distinction entre l’utilisation de WordPress comme client DiscourseConnect et comme fournisseur DiscourseConnect n’est pas claire pour vous.

C’est techniquement possible, mais je ne pense pas qu’il existe une méthode bien testée pour le faire. Il se peut que d’autres membres de cette communauté aient des idées sur la façon de l’aborder.

C’est peut-être possible. J’ai le sentiment que cela pourrait entraîner des problèmes.

Sur votre site Discourse, vous pouvez filtrer les sujets non répertoriés en ajoutant la chaîne de requête suivante à une URL : ?status=listed. Par exemple \u003chttps://meta.discourse.org/latest?status=listed\u003e. Il existe un composant de thème existant qui peut être utilisé pour basculer entre la visualisation des sujets “ouverts” et “fermés” : Topic Status Filter. S’il n’existe pas déjà, il serait assez facile pour quelqu’un d’ajouter des statuts “répertorié” et “non répertorié” à ce filtre. Mais je suppose que dans ce cas, vous ne voudriez que le filtre soit visible par le personnel.

Cela pourrait être réalisé depuis WordPress avec une requête API gérée par une tâche cron.

6 « J'aime »

Merci pour votre temps et votre réponse.
Concernant DiscourseConnect, c’est déjà clair pour moi, merci pour l’explication détaillée. Mettons donc en place DiscourseConnect dans WordPress en tant que client.

Les anciens commentaires n’ajoutent probablement pas assez de valeur pour que cela vaille la peine de les transférer de WordPress à Discourse.

Mais ces discussions basées sur des articles publiés me trottent toujours dans la tête :). Le filtre est en effet une solution pour que l’administrateur ne voie pas les fils “cachés”, mais je n’arrive pas à abandonner l’idée qu’il pourrait y avoir une autre façon.
Vous avez mentionné que cela pourrait entraîner des problèmes, serait-il possible de lister certains états problématiques qui vous inquiètent s’il vous plaît ?
Avec l’API, c’est probablement une solution, mais comme nous ne sommes pas programmeurs, je n’arrive pas bien à imaginer comment cela fonctionnerait.

La façon dont j’imagine que cela fonctionne, c’est que lorsqu’un utilisateur clique sur un lien vers le sujet Discourse (pas encore publié), une fonction serait déclenchée dans le back-end de WordPress pour publier le message sur Discourse. Le déclenchement de la publication du message sur Discourse lorsqu’un utilisateur clique sur un lien est réalisable.

Les problèmes que j’imagine :

  • vers quoi pointe le lien si le message n’a pas encore été publié ? Nous ne connaissons pas l’URL du sujet sur Discourse avant que le sujet ne soit publié. Il faudrait développer quelque chose pour que, lorsque l’utilisateur clique sur le lien, le sujet soit publié en arrière-plan, puis, en fonction de la réponse reçue de Discourse, l’utilisateur soit redirigé vers le sujet Discourse.

  • Je ne suis pas sûr de ce qui se passerait si votre site était très fréquenté et que de nombreux utilisateurs cliquaient simultanément sur des liens déclenchant la publication de sujets Discourse. Cela irait probablement bien, mais cela semble risqué.

Modification : une façon de résoudre le premier problème serait simplement d’informer l’utilisateur de ce qui se passe et d’afficher un message « veuillez patienter pendant que nous publions le sujet ». Une fois le sujet publié, un lien vers le sujet pourrait être généré et l’utilisateur pourrait être invité à cliquer dessus. Le processus pourrait prendre quelques secondes.

2 « J'aime »

Ainsi, le tout pourrait s’adapter à un petit javascript qui placerait un lien normal pour engager la discussion sous l’article sur un site WordPress. D’abord, le javascript appellerait une fonction (créer un fil de discussion sur Discourse, ce que le plugin WP fait déjà) et montrerait à l’utilisateur qu’un fil de discussion est en cours de création, et lorsque le javascript obtiendrait les informations de Discourse que le fil de discussion est créé, il redirigerait l’utilisateur vers le fil de discussion des commentaires sur Discourse.

Est-ce que c’est juste, ou est-ce que je l’imagine trop simplement ? :slight_smile:

Ce serait plus simple de ne pas rediriger automatiquement l’utilisateur, mais oui, ce que vous avez décrit est correct. Une fois que l’utilisateur clique sur le lien pour générer le sujet, le script ferait des requêtes périodiques pour obtenir l’URL du sujet du serveur WordPress. Une fois qu’il aurait l’URL, il redirigerait l’utilisateur vers le sujet Discourse.

2 « J'aime »