From Bjoern Hassler's website
Jump to: navigation, search
Syndication: Formats  |  metafeed  |  feedheader  |  short item  |  full item  |  Category:Syndication formats
Using Yahoo media for content aggregation
Working with Yahoo Media
Using media rss to syndicate and share media
Example feeds
short item
full item
The yahoo media content and group elements
Enclosures in yahoo media, rss, and atom
Media rss media group element
Media rss media group alternatives scheme
Atom media extension
Overview of images in rss

Printing and index

1 Feed format at item level[edit]

For head information see header.

We describe an item in rss, but the atom equivalent is straight forward: We mostly just use basic elements from rss, most other things are atom/yahoo. To have an <entry> rather than an <item> is straigt forward.

2 The rss-item (or <atom:entry>)[edit]


2.1 Basic title, description, pubDate, id[edit]

A number of standard elements.


<title>The title of this media item</title>
<media:title s:type="subtitle">How to set up an item in steeple</media:title>
<media:title s:type="short">The title</media:title>

The description. (In atom, this would be <summary>)
<description>Description ....</description>

The standard rss:pubDate or atom:updated is used for the date on which the rss item was changed.
Not for creation/first publication - see more dates below.


rss:guid, or atom:id
If you have the content in several places, the guid needs to identify the item irrespective of url
<guid isPermaLink="false"></guid>

<atom:link rel="self" href="....." />

id provided for aggregator.
Bjoern is still not quite sure how to do that.
<atom:link rel="" href="..." /> 


3 Institutional classification[edit]

"Organisation" is mandatory (if not given at feed level), others are not mandatory. Institutional or departmental classification: not needed here if included in the feed head

 <atom:category scheme="" term="" label="Oxford University" />
 <atom:category scheme="" term="<e.g. via LDAP>" label="Section of Physical Sciences" />
 <atom:category scheme="" term="<e.g. via LDAP>" label="Physics Department" />
 <atom:category scheme="" term="" label="" />

For 'term' e.g. can use LDAP identifier.
terms needs to be identified at
 <atom:category scheme="" term="CARET" label="Centre for Applied Research in Educational Technologies" />

4 Subject classification[edit]

Need to adopt a classification.

  • Library of congress? British Library?
  • Laurian to look at existing mappings
 <atom:category scheme="...british library..." term="..." label="..." />

<!-- additional classification into iTunes subjects -->
 <atom:category scheme="" term="101" label="General Science" />
 <atom:category scheme="" term="104101" label="..." />
 <atom:category scheme="" term="108" label="..." />

<!-- local classifications can also be added -->
 <atom:category scheme="" term="..." label="..." />


5 credit-type description for this piece.[edit]

One of the key things missing from rss/atom is a description of people appearing in the video, appropriate for academic contexts. The closet we can get to re-using existing structures is to use the media:credit construct, with a new scheme. See feeds/credit

  • Human-readable versions of credits/roles.
  • Laurian to make suggestion for machine-readable versions.

<media:credit role="presenter" scheme="">Prof. Dr. A. B. C. Smith-Jones (University of Oxford)</media:credit>
<media:credit role="principal lecturer" scheme=""></media:credit>
<media:credit role="interviewer" scheme=""></media:credit>
<media:credit role="producer" scheme=""></media:credit>
<media:credit role="producer institution" scheme=""></media:credit>
<media:credit role="creator" scheme=""></media:credit>

Agree that <author> is not used by the aggregator, because it's ambivalent.
<author>Not Used</author>


6 media related information starts[edit]

Note: For detailed information on media:content, see media:content.


Add enclosure, to ensure compatibility with broadest range of feedreaders.
Enclosure content is duplicated in media:group below
<enclosure ... />


 <media:title>lecture recording</media:title>

Optional: The primary mediatype:
- audio
- video
- screencast
- learningobject
- document
 <atom:category scheme="" term="" label="" />

 <!-- The nominal duration -->

              lang="en" />

If there are alternative versions of the same media item, they can follow in the same media:group, by adding media:content items. 
Those items are structured the same as the above item, but we omit most attributes for brevity.

  If items are available via P2P, add the <media:peerLink> element to <media:content>
 <media:content ...><media:peerLink type="application/x-bittorrent " href=""  /></media:content>

              lang="en" >
                    <media:peerLink type="application/x-bittorrent " href=""  />
                    <media:hash algo="...">....</media:hash>

         Audio versions, and audio descriptions should also be put into the same media:group, if they relate to the same media item. 

 <media:content  url="url3"  s:rel="audio track" .... />
 <media:content  url="url4"  s:rel="audio description" .... />
 <media:content  url="url4"  s:rel="commentary" .... />

         We added "s:rel" or we do this:
         <media:content  url="url3"><media:category scheme="" label="audio track">audio track</media:category></media:content>
         The latter is cleaner in terms of existing specs, but it's longer.

 <media:content  url="url5"  s:rel="transcript" url="....pdf" />

 <media:thumbnail url="" width="75" height="50" time="" s:type="keyframe|slide|thumb|cover" s:attribution="" />
 <!-- Attribution for images? E.g. where the image is CC-By -->

<!-- representation of subtitles -->
 <media:text start="00:00:00.000" xml:lang="en" s:type="cc">content for close captions / subtitles</media:text>
 <media:text start="00:00:00.000" xml:lang="en" s:type="subtitles">content for close captions / subtitles</media:text>

<!-- where subtitles are in an external file, the <media:subTitle> can be used -->
 <media:subTitle type="application/smil" lang="en-us"  href=""  />

<!-- additional suggestions -->
 <media:text start="00:00:00.000" xml:lang="en" s:type="keywords">timed keywords</media:text>
 <media:text start="00:00:00.000" xml:lang="en" s:type="description">additional description</media:text>
 <media:text start="00:00:00.000" xml:lang="en" s:type="chapter">chapter</media:text>

        More media groups might follow, or other media:content items if there is only one version

<media:content  url="url5.pdf"  expression="full" .... ><media:title>Lecture slides as pdf</media:title></media:content>

<media:content  url="url6.mp3"  expression="full" .... ><media:title>Further reflections on the main media item</media:title></media:content>

             media related information ends


7 additional information[edit]


rss:link, treated the same as first <atom:link rel="related"> 


<atom:link rel="" href="" title="View this item in the original context at Oxford University">View this item in the original context at Oxford University</atom:link>

spacetime related information 
Laurian to look up.
- creation of media (i.e. the date of the event)
- first publishing of media item
- updated is covered in rss:pubDate/atom:created
<s:date type="creation">date of event</s:date>
<s:date type="first published">date of event</s:date>

To do:
* as "<georss:point>45.256 -71.92</georss:point>" ?
<georss:where><gml:Point><gml:pos>45.256 -110.45</gml:pos></gml:Point></georss:where>

c.f. also YouTube.

<georss:point>45.256 -71.92</georss:point>
<!-- ideally we would want to be able to describe several points .... -->


To specify keywords, we use media:keywords.

<media:keywords>a, b, c</media:keywords>



8 Licensing[edit]

Copyright holder and license needs to be indicated.

We recommended this:
<media:copyright url=".......">Oxford University</media:copyright>
<media:license type="text/html" href="">Creative Commons Attribution 3.0 United States License.
Add attribution here: This item was produced by <a href="...">Dr. A. Smith</a>.</media:license>

using this contstruct has several advantages: It allows the specification of any license, and we can specify the url and text in the same element.

However, if the license is CC, add <cc:license> for compatibility with other feedreaders.
but this is not mandatory for the Steeple aggregation.

Note also