rigelk / feed

Feed is a RSS 2.0, Atom 1.0 and Json Feed 1.0 generator for Node.js, based on work from Jean-Philippe Monette and initiated by a need of the PeerTube project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Better Media-RSS support

azmeuk opened this issue · comments

This bug report-report follows this one: Chocobozzz/PeerTube#2298.

More tags!

feed provides a minimal support for Media-RSS with the following tags:

  • <media:group>
  • <media:content>
  • <media:thumbnail>
  • <media:rating>

I think peertube would benefit from the support of other tags like:

  • <media:title>
  • <media:description>
  • <media:keywords>
  • <media:category>
  • <media:hash>
  • <media:player>
  • <media:community> and its subtag <media:statistics>
  • <media:license>
  • <media:subtitle>
  • <media:credit>

Media-RSS has a lot more tags and attributes, but there is not a lot of support by the clients yet, so it probably does not worth doing more at this point. Implementing those tags would be a good start though.

<media:thumbnail> in <media:group>

In Peertube feeds, the <media:thumbnail> tag appears at the same level as <media:group>. According to the specification, this is valid:

The following elements are optional and may appear as sub-elements of <channel>, <item>, <media:content> and/or <media:group>.
When an element appears at a shallow level, such as <channel> or <item>, it means that the element should be applied to every media object within its scope.

However I fear it might be less supported by feed reader software that bringing <media:thumbnail> inside <media:group>, as they generally look for a <media:group> or <media:content> tag.

What do you think?

Thank you for porting the issue @azmeuk. I have already begun implementing most of them.

However I fear it might be less supported by feed reader software that bringing <media:thumbnail> inside <media:group>, as they generally look for a <media:group> or <media:content> tag.

It doesn't hurt to be redundant here, if it means better compatibility. Beside <media:thumbnail>, are there any other properties worth bringing inside <media:group> (which is where I will copy attributes again)?

I would say: all :)
My understanding of the specification is that the top tags are <media:content> and <media:group>, and all the other tags are expected to but children of those.

Thank you for tackling this!

It is just that some of their examples features <media:…> properties directly at the root of the item, not contained within one of properties you mention… (specifically http://www.rssboard.org/media-rss#examples, last example)

True. Both solutions are valid. Anyway it is a minor issue so I suggest to skip it for now. And if I encounter real-world issues with this, I will come back to discuss it.

Also, going through the specification, I realise that I was misrepresenting torrents as <media:content>, when I should have used <media:peerLink> instead. The next release will correct that behaviour.