Issues with embedding from RSS

Salut Simon,

Je ne pense pas que cela ait déjà été fusionné.
J’essaie depuis des heures… ça ne fonctionne tout simplement pas.
J’ai configuré le forum pour qu’il n’y ait aucune catégorie non classée, mais les flux RSS aboutissent tous dans « non classé », peu importe ce que je fais.

Pourrais-tu ajouter la catégorie sur la page de sondage RSS ?
URL du flux - Auteur - Classe - Catégorie… et gérer la partie intégration en arrière-plan ?

Je ne comprends pas.

Le domaine des attributs link du flux ?
Je croyais que je sélectionnais la catégorie dans la liste déroulante ?

Mais j’ai saisi l’URL complète du flux sur la page de sondage RSS ?
Il semble que j’entre les mêmes informations à deux endroits différents, dans des formats différents, et qu’elles ne correspondent pas.
Je ne vois pas l’utilité des hôtes autorisés / du chemin de la liste blanche.

Je viens de jeter un coup d’œil et je vois que la PR n’a pas encore été fusionnée. Je vais demander à quelqu’un d’examiner rapidement mes modifications et de les intégrer au code principal. Cependant, compte tenu de vos questions, je ne suis pas certain que l’explication que j’ai ajoutée au plugin sur la façon de définir les catégories du sujet du flux soit claire. Je vais essayer de l’expliquer à nouveau ici.

La catégorie dans laquelle les sujets du flux RSS sont publiés est basée sur le domaine des attributs link du flux, et non sur le domaine du flux lui-même. Par exemple, si votre flux se trouve à l’adresse https://example.com/feed, mais que les attributs link de votre flux pointent vers des publications situées à https://www.example.com/, le domaine que vous devez ajouter dans la section Admin / Personnaliser / Hôtes d’intégration est www.example.com, et non example.com. L’exemple ci-dessous entraînerait la publication de toutes les publications du flux dans la catégorie « fun » :

Pour trouver la valeur des attributs link de votre flux, vous devrez examiner le code source de votre flux. Vous pouvez le faire en chargeant l’URL du flux dans votre navigateur.

Cela vous permet de publier des publications provenant d’un chemin spécifique de votre blog dans une catégorie Discourse. Par exemple :

Cela publierait toutes les publications du chemin www.example.com/fun dans ma catégorie « fun » et toutes les publications du chemin www.example.com/support dans la catégorie « Support client ».

1 « J'aime »

Je ne comprends pas pourquoi je me trouve sur la page d’intégration (embed) du tout.
L’URL complète du flux est déjà saisie.
Le plugin ne peut-il pas découper l’URL pour en extraire les hôtes autorisés et la liste blanche des chemins sans que je doive tout saisir deux fois ?

L’exemple de saisie sur le plugin de sondage RSS et la page d’intégration ne correspondent pas.
‘feeds’ est un sous-domaine dans un cas… puis plus tard un chemin ?

J’ai essayé avec plusieurs flux RSS.
Celui-ci … BBC Health - BBC Health - Utilisateur administrateur

Hôtes autorisés - feeds.bbci.co.uk
Liste blanche des chemins - /health/.*
vers une catégorie Santé

Je pense que ce qui précède devrait fonctionner, mais ce n’est pas le cas.
J’ai essayé toutes les combinaisons possibles pendant des heures.

Je suis d’accord pour dire que la configuration d’un flux RSS est assez difficile. Certains problèmes sont liés au fait que nous avons déplacé le code du flux RSS du cœur de Discourse vers un plugin. À ma connaissance, peu de sites utilisent la fonctionnalité de flux RSS de Discourse.

Pour tester, j’ai configuré le flux à l’adresse https://feeds.bbci.co.uk/health/rss.xml sur mon site. Voici à quoi ressemble cette configuration :

Lors de la première configuration, tous les sujets du flux ont été automatiquement publiés dans ma catégorie « Non classé ». Pour corriger cela, j’ai consulté quelques-uns des sujets créés afin d’examiner cette section du message :

Cela m’indique que l’URL du message est http://www.bbc.co.uk/news/uk-politics-21668349#sa-ns_mchannel=rss&ns_source=PublicRSS20-sa. Le domaine du message est www.bbc.co.uk. J’ai ensuite ajouté ce domaine en tant que « Hôte autorisé » sur ma page d’intégration. J’ai défini le chemin /news/.* pour publier dans ma catégorie « fun » :

