The source namespace is a collection of add-ons to RSS 2.0 that provide information about where the content in the feed comes from, so it's possible that aggregators can provide a richer experience for readers. It's the format that Fargo generates starting in version 1.64.

Example feeds

  • The feed for my blog, Scripting News, implements some of the features outlined here.

  • Others are implemented in the feed for my linkblog.

source:account

  • A channel-level element.

  • Has one required attribute, service, the name of a service such as "twitter" or "facebook". The value is case insensitive, so Twitter is the same as twitter.

  • <source:account service="facebook">dave.winer.12</source:account>

  • The value of source:account is the username or screenname of the author of the feed on the indicated service.

source:outline

  • An item-level element.

  • Exactly the same as the OPML outline element.

  • In RSS, it contains the source of the outline used to render the text of the item.

  • Useful if the aggregator has the ability to render outlines on its own.

  • <source:outline text="A silly example" created="Sun, 13 Jul 2014 12:54:20 GMT" type="idea" >

  • The example above is very simple and contains no nested structure, which is what makes outlines useful. Check out the Scripting News feed for more extensive examples.

source:archive

  • A channel-level element.

  • 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 <source:filename> sub-element is supplied, which overrides the default. This makes it possible for a single calendar structure to store the archive of more than one feed.

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

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

  • If <source:endDay> defaults to the pubDate of the feed, if it's specified. If not, it defaults to the current date.

  • <source:archive>

  • <source:url>http://static.scripting.com/myReallySimple/</source:url>

  • <source:filename>linkblog.xml</source:filename>

  • <source:startDay>2010-12-25</source:startDay>

  • <source:endDay>2014-07-14</source:endDay>

  • </source:archive>

source:localTime

  • An item-level element.

  • <source:localTime>3/15/2011; 10:34:54 AM</source:localTime>

  • A simple entirely human-readable way for the editor of the site to see what time, in his or her time zone, the feed was last updated. Must-have for debugging and sanity-preservation if you have trouble converting GMT to local time in your head (as I do). The format here is entirely up to the editor of the site.

source:linkFull

  • An item-level element.

  • It's the unshortened version of <link>.

  • <source:linkFull>http://nyu.edu/stories/very-long-name/</source:linkFull>

  • Only include this elemement when <link> is a shortened url.

07/12/14; 09:28:17 AM

Last built: Tue, Jul 15, 2014 at 8:42 AM

By Dave Winer, Saturday, July 12, 2014 at 9:28 AM.