Мы импортируем несколько каналов YouTube в категорию форума с помощью RSS Polling. Каждая тема получает URL видео, которое превращается в однобокс с плеером, но описание видео так и не попадает в пост. Для многих видео описание является основным контентом — маршрут, местоположение, снаряжение, ссылки — и участники форума просят его добавить.
Фиды каналов YouTube используют формат Atom с расширениями Media RSS, и каждый элемент содержит полное описание в <media:group><media:description>, а также <media:thumbnail>. RSS Polling парсит фиды с помощью гема rss (0.3.3, Gemfile.lock#L614), в котором отсутствует модуль Media RSS, поэтому эти элементы отбрасываются до того, как их увидит FeedItem, и элементы YouTube откатываются к простому URL (feed_item.rb#L17-L23).
Что было бы полезно:
- Чтение
media:description(иmedia:thumbnail) для элементов YouTube. - Опция на уровне фидов или всего сайта для включения описания под видео в импортированном посте.
Сейчас мы делаем это с помощью небольшого вспомогательного плагина, который повторно читает XML фидов во время опроса (discourse-rss-onebox). Это работает в темах нашего форума, но зависит от внутренних механизмов RSS Polling, и было бы проще и надёжнее реализовать это в ядре.