J’ai ensuite supprimé le premier lot de sujets créés par le flux. Discourse les réintègre à nouveau. Ils sont maintenant publiés dans la bonne catégorie.

Salut, j’ai enfin trouvé la solution… désolé.
Je pense que le flux BBC n’était pas le bon point de départ.

Je comprends maintenant votre terminologie.
Je n’avais pas réalisé que vous faisiez référence aux liens contenus dans le flux RSS.
Je pensais que l’URL du flux suffisait.

2 « J'aime »

Oui, c’est probablement le plus difficile que j’aie jamais rencontré. Les liens sont redirigés par les serveurs de la BBC et le flux ne peut pas être consulté directement dans le navigateur. La seule méthode que j’ai trouvée pour obtenir le bon domaine d’intégration a été de publier d’abord les articles sur mon site. En général, la configuration du plugin est beaucoup plus simple que cela.

2 « J'aime »

Malheureusement, le flux santé de la BBC provient de nombreux chemins différents.
L’un vient d’arriver sur la médecine tropicale depuis la section historique. Donc, j’ai besoin de /history/.* pour mon flux Santé aussi.
Mais cela fonctionnera si j’ajoute uniquement le flux BBC.
Alors merci beaucoup pour votre temps et votre patience. :clap: :clap:

1 « J'aime »

Je reviens sur un sujet assez ancien pour vous remercier pour votre excellente explication. Malheureusement, cela m’a fait comprendre que le plugin ne fonctionnera probablement pas pour mon besoin. J’essaie d’intégrer un flux généré par une instance de Shaarli, mais l’attribut lien dans chaque entrée pointe vers un tout autre domaine (car Shaarli est un outil d’archivage de favoris). Je suppose qu’il n’y a aucun moyen d’utiliser un caractère générique dans le chemin (permettant ainsi à tout élément de flux entrant d’être redirigé vers une catégorie particulière), n’est-ce pas ?

Oups, oubliez ça. J’ai trouvé un moyen de générer un flux différent à partir de la source dans Shaarli. Résolu pour mes besoins.

2 « J'aime »

Comme je l’ai écrit ici il y a quelques semaines, l’utilisation d’un flux différent a résolu le problème des permaliens. Mais maintenant, le plugin ne récupère pas le contenu de chaque élément.

Le sujet est créé avec le bon titre, par le bon utilisateur et classé dans la catégorie appropriée telle que configurée. Cependant, le corps du sujet indique quelque chose (désolé pour le manque de précision, j’utilise la locale portugaise) du type « ceci est une discussion liée à ce message original » et pointe vers la bonne URL.

Ensuite, il y a un bouton intitulé « afficher le message complet ». Lorsque je clique dessus, il reste en « chargement » pendant un temps indéfini. J’avais compris que si je revenais sur le sujet une deuxième fois, le cache serait créé, mais ce n’est apparemment pas le cas.

Exemple :
https://rede.tropixel.org/t/greentech-alliance/418

La source du flux est la suivante :

Tous conseils sont les bienvenus.

Je pense que le problème vient du fait que Discourse ne parvient pas à trouver le contenu de la page à l’adresse https://links.efeefe.me/?xZVQww. Il y a très peu de texte sur cette page. Lorsque le bouton « Afficher le message complet » est cliqué, Discourse tente d’extraire le contenu principal de la page. Si les pages contiennent très peu de contenu, vous pouvez aider à identifier le contenu principal en configurant le paramètre du site « sélecteur de liste blanche d’intégration » de Discourse. Vous trouverez des détails sur la façon de procéder ici : Configuring allowed embed selectors.

1 « J'aime »

Merci, j’ai essayé cela (dans mon cas, en ajoutant « linklist-item-description » à la liste blanche), mais sans aucun effet, même après avoir attendu que le cache se rafraîchisse et ajouté de nouvelles entrées à la source RSS.

Essayez .linklist-item (Notez le . au début du nom de la classe. Il doit être inclus.)

Vous pouvez également essayer .linklist-item .linklist-item-title, .linklist-item .linklist-item-description

Vous devrez attendre jusqu’à 10 minutes pour voir les modifications. Si vous avez accès à la console Rails de votre site Discourse, vous pouvez vider le cache en exécutant Rails.cache.clear. Ainsi, vous pourrez voir les modifications immédiatement.

2 « J'aime »