Learning Feeds

Setting up some new feeds. Rss 2.0 and Atom 1.0. This is stuff I never wanted to have to do, but it looks like I have to, during a season with lots of RSS discussion. I gotta figure figured out what a GUID is.

Now, what is this element or tag called <description> in an RSS feed? The suggested RSS template for ExpressionEngine places the Summary (initial part of weblog entry) there. But I don’t see the <description> bits showing up in NetNewsWire, only the stuff that’s contained in the <content> tag. So I added the Summary to the part included in the content tag, and when I look at the feed, I see it duplicated, but I didn’t see it show up elsewhere.

Dave Winer auspiciously posted his busy developer’s guide to RSS… amazing! on the. very. day. when I set out to tackle these feeds (er, does that make me a developer? hmmm) and there was a comment by Brad pointing to his advice about feeds (including guids, hence crossed-off item).

Now I check out the Scripting’s rss feed and see that all his goods are inside the <description> tag. Which shows up fine in NetNewsWire.

Oh hell, I give up. I did validate the feed, and it passed. Given that, I don’t know if I seriously really and truly want to know why <description> alone works in a feedreader, wheras <description> is as silent as a subtle consonant when combined with <content:encoded> and <dc:subject> in a feed.

It’s crafty. Subtle. With a silent “b,” and is way beyond me. B that stands for Busy. Right here in River City.

Oh, and did I say that my feed came through fine in the validator? Move along, now… move along. I have.

5 responses to “Learning Feeds”

  1. Rogers Cadenhead

    I should probably test this out before saying anything, but my guess is that NetNewsWire treats description and content:encoded as elements that serve the same purpose, so it displays content:encoded and ignores description when both are present. I don’t think I’d count on RSS clients treating description as a summary and content:encoded as a full weblog post.

  2. Susan A. Kitchens

    Rogers, let me clarify “summary” a bit:

    I don’t think I’d count on RSS clients treating description as a summary and content:encoded as a full weblog pos

    Summary is one of the four default fields in a weblog entry in The CMS World According To ExpressionEngine.
    {title}
    {summary}
    {body}
    {extended}

    In the templating system (yay CMSes!) you build an HTML page (or an RSS feed) and just plunk in those tags (that is, {bracketed_thingies}) where you wish.

    I am using (or adapting) the default RSS feed. Which plunked the {summary} inside <description> and plunked {body} inside of the <content:encoded> tags. In order to get things to read in NetNewsWire the way I wanted to, I also had to plunk {summary} inside the <content:encoded> tags.

    The problem with this is that I don’t know hardly squat about all of this, I’m just following the exemplars given and checking out the results. (I question the intent behind the {summary} field, too, at least for how I use it.)

    What with this and Sam Ruby’s post about my subtle problem, I am thinking I might create a test feed and put everything inside the description tag and none of the other stuff whatsoever. (except that, well, I’m busy 😉 )

  3. Rogers Cadenhead

    I faced the same dilemma when I created an RSS feed with Movable Type, which broke weblog entries down into description and extended fields. I think I ended up with the same solution you did, plunking both in .

  4. Sam Ruby

    I really do want the Feed Validator to be as useful as possible.

    Looking at the MT template that Rogers developed in May of 2004, and with Dave’s renewed request that people avoid elements in namespaces when there are already core elements that do the same thing, and on the research that James Holderness did, and on seeing this (Susan’s) post, it seems to me that the problem is real, and there seems to be consensus on the solution.

    I committed and deployed this change to the Feed Validator. As always, if I have erred or gauged consensus incorrectly, I can just as quickly adjust or revert the whole change.

  5. Susan A. Kitchens

    Sam,

    Dave’s renewed request that people avoid elements in namespaces when there are already core elements that do the same thing,

    so that means that <content:encoded> is a namespace thingum that duplicates what <description> (a core item) does?

    This clarifying question shows you how little I know about the inner workings of RSS (and indeed, I really don’t want to know much at all).

    I’m trying to bring this to the attention of the ExpressionEngine folks on their discussion boards [link to thread here], but alas, board posting privileges are limited to those who are licensed users of the software, so tho a recent comment says “I’m not an RSS guru” I can’t bring RSS gurus inside.

    In any case, I’ll try my other solution, creating an rss thread that puts everything inside the <description> tag… and I’ll try validating the current feed again to see how your changes to the validator make it appear.

    Thanks for your attention to this, Sam. For someone flying in the dark, implementing and then needing to tweak default feed formats, this has been helpful.