In MT versions prior to 4.2, dashes in post titles were ignored when creating basenames. Now, they are not. This has royally screwed up many of my pages' URLs.
Is there any way to configure (or tweak) MT to go back to the old behavior and ignore dashes when creating basenames? TIA.
Reported on Movable Type 4.3
Craig, why are you saying that is screwed up many of your pages URLs?
Assuming that you've upgraded movable type, your basename should have remained the same so you should have no issues with URLs changes for older articles.
In the case that you have done something that resulted in new basenames for whatever reason, you might want the EntrySetBasename utility.
Read EVERYTHING on that page first.
Then read it again, and be sure it's really what you mean to do, because if not you'll probably just make things worse.
As far as reinstating the previous behavior: not going to happen. There was a lot of confusion when this change occurred(it was sort of a mistake), and after a lot of back and forth, the only workable outcome was to deal with it and move forward. There's no real way to make it ideal for everybody.
Mihai: I simultaneously moved my blog to a new webserver and upgraded from 3.31 to 4.3, so the easiest way to do that (I thought) was to set up the blog first as an empty shell and then do a mass import of my old material (through the export/import function). I had no idea that MT would change something so fundamental as dirify/basename generation with no straightforward way to reverse it. MT is all about customization; why this isn't baffles me (a simple switch, just like for deciding between dashes and underscores, would make sense, no?).
Su: I read through that page before posting here and wasn't quite sure it does what I need it to do. And, even if it is, it seemed like a howitzer when all I need is a flyswatter. I will check it again. Thanks.
The thing is that you hit this in just about the worst way possible. The old export/import process had been deficient for a long time, for your purposes specifically in that it didn't include basenames. That's among the many reasons most of us just did SQL dumps for migrations instead, and that it's now been superseded by backup/restore.
At the technical level, your problem isn't that the basenames were changed; they never existed as far as the new install was concerned. So when you did the import, new ones were created, using the new dirify method. If the export process had included them, everything would've been fine, because they're never modified. Only your new posts' basenames would have been created with the new method.
Given the information on how you ended up here, the utility I mentioned before is what you need. Yes, the Howitzer; this was an ugly mistake and reverting it is just as ugly. Keep in mind that you're only looking at a single result of this change. Dirify is used all over the place. You'll have to trust me on that, or join the Pronet list and I'll point you at the ~100 messages this spawned if you want the gory details.
Craig, for your specific case, I would just tweak the export template from the source blog to include also the basename and then just import the data on the new blog.
As simple as that!
Though using the mysqldump would have been even easier...