UP | HOME

basiscraft: rss notes

Links

outer

<?xml version="1.0"?>
<rss version="2.0">
  <channel>...</channel>
  ...
</rss>

channel

<channel>
  <title>...</title>
  <link>...</link>
  <description>...</description>
  <langauge>...</langauge>
  <pubDate>...</pubDate>
  <lastBuildDate>...</lastBuildDate>
  <docs>...</docs>
  <generator>...</generator>
  <managingEditor>...email address...</managingEditor>
  <webMaster>...email address...</webMaster>
  <item>...</item>
  ...
</channel>

item

<item>
  <title>...</title>
  <link>...</link>
  <description>...</description>
  <author>...</author>
  <pubDate>...</pubDate>
  <guid>...</guid>
  <enclosure url="..." type="mime/type" length="...bytes..."/>
</item>

Dave Winer's Microblogging Extensions

Dave Winer is using something like this as a not-yet-standard way.

A doc page! http://microblog.reallysimple.org/

<rss version="2.0" xmlns:microblog="http://microblog.reallysimple.org/">
  ...
</rss>

link-blogging

(Within channel elements, of course.)

<item>
  ...
  <microblog:linkFull>...</microblog:linkFull>
  <microblog:readCount>...</microblog:readCount>
  ...
</item>

NOTE: I've recently discovered that my plans for this element might actually violate the intended use. If so, some new element will be needed.

Dave Winer says to use linkFull only when the standard link element points to a shortened URL.

What I'd like is for link to point to a perma-link for this RSS item (where the title, description, etc. are archived) but for linkFull to point to some other link – the link which is the topic of the microblog entry.

Archive Location (and format)

Directory Format

The archive is oriented to days but the stable "latest" link doesn't have to be (e.g., it could be the concat of today and yesterday).

archive-dir/
  archive-dir/2011/
    archive-dir/2011/06/
      archive-dir/2011/06/21/
        archive-dir/2011/06/21/feed1-rss.xml
        archive-dir/2011/06/21/feed2-rss.xml
        ....

XML Format

Sub-element of the <channel> element:

<microblog:archive>
  <microblog:url>http://static.scripting.com/myReallySimple/</microblog:url>
  <microblog:filename>linkblog.xml</microblog:filename>
  <microblog:startDay>2010-12-25</microblog:startDay>
  <microblog:endDay>2011-06-04</microblog:endDay>
</microblog:archive>

Here is what Dave Winer wrote about that on the above-linked doc page:

"Links to the calendar-structured archive for the feed.

"The folder pointed to by this address contains one folder for each year, 2009, 2010, 2011, etc.

"Each of those folders contains one folder for each month, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12. The month folders must be zero-padded to two places. Folders may be missing, indicating that there is no archived content for the month.

"Each of the month folders contains folders for the days of the month. Day folder names are also zero-padded to two places and may be missing if there were no updates on the given day.

"Each day folder contains a file named rss.xml, unless the optional <filename> sub-element is supplied, which over-rides the default. This makes it possible for a single calendar structure to store the archive of more than one feed.

"<microblog:archive> must contain at least two sub-elements: <link>, the address of the archive and <startDay>, a hyphen-delimited date, formatted as yyyy-mm-dd, for the first element of the archive.

"It may contain two optional sub-elements: <endDay> which is the hyphen-delimited date (yyyy-mm-dd) for the last element in the archive; and <filename> as expained above.

"<endDay> defaults to the pubDate of the feed, if [ pubDate is ] specified. If not, it defaults to the current date."

Local Time Debugging Aid

Dave Winer says that <channel> including a local time stamp (when it was last updated) makes a feed easier to debug.

<microblog:localTime>6/4/2011; 2:38:00 PM</microblog:localTime>

Author: Thomas Lord

Org version 7.5 with Emacs version 22

Validate XHTML 1.0