Part 4, Getting the conversion tables ready for CS to DNN

This is the fourth post in a series of blog posts about converting from CommunityServer to DotNetNuke.

A brief background: I had a number of websites running on CommunityServer 2.1, I decided it was finally time to ditch CommunityServer due to the change in their licensing model and pricing that made it not good for the small guy. This series of blog posts is about how to convert your CommunityServer based sites to DotNetNuke.

Series of Posts:
Part 1: An Introduction
Part 2: DotNetNuke Installation
Part 3: Converting users from CommunityServer to DotNetNuke
Part 4: Getting the conversion tables ready for CS  to DNN
Part 5: Moving Forum threads from CommunityServer to DotNetNuke
Part 6, Community Server to DotNetNuke Moving Forum replies and attachments
Part 7: CommunityServer to DotNetNuke handling URLs

This is Part 4, Getting the conversion tables ready for CS to DNN

In the previous blog post we talked about our first conversion SQL Script. We skipped over a couple of sections in that SQL Script as we only focused on the User conversion that was going on in there. In this blog post we’re going to talk about the other things going on in the script.

First things first, you can find the scripts on the codeplex project http://cstodnn.codeplex.com/

This first script, besides bringing users over into DotNetNuke, configures a few tables that we are going to use in the latter scripts, and in our URL handling later on, to match up the data from CommunityServer Forums and Users to DotNetNuke Forums and Users.

The script starts off by deleting three tables

  • [TARGETDB].[dbo].[conversion_users] – mapping CS user ids to DotNetNuke user ids
  • [TARGETDB].[dbo].[conversion_forums] – mapping CS forum ids to DotNetNuke forum ids.
  • [TARGETDB].[dbo].[cs_forums_topics] – mapping CS forum post ids to DotNetNuke forum post ids.

    It then creates those three tables. They are pretty basic tables, take a look at the script for more details on the columns in each one. From there the script deals mostly with users for a while (See post #3) until we get commented section for “Get Forum Groups.

    This section of the script gets all of the Forum “Groups” from CommunityServer and pulls them over into the DotNetNuke Forum_Groups table. These are just for grouping forums, which we pull over next. The Forums themselves are pulled into Forum_Forums with their corresponding group IDs.

    After that we start populating the Conversion tables, mapping user ids, and forum ids. We don’t use the cs_forum_topics table until the later SQL scripts. The very last thing done in this script is to create a stored procedure called Forum_Post_Add_Conversion. This script will get used in the later scripts as we go through and import forum posts. This PROC is slightly different than the standard Forum_Post_Add stored procedure, tweaked slightly to make it work with the import process.

    Once the conversion itself is done you could delete the procedure. You won’t be deleting the Conversion tables though anytime soon, in a future blog post we’ll show you how we use those for handling all the old CommunityServer URLs and mapping them to DotNetNuke URLs.

  • Recent Comments

    There are currently no comments. Be the first to make a comment.

    Add Comment

    Please add your comment by filling out the field(s) below. Your comment may need to be approved before it becomes visible.
    Enter your first name for display with the comment
    Enter your last name for display with the comment.
    Enter your comment here.
    If you can't type Human2 in, you can't post, plain and simple.
    Submit Comment Cancel

    Chris Hammond

    Chris Hammond

    is a father, husband, leader, developer, photographer and car guy. Chris has long specialized in ASP.NET and DotNetNuke (DNN) development, so you will find a variety of posts relating to those topics. For more information check out the about Chris Hammond page.

    If you are looking for DotNetNuke consulting please visit Christoc.com Software Solutions

    Find me on Twitter, GitHub and LinkedIn.