Feeding the Feed Validator

I submitted a change to the Feed Validator documentation that was picked up by Sam Ruby this evening: a new answer to the question "How do I make Movable Type output valid RSS 2.0?" that includes a revised RSS 2.0 template.

Some old RSS 0.91/2.0 templates in Movable Type produce invalid RSS because date values aren't correctly formatted.

The new RSS 2.0 template in Movable Type 3.0 doesn't have this problem, but it includes a new date tag attribute, format_name="rfc822", that isn't supported in Movable Type 2.661.

The new template I submitted to the Feed Validator works in versions 2.661 and 3.0. To create the template, I used the default 3.0 template and replaced the date tags with ones like this:

The format value "%a, %d %b %Y %H:%M:%S " (note the trailing space) produces everything in a valid RSS 2.0 date up to the timezone offset, which is handled by the MTBlogTimeZone tag.


Your new template includes an MTDate tag, which Movable Type will rebuild and resave the feed every time it rebuilds index files, which happens whenever someone posts a comment or sends a trackback. This means the feed's ETag and Last-Modified headers will change and lots of people will end up re-downloading the feed, even though there are no new or updated items (just an updated pubDate).

In other words, your misguided attempt to help people with this template that includes a Board-certified set of optional elements (as opposed to that nasty, ugly, funky set of optional elements that start with dc:) will actually suck up their resources and waste their bandwidth.

i also see that SixApart has taken your advice and included an "improved" RSS template in MT 3.0 which includes the same error. Congratulations, the depths of your ignorance will now spread to thousands of unwitting victims who will never know enough to thank you.

The next time you want to reinvent the wheel, please try to take the time to understand the nuances of the wheel you're replacing.

Movable Type adopted Brad Choate's RSS 2.0 template, which you provided feedback on and wrote about, missing two chances to fix this issue.

The template that I suggested for Movable Type didn't include pubDate, because the element only makes sense for dated print publications such as newspapers and magazines.

But I was asked to provide feedback to Six Apart about RSS 2.0 prior to MT 3.0, and didn't catch that problem. And now I've spread it to the Feed Validator as well.

So when the Internet runs out of bandwidth and I can no longer receive criticism from poorly socialized computer geniuses, I'll bear part of the blame.

I just hope I can live with myself.

Do either of you two "geniuses" have a patch?

To me, the bigger issue isn't who noticed it, and when, nor even whether or when the Internet will run out of bandwidth, but rather one of irate owners of weblogs hosted on ISPs that charge for bandwidth.

I presume that rolling back this update would address the issue.

Rogers do you have an alternate proposal?

Don't roll back yet. Assuming that MT behaves the way Mark says it does, I'm going to submit a modified template to the Feed Validator that uses MTEntryDate instead of MTDate this morning. I'm also going to let Six Apart know about the bandwidth issue in their default template.

> Assuming that MT behaves the way Mark says it does


"When rebuilding files, only rewrite the original file if the content has changed. If the content is identical, leave the existing files in place, which won't update the modification time on the file. This allows better use of caching and conditional GETs when retrieving RSS (and other files)."

"Removed lastBuildDate from the default RSS 0.91 template and made pubDate what it should have been (the date of the most recent entry). This allows better use of caching and conditional GETs when retrieving RSS."

Rogers, your template is a serious regression. Sam, please back it out of the Feed Validator until you can do further testing.

I've submitted a revised template after testing it in MT 2.661 and MT 3.0.

I'm having trouble subscribing to a friends RSS feed.
Radio UserLand repeatedly gives me the following error:

[Macro error: Can't evaluate the expression because the name "channeltitle" hasn't been defined. ]

Do you recognize it?
Is this perhaps related to the problem you're describing?

Thanks, PETE

I don't think that would be related to this issue. Does the feed work in the Feed Validator?

Rogers, did you intend to attach a template to FeedValidator bug report #965066?

Yup. It's there now.

Fix committed. Mirrors should catch this on their next refresh.

Add a Comment

All comments are moderated before publication. These HTML tags are permitted: <p>, <b>, <i>, <a>, and <blockquote>. This site is protected by reCAPTCHA (for which the Google Privacy Policy and Terms of Service apply).