Thank you for choosing Movable Type 4.0 for your publishing needs. You are reading this guide because you are a user of one of the MT4.0 betas (1-7) or a user of Movable Type 3.35 (and earlier) and need help and guidance on how to best upgrade to the latest version of Movable Type: MT4.
Movable Type 4.0 represents a huge leap forward for the product and a number of important and critical changes may be required to ensure a seamless transition for you.
How to Upgrade Movable Type
The Fast Way
Make a backup of your database - Whenever you are making a change to your system such as this, it is always considered wise to make a backup of your data just in case you need to undo anything you might have done.
Download Movable Type 4.0 - Once you have backed up your system, download Movable Type to your web server.
Unzip Movable Type - Using your preferred unzipping software, unpack the Movable Type archive onto your file system.
Copy Movable Type's Files Over Your Old Installation - Copy all of Movable Type 4.0's files over your old installation of Movable Type.
Consult "Important Changes You May Need to Make" - In this guide you will find a section devoted to a list of things that everyone upgrading should be aware of. Read this section carefully and make any changes applicable to you.
Login to Movable Type - The first time you access Movable Type, the system will detect the new version of MT installed on your system and take you through the automated process of upgrading your database. When this process is complete, you will be able to begin using Movable Type immediately.
The first time you access the application, you may need to "shift-reload" your browser in order to clear the cache for your css, javascript and images. Doing so will fix any display abnormalities you may experience upon first logging in.
The Recommended Way
Movable Type 4.0 is for all intents and purposes a totally new and different piece of software relative to its predecessors. When making this upgrade, take this opportunity to do a little Spring cleaning by creating a fresh install of Movable Type.
Make a backup of your database - Whenever you are making a change to your system such as this, it is always considered wise to make a backup of your data just in case you need to undo anything you might have done.
Download Movable Type 4.0 - Once you have backed up your system, download Movable Type to your web server.
Unzip Movable Type - Using your preferred unzipping software, unpack the Movable Type archive onto your file system.
Copy Movable Type's Files Into a Fresh Installation - Copy all of Movable Type 4.0's files into a new directory.
Login to Movable Type - The first time you access Movable Type, the system will detect the new version of MT installed on your system and take you through the automated process of upgrading your database. When this process is complete, you will be able to begin using Movable Type immediately.
Re-install each of the plugins - Check to see if there are new versions available for any of the plugins you had installed previously. If a newer version is available, install it.
Important Changes You May Need to Make
Berkeley DB no longer supported
We have made a significant number of improvements to Movable Type's database access layer that requires the use of SQL statements found only in later versions of MySQL. For that reason, all versions of Berkeley DB are no longer supported.
MySQL 3.x no longer supported
We have made a significant number of improvements to Movable Type's database access layer that requires the use of SQL statements found only in later versions of MySQL. For that reason, MySQL 3.x and earlier is no longer supported.
MySQL 4.0 users should upgrade to MySQL 4.1 or greater
While we support MySQL 4.0 we recommend that users upgrade to a newer version of MySQL for the following reasons:
- MySQL 4.0 is not officially supported by the manufacturer
- There are many database and SQL optimizations found in MySQL 4.1 that Movable Type takes advantage of
Delete or rename mt.cfg
In Movable Type 3.2 we deprecated the use of mt.cfg as an official Movable Type configuration file. At that time we requested users to rename their mt.cfg file to mt-config.cgi.
Movable Type 4.0 drops support for the mt.cfg configuration file entirely. If you are still using mt.cfg, please rename it to mt-config.cgi before you begin your upgrade.
Plugins That Should Be Removed
An important goal of Movable Type 4.0 was to incorporate and fold into the core of the platform a number of plugins that provided features that were considered essential for the platform. Having these features provided by the core and a plugin at the same time has been known to cause problems for some users.
Users are asked to disable, or preferrably remove the following plugins from their installation before installing:
- nofollow
- BigPAPI
- Extensible Archives (provided by MT4 betas)
- Date-based Category Archives (provided by MT4 betas)
- Author Archives (provided by MT4 betas)
Users should also remove the following files as well:
$MT_HOME/php/plugins/Textile.php$MT_HOME/php/plugins/MTMultiblog.php$MT_HOME/php/plugins/MTWidgetManager.php$MT_HOME/php/plugins/init.nofollow.php$MT_HOME/php/plugins/init.openid-comment.php$MT_HOME/php/plugins/markdown.php$MT_HOME/php/plugins/modifier.markdown.php$MT_HOME/php/plugins/modifier.markdown_with_smartypants.php$MT_HOME/php/plugins/modifier.smartypants.php$MT_HOME/php/plugins/modifier.textile_1.php$MT_HOME/php/plugins/modifier.textile_2.php$MT_HOME/php/plugins/smartypants.php$MT_HOME/php/plugins/Textile.php
Plugins Rendered Obsolete by MT4
The following plugins have been rendered obsolete by Movable Type 4.0. They should be disabled or removed from your installation entirely (upgrade instructions have been provided when apropos):
- Live Preview
- Auto-Save
- Enhanced Entry Editing
- Cat Calendar
- Smart Rebuild
- SCode
- mt-varz
- Naughty Word Chars
- OpenID Comments
- Rebuild Queue
Pages
Movable Type treats its user's content as sacred and as a result does not modify, add or delete templates automatically under any condition, including upgrade. Therefore users upgrading from a previous version of Movable Type will not have the required Page Archive Template installed, and therefore will be unable to publish pages. You can create and save them, but not publish them.
To fix this issue, please install the Page Archive Template manually.
Upgrading from Movable Type 2.6x and earlier
Users upgrading from Movable Type 2.6 and earlier wishing to upgrade to Movable Type 4.0 are requested to first upgrade to Movable Type 3.35 and then upgrade to Movable Type 4.0.
We are making this recommendation based soley on the fact that Six Apart did not extensively test the upgrade process from MT 2.6 directly to 4.0. While technically it should work, and there are no known issues with upgrading in this fashion, we can only offer upgrade support to users upgrading from 3.x.
Upgrading a Really Large Database
Movable Type 4.0 will make a lot of changes to your database schema to introduce performance enhancements and support for new features. For really large databases, say for databases with several hundred thousand comments for example, this process may take several minutes. Therefore users that feel that they have an exceptionally large database are encouraged to run the command line upgrade tool. To execute this tool, run the following command:
> export MT_HOME=/path/to/mt
> cd $MT_HOME
> perl ./tools/upgrade

Jeff
July 27, 2007 3:10 PM
Haven't heard anything about CatEntries working or not. Use it a lot. Any word?
Kevin
July 27, 2007 10:37 PM
Other files that should be removed:
$MT_HOME/php/plugins/block.mtauthornext.php
$MT_HOME/php/plugins/block.mtauthorprevious.php
$MT_HOME/php/plugins/init.AuthorArchives.php
$MT_HOME/php/plugins/init.Date-basedCategoryArchives.php
Byrne Reese
July 30, 2007 11:06 AM
@Jeff - CatEntries is a plugin that is no longer required or necessary in Movable Type. Now our MTEntries template tag supports more complex boolean logic for selecting and filtering entries by category. For example, this is a completely valid category attribute value: