Nous importons plusieurs chaînes YouTube dans une catégorie de forum via le « RSS Polling ». Chaque sujet reçoit l’URL de la vidéo, qui est intégrée dans le lecteur via un onebox, mais la description de la vidéo ne figure jamais dans le message. Pour de nombreuses vidéos, la description constitue le contenu principal — itinéraire, lieu, équipement, liens — et les membres en font la demande.
Les flux de chaînes YouTube sont au format Atom avec des extensions Media RSS, et chaque entrée contient la description complète dans <media:group><media:description>, ainsi que <media:thumbnail>. Le « RSS Polling » analyse les flux à l’aide de la gemme rss (0.3.3, Gemfile.lock#L614), qui ne dispose d’aucun module Media RSS. Par conséquent, ces éléments sont supprimés avant que FeedItem ne les prenne en compte, et les éléments YouTube se replient sur l’URL brute (feed_item.rb#L17-L23).
Ce qui serait utile :
- Lire
media:description(etmedia:thumbnail) pour les entrées YouTube. - Une option par flux ou au niveau du site pour inclure la description sous la vidéo dans le message importé.
Nous effectuons actuellement cette opération via un petit plugin compagnon en relisant le XML du flux lors de la récupération (discourse-rss-onebox). Cela fonctionne sur les sujets de notre forum, mais cela dépend des détails internes du « RSS Polling » et serait plus simple et plus robuste s’il était intégré au cœur du système.