<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>elorg.net &#187; migration</title>
	<atom:link href="http://www.elorg.net/tag/migration/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.elorg.net</link>
	<description>Ramblings and other miscellany.</description>
	<lastBuildDate>Wed, 23 Nov 2011 20:55:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Woes of Lion &amp; Hardware Failures</title>
		<link>http://www.elorg.net/2011/08/woes-of-lion-hardware-failures/</link>
		<comments>http://www.elorg.net/2011/08/woes-of-lion-hardware-failures/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 16:06:33 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[computer problems]]></category>
		<category><![CDATA[frustrations]]></category>
		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=674</guid>
		<description><![CDATA[It&#8217;s been a while since my last home desktop/workstation purchase, and I&#8217;ve just about maxed-out my upgrades on the old Mac Pro. I&#8217;ve been considering picking up a new computer for some time now, but torn over the cost/benefit. Listening to my podcasts it sounded like Apple&#8217;s looking to replace the Mac Pros for the [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since my last home desktop/workstation purchase, and I&#8217;ve just about maxed-out my upgrades on the old Mac Pro. I&#8217;ve been considering picking up a new computer for some time now, but torn over the cost/benefit. Listening to my podcasts it sounded like Apple&#8217;s looking to replace the Mac Pros for the most part, with the newer iMacs. I scoffed at the iMacs back when I bought my Mac Pro, but now they&#8217;re actually pretty nice. Plus, an iMac wouldn&#8217;t generate nearly as much heat, use nearly as much power, and weigh nearly as much as The Beast that is my Mac Pro. So recently, I decided to take the plunge.</p>
<p>I visited the Apple store one weekend for other reasons, and asked them about their iMac stock, you know, since I was already there. They don&#8217;t carry the upgraded model that I wanted (no surprise) so I&#8217;d have to order it online and wait. And that&#8217;s when the fun began&#8230;<span id="more-674"></span></p>
<p>When we returned home from the Apple store that day, it&#8217;s like the Mac Pro just <em>knew</em>. It seemed to retaliate and refused to boot up. Nothing I tried seemed to work &#8211; just the normal startup tone and a gray screen. Eventually, after I sucked it up and ordered the iMac, I realized that it was a system drive failure.</p>
<p>The iMac finally arrived and I was all giddy setting up my new toy. The screen is ridiculous. I just wish it was under better circumstances &#8211; I wanted to migrate my data over to it more gracefully, and at my own leisure&#8230;</p>
<p>I&#8217;ve learned a number of things during the setup of my iMac. First, I already knew that my most recent data backup was not <em>really</em> up to date (my bad), but at least I had something. Secondly, the Library folder is hidden in OS X Lion &#8211; so it takes just a little extra effort to migrate my data over to the new machine. And third, the folder structures in Lion have changed &#8211; significantly. I can no longer do a simple folder copy from one machine to another in order to &#8220;migrate&#8221; my data. It just won&#8217;t work.</p>
<p>I tried the migration assistant, which worked. Kind of. Since the iMac was already setup with a user account it needed to migrate the data over to a new user account. After that, I tested copying the Mail &#038; Calendar folders over to the original user account now that they&#8217;ve been converted to the new folder structure &#8211; but that presented with a handful of permissions issues that I need to work through. The Calendar seemed to be mostly OK after that, but Mail just wasn&#8217;t quite right and, frustrated, I left it there.</p>
<p>I was actually able to get the old system drive working long enough to grab my Library &#038; a few other folders off of it &#8211; so the data backup issue is no longer an issue. Now I just need to get everything Lion-ified.</p>
<p>So here&#8217;s my current plan of action (because I know that everyone&#8217;s just dying to know):</p>
<ol>
<li>I scavenged another drive and rebuilt the Mac Pro with 10.6 &#038; installed all of the updates.</li>
<li>I&#8217;ve started &#8220;restoring&#8221; my Mail, Calendar, and Address Book data back to the Mac Pro in 10.6 format.</li>
<li>Once that&#8217;s confirmed OK, I need to install my older version of iPhoto, make sure the photo library is OK, then link my iTunes library to the proper location and make sure that&#8217;s OK.</li>
<li><em>Then</em>, I need to install the <em>new</em> version of iPhoto so that it&#8217;ll update the iPhoto library database. Apparently I decided at the wrong time to upgrade iPhoto &#8211; JUST prior to the failure. It didn&#8217;t actually install due to App Store connection issues&#8230;	</li>
</ol>
<p>That will be the end of the preparation phase. After that, I can go one of two routes:</p>
<ol>
<li>Upgrade the Mac Pro to Lion and migrate the data over from there.</li>
<li>Reinstall Lion on the iMac and use the Migration Assistant to hopefully grab my data and migrate it over for me from the Mac Pro.</li>
</ol>
<p>I&#8217;m going to reinstall Lion on the iMac anyway, because at this point I&#8217;ve tinkered so much that I don&#8217;t trust it&#8217;s stability. It&#8217;s already started throwing kernel panics. <img src='http://www.elorg.net/wp/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>This effort better be worth it! From what I&#8217;ve seen of the iMac and Lion so far, I think I&#8217;ll ultimately be pretty happy. If I can ever finish getting it setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2011/08/woes-of-lion-hardware-failures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another Forum Move?</title>
		<link>http://www.elorg.net/2011/07/another-forum-move/</link>
		<comments>http://www.elorg.net/2011/07/another-forum-move/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 14:04:47 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[bbpress]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[vanilla]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=670</guid>
		<description><![CDATA[I&#8217;ve gone through so many forum solutions over the years. I moved to bbPress at some point a while ago because I was tired of trying to integrate Vanilla with WordPress. Unfortunately, bbPress doesn&#8217;t seem to be updated often, and is seriously lacking&#8230; almost everything. I think it&#8217;s time to move back to Vanilla (again). [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve gone through so many forum solutions over the years. I moved to bbPress at some point a while ago because I was tired of trying to integrate Vanilla with WordPress. Unfortunately, bbPress doesn&#8217;t seem to be updated often, and is seriously lacking&#8230; almost everything.</p>
<p>I think it&#8217;s time to move back to Vanilla (again). It integrates so much better, and even though I absolutely loved it the last time I used it, it looks so much slicker now.</p>
<p>I&#8217;ve been doing some tinkering, and it&#8217;s NOT going to be an easy process. There&#8217;s a script that&#8217;s supposed to help with the migration &#8211; but it fails horribly for me no matter what I do to try to coerce into behaving. I&#8217;ve mapped out a lot of the fields (maybe I should actually write all of that down and share it) and that portion isn&#8217;t so bad. It&#8217;s the differences in the way that bbPress and Vanilla each store the content of the first post of each topic that&#8217;s going to be the biggest pain. Thankfully my little forum is pretty low traffic, so I can take my time.</p>
<p>So far I&#8217;ve tried a LOT of different approaches, and ruled them all out. I think I have a game plan now, and just need to sit down for a day and get it done. I&#8217;m hoping it actually works and I&#8217;m not wasting my time. It&#8217;s not entirely a waste though &#8211; I consider myself a database n00b, and hacking through all of this is teaching me quite a bit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2011/07/another-forum-move/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forum Login Problems</title>
		<link>http://www.elorg.net/2011/06/forum-login-problems/</link>
		<comments>http://www.elorg.net/2011/06/forum-login-problems/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 13:44:41 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[bbpress]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[frustrations]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=657</guid>
		<description><![CDATA[Awesome! The forum isn&#8217;t allowing logins? Sorry about that&#8230; I didn&#8217;t make any changes to the forum, though I have been attempting to integrate WordPress with a new install of Vanilla. I didn&#8217;t think I had made any changes that would impact bbPress, but apparently&#8230; I did? Check back later this weekend. Might need to [...]]]></description>
			<content:encoded><![CDATA[<p>Awesome! The forum isn&#8217;t allowing logins? Sorry about that&#8230;</p>
<p>I didn&#8217;t make any changes to the forum, though I have been attempting to integrate WordPress with a new install of Vanilla. I didn&#8217;t think I had made any changes that would impact bbPress, but apparently&#8230; I did?</p>
<p>Check back later this weekend. Might need to continue moving forward with the Vanilla install and manual data migration.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2011/06/forum-login-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun With SharePoint Migrations</title>
		<link>http://www.elorg.net/2010/06/fun-with-sharepoint-migrations/</link>
		<comments>http://www.elorg.net/2010/06/fun-with-sharepoint-migrations/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 00:19:38 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=543</guid>
		<description><![CDATA[In my latest project, we have installed MOSS 2007 in a client&#8217;s environment and are working on upgrading/migrating their old WSS 2003 content over. This is somewhere between a parallel and in-place upgrade. I&#8217;ve learned quite a bit along the way &#8211; mostly through trial and error. Lots of issues. Lots of quirks. Lots of [...]]]></description>
			<content:encoded><![CDATA[<p>In my latest project, we have installed MOSS 2007 in a client&#8217;s environment and are working on upgrading/migrating their old WSS 2003 content over.  This is somewhere between a parallel and in-place upgrade. I&#8217;ve learned quite a bit along the way &#8211; mostly through trial and error. Lots of issues. Lots of quirks. Lots of workarounds.</p>
<p>This is a very long, and involved process &#8211; so far (it&#8217;s still in process) using nothing more than out of the box commands, and SharePoint Designer.<span id="more-543"></span></p>
<p>The original data is in a single WSS site collection. Their end goal is to break things up and better organize their content using multiple site collections. Initially we were hoping to be able to use stsadm&#8217;s export/import to migrate the original sites over individually, and directly into their end destination in MOSS.  After much research and testing, that does not appear to be possible.</p>
<ul>
<li>The &#8220;backup&#8221; and &#8220;restore&#8221; options for stsadm are available in both 2003 and 2007, but they will only work for an entire site collection. This was not an option for us.</li>
<li>The stsadm &#8220;export&#8221; and &#8220;import&#8221; options that will save permissions, versions, and modified meta &#8211; is only available in 2007.</li>
<li>2003 has &#8220;smigrate&#8221;, but 2007 does not.</li>
<li>&#8220;smigrate&#8221; saves in a file format that&#8217;s incompatible with 2007&#8242;s stsadm &#8220;import&#8221; &#8211; so we can&#8217;t combine the two to go directly from one to the other.</li>
<li>SharePoint Designer has backup &#038; restore capabilities, but you can&#8217;t use it as a method of upgrading a site. The SPD backup on 2003 creates the same file type as the &#8220;smigrate&#8221; method, while creating the same file type as the stsadm &#8220;export&#8221; method for a 2007 backup. You can only use SPD&#8217;s backup/restore to migrate within the same type of portal, and of the same version (e.g., WSS 3.0 to WSS 3.0, MOSS 3.0 to MOSS 3.0, WSS 2.0 to WSS 2.0 &#8211; you get the idea). We need to go from WSS 2.0 to MOSS 3.0, so this is definitely out.</li>
</ul>
<p>Migration options then become:</p>
<ol>
<li>Backup &#038; restore the entire portal to the new environment. Then perform the cleanup.</li>
<ul>
<li>This will do an in-place upgrade of the portal&#8217;s content.</li>
<li>We would either need to take one long &#8220;outage&#8221;, or do this in batches and backup/restore the database multiple times to make sure we have the most current data.</li>
</ul>
<li>Or the slower, more tedious manual methods:</li>
<ul>
<li>Save each site as a template, copy over, and recreate site using new template.</li>
<li>Save each List and Library as a template individually, and copy them over&#8230;</li>
<li>Or manually recreate each site, and each library, and copy/paste the content across.</li>
<ul>
<li>Down sides to all are that the templates have file size limitations (but you may be able to get around this by changing settings in Central Admin).</li>
<li>It&#8217;s SLOW.</li>
<li>You lose all of the creation/modified meta.</li>
<li>Web parts will most likely need to be recreated &#8211; at least on each site&#8217;s landing pages unless you can copy the default.aspx file over without too much fuss.</li>
<li>Beware of custom columns using these methods if not saving as templates.</li>
<li>Custom column meta may be lost with file types like PDFs when copying/pasting across.</li>
<li>Also &#8211; you will need to recreate your views if not saving as templates.</li>
</ul>
</ul>
</ol>
<p>The client has already been through a SharePoint upgrade to 2003 &#8211; and lost all of their created/modified meta.  Retaining as much meta as possible was our priority, so we opted to go the first route. We performed a test migration and had hashed out a plan for the real migration. The steps have since evolved quite a bit through a lot of trial &#038; error. Also, as things progressed we found that some of our previous steps had stopped working properly so we had to get creative and alter our migration steps accordingly.</p>
<p><strong>** Don&#8217;t forget to run the <a href="http://technet.microsoft.com/en-us/library/cc262231(office.12).aspx">pre-upgrade scan tool</a> before starting! **</strong></p>
<p>This process becomes significantly faster and easier if you perform a thorough review of your content, make note of the permission structure (where it&#8217;s inherited, where it&#8217;s not), plan out the starting location vs. final destination, remove any DVWPs (data view web parts) from web part pages, etc.</p>
<p>Now, let&#8217;s get started.</p>
<p><strong>First &#8211; Backing Up:</strong><br />
Scheduled an &#8220;outage&#8221; with the users (in quotes because the data would still be available to <em><strong>view</strong></em>). We attempted to set the site collection as read-only via SharePoint&#8217;s commandline tools, but GetSiteLock didn&#8217;t appear to be a valid command for 2003?  We ended up locating the content database in SQL (2000) and setting the database read-only <a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&#038;ID=329">very similar to these instructions</a>.  When we were satisfied that the old portal was no longer being written to, we used SQL to backup the database, copied it over to the new location, and restored it to a new database in SQL 2008.</p>
<p><strong>Second &#8211; Upgrading:</strong><br />
The upgrade was actually the easiest part (though I&#8217;m sure there&#8217;s an easier, more direct method than the following steps).</p>
<ol>
<li>Login to Central Admin and create a new temporary site collection.</li>
<li>Remove the database that was created for this site collection.</li>
<p><code>stsadm -o deletecontentdb -url http://MyPortal/MyTempSiteCollectionURL/ -databasename SPAutoDBName -databaseserver MySQLServerName</code></p>
<li>Set the old portal&#8217;s database that was restored to the new environment to be used as the temporary site collection&#8217;s database.</li>
<p><code>stsadm -o addcontentdb -url http://MyPortal/MyTempSiteCollectionURL/ -databasename MyOldPortalsDBName -databaseserver MySQLServerName\MyCustomInstance</code></p>
<ul>
<li>This will take quite a while depending on how much content you have. This is where it upgrades your content.</li>
<li>We actually had to &#8220;<a href="http://technet.microsoft.com/en-us/library/cc262449(office.12).aspx">deletecontentdb</a>&#8221; and then &#8220;<a href="http://technet.microsoft.com/en-us/library/cc263422(office.12).aspx">addcontentdb</a>&#8221; a second time during our initial test. Not during the real migration though. If your site collection doesn&#8217;t seem to have content, give that a quick try.</li>
</ul>
</ol>
<p><strong>Third &#8211; Preparations:</strong><br />
We found that we had to perform the following steps to each site to clean things up and &#8220;2007-ify&#8221; everything.</p>
<ul>
<li>In Site Actions > Site Settings</li>
<li>Reset all pages to the site definition.</li>
<li>Reset the theme to the default.</li>
<ul>
<li>In some cases this is already done.</li>
<li>In some cases it appears to be done, but isn&#8217;t.</li>
<li>In most cases, it&#8217;s very obvious that it needs to be done.</li>
</ul>
<li>Inherit the global navigation.</li>
<li>Grant full control to any accounts that will be used to perform any exports/imports, etc.! This will save headaches.</li>
<li>It&#8217;s a good idea to look through the web parts on your pages for web parts with errors and delete them. Don&#8217;t forget to check for this in your &#8220;closed&#8221; web parts or you may run into warnings/failures in your export/import.</li>
</ul>
<p>In our case, to help down the road we had to also:</p>
<ul>
<li>Add the accounts that we were using to the Site Collection Admins.</li>
<li>The upgraded portal was not Publishing.  We enabled the Enterprise features to have access to the &#8220;Manage Content &#038; Structure&#8221; functionality.</li>
<ul>
<li>Site Actions > Site Settings > All Site Settings</li>
<li>Site Collection Features > end enable the Office SharePoint Server Enterprise Site Collection features.</li>
</ul>
</ul>
<p><strong>Fourth &#8211; The Migration!</strong><br />
Initially we exported and imported via <code>stsadm</code>, but it was giving us errors on the first few sites that we tried.  I don&#8217;t recall the exact details at this point, but we eventually tried SharePoint Designer which seemed to do the trick.</p>
<ul>
<li>Open SharePoint Designer.</li>
<ul>
<li>If the account that you&#8217;re logged into your computer with does not have appropriate access, right-click on the SPD shortcut and &#8220;run as&#8230;&#8221; an account that does.</li>
<li>File > Open Site > type in the URL of the site to be migrated > click &#8220;Open&#8221;</li>
<li>In the SPD menus open Site > Administration > Backup&#8230;</li>
<li>File > New&#8230; > Web site</li>
<li>Specify &#8220;Empty Web Site&#8221; and enter the full URL to the destination site on the appropriate site collection.</li>
<li>Site > Administration > Restore&#8230;</li>
</ul>
</ul>
<p>Voila! If you don&#8217;t run into issues with file sizes, or a number of other misc. errors, you have just upgraded &#038; migrated your first site.</p>
<p><strong>Fifth &#8211; Oops, Missing Documents:</strong><br />
The above steps seemed to work just fine for a while. Then when reviewing our migrated sites in more detail, we started noticing that Document &#038; Picture Libraries were randomly missing files.  Lists appeared fine.</p>
<p>None of the libraries in the original portal had versioning or content approval enabled or required. However it seems as though during the upgrade process SharePoint believed some of the files to be drafts? This is the only explanation that I have been able to think of that makes sense.</p>
<p>The solution was to use <code>stsadm</code> to export the sites. SPD is essentially using <code>stsadm</code> already, but with some default settings. In order to set other options (like setting the version levels to export) you will need to use <code>stsadm</code>:</p>
<p><code>stsadm -o export -url http://MyPortal/MyTempSiteCollectionURL/MySite/ -filename MyFileName -versions 4 -includeusersecurity</code></p>
<p>I won&#8217;t spell out the details of importing via <code>stsadm</code> because&#8230;</p>
<p><strong>Sixth &#8211; Oops, Now What Happened to the Meta?</strong><br />
That worked great. For a few sites. Then for some reason (still to be determined?) all of the created/modified meta was reset to the import user account and timestamp.</p>
<p>After further testing, the best combination appeared to be:</p>
<ol>
<li>Export via commandline as above.</li>
<li>Using SPD, create an empty site at the destination.</li>
<li>Restore using SPD.</li>
</ol>
<p><strong>Seventh &#8211; Where&#8217;s the Love for Workspaces?</strong><br />
Workspace migration was a different story. They seem to be tied to their parent site and could not be exported &#038; restored like the other sites.  Given that I could not find an option in <code>stsadm</code> to &#8220;include children&#8221; &#8211; I assumed that this was not available. When in fact, <code>stsadm</code> appears to include child sites and workspaces automatically.</p>
<p>Before we figured this out, we started  using SPD and checked the option to include subsites.  This lost us a few of our files, but in those cases we weren&#8217;t overly concerned about the meta and manually copied those over.</p>
<p>Another option (especially if you&#8217;re relocating the workspace within your site structure) is to:</p>
<ul>
<li>Use <code>stsadm</code> to export the parent site</li>
<li>Use SPD to create an empty site.</li>
<li>Use SPD to restore the parent &#038; subsites.</li>
<li>Use &#8220;Content &#038; Structure&#8221; to move the workspace from its imported location to its final destination.</li>
</ul>
<p><strong>Another few notes:</strong><br />
Some sites would duplicate their list items (and in one case, triplicate) on import. When possible, using SPD to perform the import seemed to do the trick. If you prefer the <code>stsadm</code> method, try using the <a href="http://technet.microsoft.com/en-us/library/cc261866(office.12).aspx">updateversions</a> option.</p>
<p>There are a few other &#8220;quirks&#8221; that we&#8217;ve run into while migrating content, but I&#8217;ll save that for the next post.</p>
<p><strong>Update:</strong><br />
For some reason, reverting back to the stsadm import method worked just fine after returning from the weekend. Not sure why this stopped working in the first place &#8211; but very happy that it&#8217;s behaving now.</p>
<p>Lesson? SharePoint Designer and stsadm are finicky and fragile. When one starts acting up, try using the other to see if it does the trick.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2010/06/fun-with-sharepoint-migrations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating WordPress &amp; Vanilla [with Existing Content]</title>
		<link>http://www.elorg.net/2008/06/integrating-wordpress-vanilla-with-existing-content/</link>
		<comments>http://www.elorg.net/2008/06/integrating-wordpress-vanilla-with-existing-content/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 22:00:56 +0000</pubDate>
		<dc:creator>elorg</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[vanilla]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.elorg.net/?p=73</guid>
		<description><![CDATA[If you've googled "WordPress Vanilla integration" then I'm sure you've come across the instructions on the <a href="http://lussumo.com/docs/doku.php?id=vanilla:integration:wordpress">Lussumo website</a>.  Thanks to them for taking some time to write that up!  Unfortunately, that is no longer sufficient because it documents integrating WordPress 2.0.4 and Vanilla 1.0.1.  At the time of writing this entry, WordPress is at 2.5.1 and Vanilla is at 1.1.4. In addition, every tutorial or bit of info that I've found has made the assumption that everything is starting out fresh and new. That makes it almost easy as cake! However, that doesn't entirely work for me since I already had both WordPress and Vanilla installed, with users and content - functioning independently.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve googled &#8220;WordPress Vanilla integration&#8221; then I&#8217;m sure you&#8217;ve come across the instructions on the <a href="http://lussumo.com/docs/doku.php?id=vanilla:integration:wordpress">Lussumo website</a>.  Thanks to them for taking some time to write that up!  Unfortunately, that is no longer sufficient because it documents integrating WordPress 2.0.4 and Vanilla 1.0.1.  At the time of writing this entry, WordPress is at 2.5.1 and Vanilla is at 1.1.4. In addition, every tutorial or bit of info that I&#8217;ve found has made the assumption that everything is starting out fresh and new. That makes it almost easy as cake! However, that doesn&#8217;t entirely work for me since I already had both WordPress and Vanilla installed, with users and content &#8211; functioning independently.<br />
<span id="more-73"></span></p>
<p>I want to try to summarize all of the steps that I took in an effort to help anyone out there that&#8217;s looking to do this, as well as to document it for myself in the event that I need to do this again in the future. These steps are all specific to my circumstances &#8211; which are probably not all that common. However, maybe this can serve as a solid starting point and give ideas on what to think about.</p>
<p><strong>My situation:</strong><br />
I was running WordPress 2.5.1, Vanilla 0.9.6(?) (shame on me for not staying up to date!) with 1 WordPress user, and a handful of Vanilla users.  I did NOT have any subdomains setup (I believe this may affect the cookies).  I was in the process of moving my website to a newer server and figured that I might as well use this as an opportunity to get things setup properly, integrated, and up to date.</p>
<p>The steps I took were probably NOT the most efficient because I was/am still learning. I&#8217;m sure that if you have the knowledge, you could script much of this &#8211; and I know the Vanilla/WordPress community would very much appreciate something along those lines.</p>
<p>It&#8217;s important to keep in mind that each user, blog post, forum category, comment, etc., each have their own incrementing ID#s that will need to be taken into account when planning your upgrade/migration. Those IDs all correspond to each other, and depending on your situation you may need to import your data in a different order than I have to make things easier for yourself.  We&#8217;ll come back to this later.</p>
<p>I was starting fresh on my new server which proved to make most things easier.  The files on my old server were unusable as they were, so monkeying with the databases didn&#8217;t affect anything (just make sure you make frequent backups before/after you do anything &#8211; just in case&#8230;!). The Vanilla upgrade instructions from 0.9x to 1.1.4 weren&#8217;t very thorough, so I kind of worked around them.</p>
<p>I followed the instructions from the Lussumo website <a href="http://lussumo.com/docs/doku.php?id=vanilla:integration:wordpress">here</a> and had to make some adjustments to make everything play well together and work.  Here&#8217;s a summary with some notes and extra steps, but be sure to read through the Lussumo instructions too.</p>
<p><strong>Be sure to read through everything before starting in the event that you need to change the order of some steps to accommodate your situation.</strong></p>
<ol>
<li>If you&#8217;re starting with an older version of Vanilla you&#8217;ll need to prep the database.  There&#8217;s a command that the upgrade script may say that you need to run depending on the version you&#8217;re coming from.  I wasn&#8217;t able to find it in the <a href="http://lussumo.com/docs/doku.php?id=vanilla:upgrading">Lussumo upgrade instructions</a> (and I forgot to capture it during the process. Start the upgrade script and run the sql command if instructed, but stop there.</li>
<li>It&#8217;s probably best to start fresh. If you have pre-existing installs, backup your databases and drop the tables before starting.</li>
<li>The Lussumo instructions recommend installing WordPress first. I&#8217;ve found that this may &#8220;randomly&#8221; give you &#8220;500 Internal Server Error&#8221;s when attempting to install Vanilla <em>after</em> WordPress.  For less of a headache, switch the install order and install Vanilla first.</li>
<p>Here&#8217;s a tip: Set your &#8220;throw-away&#8221; Vanilla admin account username and password to something different than you&#8217;re going to set for WordPress. This will help with troubleshooting in the future if you have problems logging in.</p>
<li>Install the latest version of WordPress.</li>
<p><em>During the install, I specified a custom table prefix. I would recommend doing this as well. If you do this, make note of the custom prefix for later steps.</em></p>
<p><em>Note that if you need, you can put WordPress in its own folder while keeping your root directory clean.  See more info <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">here</a>. Although, this seemed to cause problems with my integration. I think it had something to do with the cookie path because the forum folder no longer resided inside where WordPress was located&#8230;(?) so I skipped this particular step.</em></p>
<li>Setup the secret key! This is new in WordPress, so this information is not in the Lussumo instructions.  Check <a href="http://www.blaenkdenum.com/wordpress-25-and-vanilla-forums/">here</a> or <a href="http://lussumo.com/community/discussion/8056/wordpress-25-bridge/">here</a> for more info. I updated the WordPress wp-config.php file as well as the Vanilla conf/database.php file &#8211; but I did NOT update the WordPress &#8220;options&#8221; database table!</li>
<li>Now would be a good time to setup some <a href="http://www.mattcutts.com/blog/three-tips-to-protect-your-wordpress-installation/">security precautions</a> while everything is new and easier to modify.  The <a href="http://semperfiwebdesign.com/plugins/wp-security-scan/">WP Security Scan plugin</a> can help. <a href="http://semperfiwebdesign.com/documentation/wp-security-scan/change-wordpress-database-table-name-prefix/">Change your WordPress database table prefix</a> (as mentioned previously), <a href="http://semperfiwebdesign.com/documentation/wp-security-scan/change-wordpress-admin-username/">rename your WordpPress Admin user account</a>, etc.</li>
<li>Tell Vanilla to use the WordPress user table by updating the conf/database.php file. If you set a custom prefix, make sure to make the necessary adjustments to the instructions to accommodate that.</li>
<li>Run the query to add the Vanilla-specific columns to the WordPress user table.</li>
<p><em>Leave out the line to add the &#8216;Email&#8217; column. I&#8217;ve found that this isn&#8217;t used &#8211; perhaps it was at one time. Note that the previous step directs Vanilla to use the already-existing WordPress &#8216;Email&#8217; column, so why add another one into the mix? If you already have a database backup that has this column in it, then you can leave it &#8211; and maybe remove it after your data import.</em></p>
<li>Create the People/<a href="http://docs.google.com/View?docid=dhg8h5q9_1dmb7m967">People.Class.WordpressAuthenticator.php</a> to setup the authentication. <em>However</em>, follow the instructions <a href="http://lussumo.com/community/discussion/8056/wordpress-25-bridge/">from this thread</a> to do so.</li>
<li>Update the Vanilla conf/settings.php file to use the new Authenticator. Also comment any lines that refer to the old &#8220;LUM&#8221; user table if it exists.</li>
<li>Run the SQL command to set the WordPress Admin account to be the Vanilla administrative account, or just update the value manually.</li>
<p>Ok. You&#8217;re most of the way there now.</p>
<li>Make sure you can login to WordPress, and then stay logged in when you navigate to your forum.  If not, check the Vanilla cookie domain, the authenticator, and the secret key in the wp-config.php file and the database.php file all match. At this point you should be able to stay logged in on the forum, and be able to browse around as the admin.  <em>I have not yet gotten the Vanilla login page to work. That is still in progress.</em></li>
<p>Once that was done, I had to import my database tables. If you&#8217;re fluent enough, you can probably just do this all at once with a large database import. I prefer to do this in steps so if something breaks, I&#8217;ll know where to start looking.</p>
<li>First, setup the basic structure that the rest of the data relies on. Import the categories, tags, roles, etc.: LUM_CategoryRoleBlock, LUM_Category, LUM_Role, and wp_terms. You can do this by copying the appropriate lines that say &#8220;INSERT INTO&#8221; from the sql backup file, and pasting them into the sql command field in phpmyadmin. Don&#8217;t forget to adjust the table names as necessary.</li>
<li>Browse to the forum as the admin and confirm that the roles and categories exist. Do the same for the WordPress tags.</li>
<li>Once that was setup, I opened the sql file and literally copied and pasted the data for the forum user accounts into the corresponding cells of the new users table. If you can script this &#8211; even better.</li>
<p><em>I really only had user accounts on the forum, so I transferred that data over to become the new hybrid user accounts. This will be more complicated if you had a number of different user accounts in both WordPress and Vanilla.</em></p>
<p><strong>User ID&#35;&#8217;s are important!</strong> <em>If you import a user with an ID of &#8220;2&#8243; into the database as user with an ID of &#8220;5&#8243;, then all of the associated posts will point to the wrong user! This also means that whatever the user ID is for your WordPress admin account, this will also be the Vanilla admin account. So <strong>plan this part carefully.</strong></em></p>
<p><strong>Also important!</strong> <em>WordPress does not allow users to change their usernames, while Vanilla DOES! I&#8217;m not sure how this will affect WordPress if a user attempts this&#8230;</em></p>
<li>Next, WordPress has a second &#8220;_usermeta&#8221; table. You&#8217;ll need to populate this as well.  This stores things like First &amp; Last name, WordPress access type, nickname, etc. I don&#8217;t yet know how to redirect Vanilla to use this information, so there&#8217;s some data duplication. If your users update particular pieces of information, they may need to do it for both applications.</li>
<li>Again, perform a search for * users on the forum and make sure that everyone appears as they should. Open the WordPress Dashboard and browse the users to ensure that they look correct with the appropriate access as well.</li>
<li>When the user accounts are all imported, then you can begin importing the WordPress blog entries, WordPress pages, and the Vanilla discussions using the same method as the structure items above (wp_posts, wp_term_relationships, and LUM_Discussion).</li>
<li>After the blog entries, pages, and discussions are imported, then you can import the comments &amp; replies (wp_comments and LUM_Comment).</li>
<li>If you want to carry over the Vanilla user IP history or the WordPress post edit history, you can do that now (LUM_IpHistory, wp_postmeta). I did some pruning to keep the database size manageable.</li>
<li>Don&#8217;t forget any links that you might have had setup in WordPress (wp_links).</li>
</ol>
<p>I think that was it!  Easy, huh?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elorg.net/2008/06/integrating-wordpress-vanilla-with-existing-content/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

