The "source" namespace

  • 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.#


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

By Dave Winer, Saturday, July 12, 2014 at 9:28 AM. Welcome back my friends to the show that never ends.