Ne pas générer automatiquement de sujet pour tous les articles de blog

Salut, y a-t-il un moyen d’éviter la création automatique d’un sujet pour chaque article de blog publié sur notre site, tout en conservant la section de discussion ?

Je pense qu’il serait plus logique de générer un sujet automatiquement dès qu’un commentaire est publié sur un article de blog. Actuellement, la logique veut que le sujet existe avant que les gens puissent commenter.

Merci d’avance !

Est-ce la même chose que vous souhaitez faire ?

Si c’est le cas, consultez :

Merci pour votre réponse. Oui, je souhaitais déclencher un post sur Discourse uniquement sous certaines conditions.

Cependant, notre site web n’est pas construit avec WordPress. Il est construit avec Hugo.

Y a-t-il quelque chose que nous puissions faire pour y parvenir ?

Pour être clair, nous n’utilisons aucun système de commentaires autre que Discourse. Ce que nous souhaitons donc, c’est créer un sujet uniquement lorsqu’il y a réellement un commentaire sur un article, plutôt qu’une multitude de sujets vides sur Discourse comme ci-dessous :

Est-ce que je me suis bien fait comprendre ?

Existe-t-il un paramètre pour cela ?

Pas vraiment… Comment sont censés répondre les utilisateurs à un sujet s’il n’est pas déjà publié quelque part ? Chaque sujet doit commencer par 0 réponse. Je suppose qu’il m’échappe quelque chose ici :thinking:

Je pense que ce que vous souhaitez, c’est que tous les sujets importés vers Discourse depuis votre site web soient marqués comme non répertoriés. Lorsqu’un sujet reçoit un commentaire, il serait automatiquement marqué comme répertorié. Les sujets non répertoriés n’apparaissent pas dans la liste des sujets, ce qui empêcherait la liste des sujets de votre site d’être remplie de sujets sans réponse.

Ce type de configuration est pertinent pour les sites où les utilisateurs accèdent aux sujets Discourse en cliquant sur un lien « Démarrer une discussion » affiché sous un article de blog. Discourse ne propose pas de paramètre pour cela, mais je pense que ce serait une demande de fonctionnalité raisonnable. Le plugin WordPress pour Discourse dispose de cette fonctionnalité, mais il utilise l’API Discourse pour répertorier et non répertorier les sujets.

@simon C’est exactement ce que nous voulons ! Merci pour ta réponse. Le problème est que notre site n’est pas construit avec WordPress. Mais nous pouvons jeter un coup d’œil à l’API Discourse.

En parlant de demandes de fonctionnalités, où puis-je soumettre cette demande pour Discourse ?

@Canapin Nous voulons donc que l’article de blog reçoive un commentaire AVANT d’être listé comme un sujet Discourse. L’article existe déjà sur notre site, n’est-ce pas ?

C’est une bonne idée. L’autre option consisterait à ne pas créer les sujets tant que l’utilisateur n’a pas cliqué, mais je pense que votre suggestion pourrait être plus simple. Peut-être que @eviltrout pourrait envisager cela comme une tâche possible pour cette version, la semaine prochaine ?

Et comment puis-je définir le statut « Non répertorié » via l’API ? Je ne trouve pas les API correspondantes dans mon fichier comment-embedding.js. Merci.

La méthode la plus simple pour comprendre cela consiste à désactiver puis réactiver le répertoriage d’un sujet via l’interface utilisateur de Discourse, tout en suivant les étapes décrites dans ce guide : Comment analyser l’API Discourse à l’envers.

Pour automatiser le processus via l’API, vous devrez configurer un webhook afin d’écouter les événements liés aux publications. Lorsque vous recevrez un webhook indiquant que le premier message de votre catégorie d’intégration a été créé, vous enverrez alors une requête API pour rendre le sujet non répertorié. Lorsque vous recevrez un webhook indiquant que le deuxième message d’un sujet a été créé, vous enverrez alors une requête API pour le répertorier à nouveau.

Comme mentionné ci-dessus, une approche plus judicieuse consisterait à rendre automatiquement le sujet non répertorié lors du premier clic d’un utilisateur sur le lien du sujet depuis un site de blog. Ainsi, le premier utilisateur à laisser un commentaire ne verrait pas le sujet marqué comme « Non répertorié ». Cela serait un peu plus complexe à mettre en place, mais cela pourrait être réalisé via l’API en écoutant les événements de clic sur les liens pointant vers vos sujets Discourse.

Cela est demandé depuis des années sur le sujet Embed Discourse comments on another website via Javascript.

Oui, je pense qu’on devrait le faire @eviltrout. Peut-être la version la plus simple (non répertoriée par défaut, répertoriée dès qu’une réponse arrive) ?

Ok, merci pour votre aide.

J’ai hâte de découvrir cette nouvelle fonctionnalité. Elle semble vraiment nécessaire. Comment puis-je rester informé de sa disponibilité ?

Idéalement, ce sujet sera mis à jour lorsque la fonctionnalité sera disponible. Dans ce cas, vous recevrez une notification à ce sujet si vous réglez votre niveau de notification pour ce sujet sur « En veille ».

D’accord, j’ai préparé une PR pour cette fonctionnalité :

C’est bon à savoir ! Merci !

Wow, c’est vraiment impressionnant ! Tellement rapide.

Je viens de voir cette fonctionnalité en direct ! Un grand merci à @codinghorror et @eviltrout. Merci d’être si réactifs aux demandes des utilisateurs.