Cannot Link to Secure Site in Movable Type

I recently had a client where everything was working fine – but they were unable to link to any secure (https) sites when creating entries in Movable Type. Unfortunately, there were no messages to be found, and everything worked just fine – as long as there were no https links in the entry.

To make matters worse, just changing the https link to http made it work just fine – which at first seemed to make no sense whatsoever. It’s like that one character put the database over some sort of size limit or something. Alas, even that wasn’t it – bunches of (other) characters would work fine, just not those particular characters, making it seem like that site itself was the issue, and that is what eventually led to the answer.

Continue reading “Cannot Link to Secure Site in Movable Type”

What a Long Strange Trip It's Been

Nearly ten years ago – seriously! – I heard about this blogging thing and decided I would figure out what it was all about. So I installed Movable Type on a hosting account I had sitting around collecting dust. At the time, it was running on version 2.64. At least, I think it was 2.64 – it’s been ten years, so cut me some slack here.

Then I upgraded the installation. A few times. I created a business. I added a few additional categories. Then they became so big – by volume, not necessarily traffic – I moved these categories to their own blogs. Using Movable Type, that was fairly easy. Eventually I even moved a couple of these blogs to WordPress, just because that’s what all the cool kids were doing.

Continue reading “What a Long Strange Trip It's Been”

Cannot Redeclare Class 'MT' in mt.php

While the dynamic publishing model of Movable Type is not heavily used, it is actually a very useful feature. Probably not as a complete CMS – mostly because it is not full-featured – but certainly to provide some nice functionality on the side as it were.

Unfortunately the dynamic publishing functions are not documented much, if at all, so when you run into some issues, it can be difficult to troubleshoot. One of the more common problems you may find is an error message such as this one – when you cannot redeclare the ‘MT’ class, it will prevent the entire dynamic publishing subsystem from starting up, and you will be dead in the water!

Continue reading “Cannot Redeclare Class 'MT' in mt.php”

Hash Line Over-Indented

Have you run into this error while trying to update your plugins from the legacy-style Perl format to a brand-spanking-new YAML layout, only to find that you can’t seem to figure out just what the problem is? Spending hour after hour troubleshooting and still getting that annoying message and it just won’t go away?

Look no further, because this one is easy. Well, sort of. You do have to look a little bit, but you actually are not missing a semicolon or a brace or anything along those lines. In fact, it might be a little hard for you to find, you just have to know where to look.

Continue reading “Hash Line Over-Indented”

Can't Call Method 'entry_based' on an Undefined Value

Generally you will see this as a longer error message, typically coming from the ContextHandlers.pm module, with a particular line number, something like this:

Can't call method "entry_based" on an undefined value at lib/MT/Template/ContextHandlers.pm line...

The message may seem obscure when you receive the message, but in actuality, it just means that you are using a template tag that the publishing process cannot handle. You just need to remove it (or replace it with a tag that will function properly).

Continue reading “Can't Call Method 'entry_based' on an Undefined Value”

Improve Performance with Dynamic and Static Pages

The debate between dynamic and static pages is probably one that will go on for all time. If you are a fan of Douglas Adams, and believe that his work represents a possible outcome to the universe, perhaps it will even go on beyond time. If so, order me something if you happen to be dining at the end of the universe.

Nonetheless, it is quite possible that the best possible performance for Movable Type users is actually not dynamic or static, but a combination of the two. The reason being is, quite simply, because there are places that you can make use of both to maximize the benefits that both technologies offer.

Continue reading “Improve Performance with Dynamic and Static Pages”

Can't Find Template 'Styles'

Have you been publishing something in Movable Type and received an error that included this message or one like it? Maybe instead of “styles”, your message was “feed_recent” or “javascript”. What in the world does it mean? Luckily, the answer is really simple, it’s just a matter of figuring out where to find the answer.

The details are all in your error message. It will tell you what was being published: Usually a particular tag within a specific template. That’s the template you need to go to, and in that template, you need to check for the missing value, to determine what you need to do next.

Continue reading “Can't Find Template 'Styles'”

Update Your Movable Type Spam Filters (Please)

Movable Type version 3.2, released in April of 2007, included a plugin known as SpamLookup. This plugin was able to submit comments to a lookup service (hence the name of the plugin) to one of a number of blacklist services, which in turn would determine if the IP address used for the comment submission is suspicious, allowing you to better judge if you had encountered a spam comment.

However, way back in May of 2007, Six Apart released a guide on updating your spam filters for the plugin. Without the change, your comment-posting process will be horribly slow, because the process has to timeout before it will continue. Also, the default for the other service probably isn’t the best (though that isn’t mentioned). Want to know more? Read on!

Continue reading “Update Your Movable Type Spam Filters (Please)”

Displaying Related Entries on your Movable Type Site

From time to time, I am asked how to display related entries on a Movable Type-powered site (and I frequently have to look it up myself), so I figured that I’d document it here.

While there are plugins that do the work, they typically depend on another value (usually categories, keywords or tags – sometimes a combination of those), and the problem with those is that they depend on humans to first enter that value. If you forget to do so, then it means the related entries won’t work until you go back and enter it. If you enter the wrong value, you get the wrong results. There has to be a better way. Luckily, there is.

Continue reading “Displaying Related Entries on your Movable Type Site”

Integrating Your Movable Type Site with Plurk

If you’ve been reading the blog for the last little while, you know that I’ve been hanging out on Plurk recently. Naturally, that means that I have been playing with Plurk as well, and trying to integrate it into my daily routine. When I used Twitter, it meant that I used Twitterfeed to create Tweets from the entries that I posted here. The problem is that Plurk has no such interface, as it doesn’t have an API, so no such solution exists.

Luckily, Plurk power-user Ryan Lim came to the rescue. Not long ago, he released RLPlurkAPI, a PHP-based API into Plurk. It’s not an official API, but it’s good enough to allow outside services to access Plurk from the outside. It isn’t Twitterfeed either, but what it did was allow people such as myself to see that it’s possible to access the system from the outside. Unfortunately, I still couldn’t do it, and I needed some more help.

Continue reading “Integrating Your Movable Type Site with Plurk”