Intranoggin

Blither, Blather, Web Content Management.
Blog » Migrating SharePoint Blog to WordPress–Fail

Migrating SharePoint Blog to WordPress–Fail

What follows is the post I would have published had my migration not been so buggy.

If you want to know what worked, here it is: I got my WordPress site running at http://intranoggin.com while leaving my SharePoint site running at http://www.intranoggin.com.  I then used Windows Live Writer to move each and every post over one at a time.  The good part about this was being able to reset all my categories and tags.  I also got to see what a prolific writer I started off being and how I’ve fallen off over the last year or so.  Hopefully this marks a return to writing for me.

The below explains the automated process I attempted.  It seemed promising.  If you’re converting your blog it may be worth a shot (YMMV).  I think the majority of my problems were due to my use of MS Word as my authoring tool for the old blog.  In the new blog I was getting some early termination of content and wacky alignment issues.  Also, I tried creating the whole thing locally in Web Matrix and then pushing it up to my hoster with that tool.  It’s a great idea and it may work for you.  However, in my case the push to the hoster was compounding my problems – getting even wackier layouts and truncated posts.

Please to enjoy: WordPress.

<fail>

I’ve had a SharePoint blog on the SharePoint platform for a bit over 3 years now.  I liked it at first, but it didn’t take long for limitations to begin affecting my site.  WordPress is a mature platform, supported by a huge developer community.  Microsoft found it so compelling, that they’ve pushed their own Live Spaces over into the WordPress ecosystem and built in support to Microsoft Word, Windows Live Writer, and WebMatrix.

So WordPress stood out to me as the clear choice for my blog, but it was/is a totally new platform for me.  I’m sure I’ll pick up more tricks over time, but for now I’m up and running and here’s how I got there…

Setup a local version of WordPress.

WebMatrix made this a no-brainer.  It downloaded, installed, configured everything necessary for the site.  Once it was running, I hit up the local url and did some more WordPress configuration.  WordPress itself  has amazing support built in for locating and installing themes and plugins.   I tried a bunch of themes, but ultimately went with the Platform theme by PageLines.  I also installed and activated a few plugins, RSS Importer, Sociable for WordPress, Twitter for WordPress.

Migrate old SharePoint Posts.

I did some research here to see if there was a tool that would do this for me.  I found some instructions and some tools, but it all seemed fragile and tedious.  So I came up with what I think is a really simple method that works well.

Caveat 1: I didn’t care to bring over comments.  Like I said, the SharePoint comment engine never really worked that well for me so I had very few comments anyway.

Strategy: WordPress came with a tool called RSS Importer.  This is a plugin that allows you to import posts via RSS XML.  I just needed to get all my posts in a single RSS feed. The importer will not handle images, so I handle those separately.

Step 1. Get the RSS XML

The RSS feed for my blog was set to only show 5 posts and to trim that at posts only over the last 60 days.  To get everything into my feed, I went into the SharePoint blog’s post list settings and adjusted the RSS feed settings.  I adjusted the settings to include 120 posts and go back 4 years.

Then I just opened the feed in my browser and saved it down to my desktop.  It was well under the 2MB maximum size the RSS Importer plugin allows.

TIP: If your RSS setting changes don’t seem to take affect, try opening the feed in a different browser, or there may be some cookie or cache setting you need to delete.  Both IE and Chrome remembered that I had already opened the RSS feed and wouldn’t go retrieve the updates.

Step 2. Import the RSS file

Launch the local WordPress site and go to the admin pages.  Then in the tools section, choose import.

 

Click the RSS link.

 

then browse to your xml file and click the upload and import button.

 

Tip: if you’re running through the import multiple times, WordPress will know that it has already imported your posts and will skip them.  You need to delete your previously imported posts and ALSO go into the trash and permanently delete them.

Step 3. Move the Images

Now if you browse the WP site, you’ll notice all the images are missing and you can right click on a missing image and check its properties to see where they should be located.  You should find that it is looking in your WP site under the /Lists/Photos directory, which is where the SharePoint blog stored the photos.

In WebMatrix, go to the Files browser, then create the /Lists/Photos folders

 

Now, you can use windows explorer to open your SharePoint photos library and copy the images into the folder in WebMatrix

 

It’s just that easy.  Once the photos are in your WP site, the posts will work fine.

Note: this isn’t the location where WP wants to store images so I’m not sure you’d be able to update these old posts as you would new ones.  However I don’t anticipate editing these old posts again.

Optional Step 1.5: clean up the XML

If you run though the import, without modifying your RSS xml, it will work, but you’ll notice each post is prepended with the text “Body”.  You’ll also notice that the visual editor in browser doesn’t work because the source of post is wrapped in a CDATA tag.  An easy fix for this is to do a search & replace to remove the extra text from the RSS xml.  I used good old SharePoint Designer 2007 for this.

example before entry:

 

example after entry:

 

</fail>


Posted: 7/7/2011 4:51:00 AM by Ryan Miller | with 0 comments
Filed under: Blather