Yesterday was one of the greatest days ever because my Batman Legos arrived. But do I have time to put together my Bat-mobile, Bat-plane, Bat-boat, and Bat-dragster?? No. No I do not. And why haven't I had time to play with my new toys? Because my blog is still completely messed up. I got an email last night telling me that most of the links on my Best Of page are broken. A quick check of my server logs shows hundreds upon hundreds of "Page Not Found" errors... broken links everywhere.
It turns out that there is a major, major problem with Movable Type. I'm not going to go into it just yet but, suffice to say, if you are an MT user I've put the whole story in an extended entry and you should read it. For everybody else, it's time for BULLET POINTS!!
• Campaign. All next week I will be participating in Kevin's "grassroots campaign" to promote Paul Davidson's new book The Lost Blogs. This is a great opportunity to blog as somebody else for a while, so I'm looking forward to it.
• Celebrate. The week after that is Blogography's Kick-Ass Blogiversary III Celebration, which means it's going to be a busy few weeks. I don't want to give anything away... but prizes will be involved.
• Vegas. The show Las Vegas gave a nice shout-out to my favorite charitable organization, Doctors Without Borders, in last night's episode. This is one of those shows that surprises me with its consistency... you can always count on being entertained when you tune in (though part of that might be due to my infatuation with Mary, Sam, and Delinda on the show).
• Loopy. On the other end of the television spectrum, FOX has unleashed a new show called The Loop upon an unsuspecting nation. I tuned in because it stars that kid who was the next-door neighbor in Grounded for Life, only to be subjected to the stupidest half-hour of television I've seen in a long, long time. How in the heck did this show get greenlit?
• Cheese. Holy crap! I just went to make myself a sandwich and found out that I'm out of Tillamook Medium Cheddar Cheese! WHY?!? OH LORD, WHY ME??? IS THERE NOTHING SACRED? WAAAHHHHH!
Today, I am a man without cheese. =sob!=
I guess I have to run to the store before I can play with my Batman Legos.
And now, A SERIOUS PROBLEM WITH MOVABLE TYPE...
Within the Movable Type package is an import/export feature which allows you to backup your entries and comments for safe-keeping or transfer to another system. The process is simple, straight-forward and works exceedingly well.
Or so I thought.
It turns out there is a serious flaw if you build static individual archives. The "basename" of the files generated by Movable Type are NOT exported with your entries. So if you transfer to a new host, you could potentially end up with files that are not named the same as they were on the old host... thus breaking links on a system-wide scale.
Movable Type gives you absolutely NO warning that this is going to happen. And since the Six Apart KnowledgeBase acknowledges the issue in an article from July of 2005, one has to wonder WHY they don't give you any warning. To add insult to injury, the steps that Six Apart give you to correct the problem are flawed (and can actually make matters worse, if you can believe it). So here's the deal...
If you manually enter basenames for your individual archive entries... You're screwed. If you care at all about maintaining your links of search-engine standings, you absolutely cannot use the import/export built into MT itself. Your only option would be to export from the database you're using directly. This can cause a whole suite of other problems (I have never been able to rebuild an MT site successfully from a database backup), so be very careful.
If you have Movable Type generate basenames for your individual archive entries... You're probably still screwed. Where I ran into a problem was that the basename length was defaulted at 15 characters on my old system, but "unlimited" characters on the new system (even though I never touched it on either system). This meant any entry with a title over 15 characters was now a broken link. As mentioned above, following Six Apart's suggestion to regenerate the basenames with a custom archive naming scheme is actually a bad, BAD idea (see below), and so the only option ends up being to completely delete every entry and comment, then make sure the basename length is set the same as it was before, then completely rebuild. Since there is no "delete all entries and comments" command in Movable Type, you've got loads of work ahead of you if you've got a lot of entries. If you are running MT on MySQL (or some other database) it's far faster to use MySQL commands to wipe them out.
Why is Six Apart's solution so bad? Because it doesn't work properly. Let's say you have a bunch of files named as follows...
If you rebuild them with the custom archive naming scheme they provide, and crop to 15 characters, ALL of the above four entries will be named "long_blog_entr.html" (note that it gives you 14 characters, not 15!). So not only do you end up with the four broken links, you end up with three MISSING entry archives!
But if I delete everything and start over with the same basename character limit, I'm okay, right? Not necessarily. I still have over a dozen links that did NOT rebuild properly, and I have no idea why. I am having to create permanent redirects in my .htaccess file to avoid breaking links.
Despite my liking Six Apart as a company (Ben, Mena, Anil, and everybody seem like great people), I am growing increasingly disillusioned with Movable Type as a product. When it was a freeware system meant for hobbyists, you accept problems like this because that's how it goes. But now that Moveable Type is a pay-for product that is being heavily solicited to big companies for professional blogging, you have to wonder why issues like this are not addressed... or, if not addressed, at least warned against. This problem alone can cause you to lose data, break links, destroy archives, hurt your search engine rankings, and waste hours of your valuable time.
So, between runaway CPU usage, major bugs, an incomplete help system, and truly shitty documentation... one has to ask... what in the heck is Six Apart doing to fix this stuff? From all appearances, the answer is "nothing".
Go ahead and visit the blog for the self-proclaimed "premier weblog publishing platform". Turns out that the people who build blogs have a company blog that is rarely updated. Or maybe visit co-founder Mena Trott's blog, also infrequently updated. There's a blog for Movable Type, but it's just fluff about what's happening WITH the product. There's no news about what's happening TO the product.
Six Apart has an entire business section telling companies about the huge benefit that comes from keeping their customers informed with blogging. Given their own blogging efforts, this seems rather hypocritical.
So why doesn't Six Apart follow the same advice that they give to everybody else? Who knows. Maybe they're too busy buying other companies (like LiveJournal), or working on the future (like Project Comet), or telling other businesses how they should blog (ironic, isn't it?). All I know is that they should attend one of their own seminars. Maybe then customers like me would have some hope that things are going to improve. As it is, I spend most of my time regretting the day I ever got involved with Movable Type.
Is it too much to hope that this is the last time I blog about problems with my blog?