Don't Back Down

Posted by Chad Everett on July 18, 2003

ESF 1.0 Feed Available »

Episula (Epistula?) Syndication Format. Hmm. Haven't figured this one out yet. Starting with "episula syndication format" at Google, I end up at Dylan Green dot Com, which offers up yet another acronym: Even Simpler Format.

I eventually stumbled through a comment and came across the actual specification for ESF. I find it interesting that it is mentioned that Movable Type does not support the Unix (seconds since the Epoch) format. Almost gleefully, in fact. Strange indeed. So back to Google I go.

How about "movabletype epoch"? Sure enough, this turns up a new plugin (new to me anyway) called, appropriately, MT-Epoch. Installation instructions seem simple enough: put it in the plugins directory, add a parameter to the date command (the bold/italic part at the end is the key):

<MTEntryDate format="%Y/%m/%d %H:%M:%S" convert_to_epoch="1">

It was a bit of a pain getting all the modules installed, only because Time::ParseDate depends on two other modules, and my host had none of them installed. After playing with mt-check.cgi to figure out what was going wrong, I finally got it. For anyone else interested in doing ESF through MT, here's what you need:

1. Time::JulianDay

2. Time::ParseDate

3. Time::Timezone

If your server doesn't have a module, grab a copy from the appropriate link above and upload it (use ascii mode!) to extlib/Time, under your MT directory. Create this directory if necessary. Don't change the filenames. Make sure that the permissions are set to 755 (chmod). Remember that case matters. If you have problems, check all of these!

Because Time::ParseDate uses the other two modules, all three must be installed! If you install only Time::ParseDate, you will not have a working plugin!

4. MT-Epoch.pl

Put the plugin into plugins, also under your primary MT directory. Again, make sure that you have used ascii mode to upload, set the permissions to 755 (chmod). Case may or may not matter on the file name.

5. Create a new template for your ESF index. Here's mine if you'd like to use it (you may want to change the contact information):

#<$MTBlogName$> Newsfeed, in Epistula Syndication Feed format (ESF)
#http://www.aquarionics.com/article/name/esf
title <$MTBlogName$>
contact edit@your.self (Don't forget your name in here too)
link <$MTBlogURL$>

<MTEntries lastn="10">
<MTEntryDate format="%Y/%m/%d %H:%M:%S" convert_to_epoch="1">
<$MTEntryTitle$>
<$MTEntryPermalink$>
</MTEntries>

Though the MTEntry fields appear on separate lines, they should be on the same line, separated by tabs - don't use spaces!

Then just make sure you rebuild this index, either on it's own or with other indexes.

If you want to have some fun with mt-check.cgi, add this line to the optional modules array at the top of the program (other entries look just like this one):

[ 'Time::ParseDate', 0, 0, 'Time::ParseDate is optional; it is needed if you want to produce Unix-style (epoch) timestamps.' ],

This will tell you if Time:ParseDate is correctly installed or not. Make sure you include it all on one line. It only wraps because of window size.

The only question I have: Episula or Epistula? The ESF document itself has it one way, and the web pages at Aquarionics have it the other...

Update: After speaking wih Aquarion himself, and determining that it should indeed be Epistula, I've changed my template (including the one above) to reflect this.

Update: In case you hadn't noticed, I've stopped producing a feed in ESF format. The link should take you directly to a feed, just not ESF. Sorry for any confusion this may produce. Since no one seemed to be using it, it just seemed like a waste.

Related Entries

Comments (2)

I really should update the spec page at some point with this, but:

ESF is - officially - Epistula Syndication Format. Epistula is the software that runs my site. Unoffically it's "Even Simplier Format" - a revenge against the bacronym from "Rich Site Summary" to "Really Simple Syndication".

Kevin - who wrote the MTEpoch mod - did so because I kept on gleefully pointing out that MT didn't do ESF

Thanks for the note, Aquarion -

I think the real point of that question is, since it's the "Epistula Syndication Format", shouldn't the initial comment of the feed read the same, rather than "Episula Syndication Format"?

I understand it's just a comment and shouldn't matter if you're parsing the data - but for clarity's sake, and in case you're looking at the feed itself, it would seem that they would match.

Post a comment