Retired Documentation:  You are using the documentation for version 1.7.3 which was retired in 2013. Go here for the latest version documentation or check here for your available upgrades to ExpressionEngine 3.

Migrating from pMachine Pro

This page is designed to help you make an easier migration from an existing pMachine Pro installation over to ExpressionEngine.

ExpressionEngine has a built-in utility that permits you to import your existing pMachine content. This is located in the Control Panel under Admin > Utilities > Import Utilities > pMachine Import Utility. The database structure in ExpressionEngine is different in many ways than pMachine, so during the import process your pMachine information will be reformatted. This process can be processor intensive, particularly if you have many comments associated with your weblog entries, so the utility will import your data in small batches. As you perform the import process you will have a chance to set the size of the batches.

The following pMachine Pro information can be imported into ExpressionEngine:

Notes

Your pMachine site must be running version 2.3 or higher of pMachine Free or pMachine Pro for the import to work successfully

Your pMachine Template data can not be imported, nor can your weblog preferences. This is due to the differences in the approach that both programs use, making such importation impossible.

ExpressionEngine only has single mailing list so if you use the multi-list capability of pMachine Pro the email addresses will be consolidated into one list.

If you have files or images which you have uploaded using pMachine you will need to move those over to ExpressionEngine yourself. The Import Utility will take care of changing any dynamic links you had in your entries to point to the correct location in ExpressionEngine, but it will not automatically move the actual files themselves.

Strategy

The best approach to migration is to continue to use your pMachine Pro site while you develop your new version with ExpressionEngine. Once your new site is ready, import your pMachine data as a final step so your weblog entries, comments and other information will be current.

Import Utility

The pMachine Import Utility is located in the Control Panel at Admin > pMachine Import Utility. When you first visit this page you will see a form that asks you for your pMachine database information. You will find this information in your pMachine config.php file.

Once you have submitted the correct information you will be presented with a page containing five steps. Perform each step in order. You will be prompted with instructions where needed in each step.

pMachine URL Remapping

Once ExpressionEngine is installed and running, you can turn on URL remapping for your old pMachine Pro URLs. These settings are found under Admin > Global Weblog Preferences. It is important to understand how this feature works and the limitations that exist with it.

First, ExpressionEngine can only perform URL Remapping when ExpressionEngine is called. What that means in practice is that the remapping will only take place when the requested URL includes the main site file for EE, which is index.php by default (though you may have renamed it).

So, if ExpressionEngine receives a URL in the pMachine format then it can perform the remapping. For example:

http://example.com/index.php?id=147_0_1_0

What About Other Files?

However, pMachine Pro used a number of files such as weblog.php, comments.php, archive.php, etc. that might all have pMachine formatted URLs used. Since those files don't exist for ExpressionEngine and EE doesn't run through them, then URLs using those files cannot be remapped by default. Luckily, you can use some simple PHP to redirect requests for those pages to your main ExpressionEngine page.

For instance, if you wanted to redirect the requests to your comments.php file, then you could replace the contents of the comments.php (or create one) with this:

<?php

// The full URL to your main site EE file
$new_ee_url = "http://example.com/index.php";

if (isset($_GET['id']))
{
header("location:" . $new_ee_url . "?id=" . $_GET['id']);
exit;
}

?>

You can make similar files for all of the pMachine files that you may have used which might be used in links.

Anything Else?

You can find some further discussion on this topic as well as some information on using "mod_rewrite" in a .htaccess file to greatly enhance the URL remapping functionality. See the Redirecting pMachine URLs discussion on the EE Wiki site.

Top of Page