Movable Type breaks permalinks (and they know it)

In the blogosphere (and on the web) permalinks are sacred. Every broken link is like a demerit against your credibility. Even more so with syndication.

So I spent my day trying to figure out why Movable Type 3.2 occasionally appends an “_1″ (an underscore followed by the number one) to the end of a published permalink (a basename in MT parlance) when there is no conceivable collision with any other basename, and without creating a duplicate entry.

We thought maybe Ecto was to blame. But I couldn’t recreate the problem with the latest versions on either Windows or Mac.

I talked to a few of our bloggers, and no one could point to a discernible pattern—other than that it only seemed to happen after an edit was made to an already published post. So I tried multiple combinations of setting a post from Published to Unpublished and then back again. But no game.

I reached out to the MT ProNet list and someone suggested that this may be a “known issue” in MT 3.2:

When an entry is saved from the Preview screen, the entry basename may be incremented or, if the title was changed, altered to fit the new title.

Turns out this was spot on. Here’s how to reproduce the bug:

  1. Create a new entry and Save it (the Post Status is irrelevant)
  2. Click the Preview button and click Save this entry
  3. Notice that the Basename now has an “_1″ appended to it
  4. Click the Preview button again and click Save this entry
  5. Notice that that the Basename no longer has an “_1″ appended to it

I wouldn’t be able to sleep at night if I knew my blogging platform was producing unstable permalinks when users preview their posts and resave them. This is a problem on the scale of “our software is breaking the world wide web.” C’mon Six Apart, can I get a little more gumption than “this is a known issue”? This has been a known issue for five months!

Update: after my rabble-rousing on the ProNet list, Jay Allen posts a patch for fixing the “MT incrementing basename bug”. Thanks Jay!

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

You know you’ve been sitting in front of the computer for too long when…

…you tell someone who’s looking for something in a book to “scroll down a little.”

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

Loose lips show up on the blog

Goli on negative user feedback:

“There’s a bastion of ill sites that you could be targeting with all your energy.”

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

Sane vs. Neurotic XML

Another way to namespace an Atom feed, except that very few aggregators can handle it.

Aristotle Pagaltzis: Who knows an XML document from a hole in the ground?

XML is hard.

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

Dare Obasanjo on Microformats vs. XML

Dare Obasanjo on Microformats vs. XML: Was the XML Vision Wrong?:

I’ve always considered it a gross hack to think that instead of having an HTML web page for my blog and an Atom/RSS feed, instead I should have a single HTML page with <div class="rss:item"> or <h3 class="atom:title"> embedded in it instead. However given that one of the inventors of XML (Tim Bray) is now advocating this approach, I wonder if I’m simply clinging to old ways and have become the kind of intellectual dinosaur I bemoan.

I find the idea of feed metadata stored within the actual index page of blog (presumably as a microformat) VERY compelling.

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

Tim Bray on Don’t Invent XML Languages

Tim Bray on Don’t Invent XML Languages:

Here’s a radical idea: don’t even think of making your own language until you’re sure that you can’t do the job using one of the Big Five: XHTML, DocBook, ODF, UBL, and Atom.

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

MT doesn’t understand paragraphs

Let’s say I create the following entry in Movable Type 3.2. Five paragraphs with the middle three enclosed in a blockquote. Fairly standard blog post skeleton.

paragraph 1

<blockquote>
paragraph 2

paragraph 3

paragraph 4
</blockquote>

paragraph 5

What HTML do I want MT to produce as a result?

<p>paragraph 1</p>

<blockquote>
<p>paragraph 2</p>

<p>paragraph 3</p>

<p>paragraph 4</p>
</blockquote>

<p>paragraph 5</p>

What HTML does MT actually produce? Invalidly nested HTML. Fun.

<p>paragraph 1</p>

<blockquote>
paragraph 2

<p>paragraph 3</p>

<p>paragraph 4<br />
</blockquote></p>

<p>paragraph 5</p>

What a bummer. I would consider this a fairly critical bug. Oh, and WordPress gets this right. Workaround: manually mark up the paragraphs inside the blockquote. One more thing I wish I didn’t have to remember.

This post first appeared on From the Belly of the Beasts, a weblog from some of the people who build O’Reilly websites.

Continue reading...

monthchunks

license

Justinsomnia is licensed under a Creative Commons Attribution 3.0 License.

Please see my Attribution Policy for more information.