Style by Pixelexit @Russ who has been great to work with and extremely helpful
This was a custom conversion from DotNetNuke (DNN) ActiveForums performed by gConverter, with countless hours of manual conversion by yours truly. I searched and inquired as much as I could, but in the end, they were the only one that offered to take on the task.
Our club consists of local aquarium reefkeeping hobbyists within the Great State of Iowa, and a few bordering cities as well. We have paid club membership and also paid club sponsorship. We hold regional events for club members and 2 yearly events for all (frag fest - corals, fish and dry goods, kind of like a swap meet).
Our organization is 100% volunteer, founded back in about 2007, and in 2011 we hosted MACNA, the annual Marina Aquarium Conference of North America, which is the largest conference of it's type.
Being a long-term aquarium hobbyists myself (30 years) and a forum junkie, combined with my general dislike for DNN and my love for XF, I put together a plan and moved forward.
At first we didn't even know if it would be possible to convert, or how rough it would turn out. So we did a dry-run back in August 2014. It turned out a lot better than expected. gConverter was able to recover an old PM system that had been broken since an upgrade, as well as the current PM system (which was also broken, not allowing viewing of anything past 10 conversations). Post content was converted pretty well, except for highly formatted posts. DNN stored all posts in HTML format, and boy was it messy.
The attachment system used in DNN was so horrid, I was amazed that they were able to recover any of it. They didn't get it all, but in my book, they did good enough. It was hard enough for our users to make sense of how to make attachments work, and to make it worse, there were multiple ways to do so, which meant multiple scenarios about how they were stored.
After tracking down bugs and getting the go-ahead, we moved forward with the live conversion. For some reason, gConverter started over from scratch. So the final result took 2+ weeks, plus another week after I found some big errors.
Over the last year I have become a whiz trying to figure out the right way (via learning the WRONG way) about how to manipulate the Xenforo database by using a combination of Excel, DibDB, Notepad++, MySQL queries, etc. I had to, because when working with people halfway across the world, not everything gets communicated well.
After the conversion, I had to run nearly 4000 queries to clean things up. Mainly related to the need to change about half the usernames, because DNN used a unique "username" and a non-unique "DisplayName". They couldn't convert over the displayname. I learned a few things the hard way that you can't just swap out the usernames and expect it to work. I basically had to ensure that I had a unique DisplayName field (an text case is irrelevant in Xenforo, by the way, i.e. Mike = mike = mIke, that was fun to learn) prepend all usernames that needed to change with "diff" (via SQL), then go into the ACP and search for "diff" and manually change each username by deleting the prepend. So the first change didn't roll through the system, but the second did, and this was my solution. Thankfully, it only took about 3-4 hours to do this.
I also managed to figure out how to completely rebuild the user groups in the xf_user table manually. I had to basically use excel and DigDB and to create a full set of queries for xf_user to update multiple fields in every line.
The conversion missed a ton of posts and convos associated with the former admin account, labelling them as owner id "0" instead of "1". I discovered this on a test xf->xf import when things went missing. So after hunting all of these instances down, I wrote a batch of SQL queries to repair things, imported, all clear.
After everything was all polished up and functional, I imported xf->xf and then manually converted all content generated on the live site. This required pulling the post content from MSSQL to Excel, cleaning it up, matching up the DNN users to the XF users, then using @Jon W post as user and @AndyB Change Date and Change Author to manually recreate all post and threads. This also required me figuring out how the 4 Conversation tables inter-relate, then pulling all the PMs from DNN into excel and formatting all the data into .csv files that I could import into MySQL, as well as identifying all changes that needed to be made to existing entries (for new replies to existing convos, etc)
Redirects were also fun, because DNN changed the link format with every upgrade (2 of them) and so links are all over the place. I still haven't tracked them all down. Thanks to @Jake Bunce for helping me figure them out, and @Kier for making Post Content Find Replace, without that, I'd be screwed.
I can't tell you how many hours I put into this conversion, and I really hope I don't have to do anything like it again.
Here are the addons we are currently using. Not sure we're going to keep all of them, there are a few that I used during the conversion and will eventually remove but they are useful for tracking down problems
Xenforo Resource Manager
Xenforo Media Gallery
User Essentials (enhanced)
Xenporta2 (being tested and configured)
XenAtendo Upcoming Events Widgets
Widget Framework & Xenfacil's Wdigets
Conversation Button under Avatar
Nodes as Tabs
Genesis (last post avatar)
Quick Reply Preview
"Stay Logged In" checked by default
Remove your Vote
User Banner Groups
HX Lock thread reason
Post as User (which conflicts with Quick Reply Preview, so disabled)
Add "all post" and "all thread" by user in member card
Still planning on possibly installing
s9e Media BB Code pack
Topic starter's permissions
First Post Edit Time Limit
Dup thread merge
Dup post merge
along with a bunch of others, but for now, it's running very smoothly.