Yesterday I released my initial version of my mt2drupal script for the newest versions of both software.

Latest version can be download here

Note though, it isn't setup to convert trackbacks/pings, and if you want path conversion, you need to make sure the path module is enabled ahead of time.

Comments

John Hoare’s picture

I'm getting variants of the following:

Warning: Table 'ganymede_drupal.drupal_watchdog' doesn't exist query: INSERT INTO drupal_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Table 'ganymede_drupal.drupal_vocabulary' doesn't exist\nquery: SELECT v.vid, v.*, n.type FROM drupal_vocabulary v LEFT JOIN drupal_vocabulary_node_types n ON v.vid = n.vid WHERE n.type = 'story' ORDER BY v.weight, v.name in /home/ganymede/public_html/private/drupaltest/includes/database.mysql.inc on line 120.', 2, '', 'http://www.ganymede-titan.info/private/drupaltest/importmt.php', '', '82.46.43.115', 1153974178) in /home/ganymede/public_html/private/drupaltest/includes/database.mysql.inc on line 120

over and over again when I run the resulting PHP file. It's MT 3.2, and Drupal 4.7.2.

Any ideas?

Thanks for the script, BTW - if I can get it working, it's exactly what I need!

elly’s picture

This is happening to me, too! Any help would be appreciated.. I don't understand where in the script it's trying to insert this info into this table, or I'd try to fix it myself..

izaak’s picture

Your tables probably aren't prefixed with 'drupal_'. You could try changing $db_prefix to '', or whatever is appropriate for your installation.

dfletcher’s picture

I'm having an issue in 4.7.3 where I have to run the generated script twice in order to get the taxonomy hooked up to my blog posts.

On the first run, the nodes don't appear in the term_node table, so they're not categorized. But this run does result in the conversion of MovableType categories to Drupal taxonomy. So after this run, I delete all the blog type nodes (I switched $nodeType to 'blog') and revisions manually in mysql:

delete node,node_revisions from node,node_revisions where node.type='blog' and node.nid=node_revisions.nid;

I run the script again and all is well. This leads me to believe that the issue is in lines 97-100 of the script:

$edit = array('name' => $categories[$id]['label'], 'vid' => $vocab->vid);
taxonomy_save_term($edit);
$categories[$id]['termID'] = $edit['tid'];
$categories[$id]['object'] = array_pop(taxonomy_get_term($categories[$id]['termID']));

Here the taxonomy_save_term($edit) is obviously working since my taxonomy is created the first time around, but $categories[$id]['object'] or $categories[$id]['termID'] is not set correctly and so when blog entries reference the ['object'] it's incorrect.

On the second run, taxonomy_get_term_by_name above that block finds an existing taxonomy object and all is well.

dfletcher’s picture

Found it!

Remove the array_pop() from around taxonomy_get_term() in the block of code I quoted above, just making the line read:

$categories[$id]['object'] = taxonomy_get_term($categories[$id]['termID']);

After this change, categories are imported fine.

nickaster’s picture

Thanks for this! By far the most important thing for me is to preserve the URL structure and *all* the individual archive pages on my site (treehugger.com). If I can't do that, then migrating to Drupal is impossible.

Have you successfully done this? What happens to comments?

Thanks!!!

www.triplepundit.com
www.treehugger.com

FiReaNGeL’s picture

I am in the same exact situation... I need to preserve links for ~ 4000 article pages, and rebuild the daily / monthly / yearly archives (with views I guess) under the same URLs. It would be nice to have an automated way to do this!

---
Biology News Net

Shawn Parr’s picture

This looks like a great solution for me. However since I'm so new to the drupal world, I'm starting with the v5 beta for my small site. So far it can do everything I need and considering its a beta is working really well. I just need to import my MT3.33 entries over.

I'm not really concerned about keeping comments or trackbacks, just the entries themselves, and if I can keep the urls via the path module that would be great too.

For a bit of fun, I tried the current script, and this is what I got:

Warning: Table 'parr_drupal.drupal_system' doesn't exist query: SELECT * FROM drupal_system WHERE type = 'theme' in /home/parr/public_html/testing2/includes/database.mysql.inc on line 167

Warning: Table 'parr_drupal.drupal_watchdog' doesn't exist query: INSERT INTO drupal_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Table 'parr_drupal.drupal_vocabulary' doesn't exist\nquery: SELECT v.vid, v.*, n.type FROM drupal_vocabulary v LEFT JOIN drupal_vocabulary_node_types n ON v.vid = n.vid WHERE n.type = 'blog' ORDER BY v.weight, v.name in /home/parr/public_html/testing2/includes/database.mysql.inc on line 167.', 2, '', 'http://www.shawnparr.com/testing2/mt-import.php', '', '70.186.81.121', 1163649467) in /home/parr/public_html/testing2/includes/database.mysql.inc on line 167

Thanks for any help or ideas!

mg2020’s picture

I am re-launching a site that is presently on MT 3.33. Prior to the 3.3 release (actually, since 2.X) I had been diligently keeping keywords, and during the last upgrade (from 3.2 to 3.3) converted all of them to tags.

So I need to get entries, comments, trackbacks, categories and tags into D 5.0RC1, with categories going into fixed topics and tags going into free form.

Nevertheless, I'd be willing to kick in a few bucks to get a bounty started, if anyone else is interested. It would be great to have a URL to URL output for a server-side redirect as well, so the links on a 2+ year old blog don't all get broken.

elly’s picture

simbot updated the Import Typepad module to work with 4.7 recently. So far it's the only MT import module that I've found that works at all. It doesn't migrate into specific content types but if you're just going into Drupal core's blog, it works now:

http://drupal.org/node/38172

It does rewrite links, but I dunno if it will migrate tags. Maybe, I haven't tried.

dgtlmoon’s picture

Theres been an upgrade to the movable type import module, a few issues resolved