A blog about .NET, Graffiti, Community Server, and Kevin's life

Version 2.1 of the DotText-CS-Converter is available

DotText-CS-Converter is a conversion program to convert all .Text v0.95 content to Community Server. Version 2.1 is now available, which adds a few features and improves on the stability and speed of v2.0. Here's what's new:

  1. Keep Category IDs the same. The CS CategoryIDs will now be the same as dotText CategoryIDs (if the Use converted ID's option is left checked). This will allow any URLs that reference a specific category instead of a specific post/article to remain the same.
  2. Converting blog content is now optional. A couple people asked for the option to make the converting of all the weblog-specific content optional. If you uncheck the new convert weblogs option you can just import users (and dotText galleries if desired).
  3. Ludicrous Speed. Dave, from BlogOnTheWeb.Com, was kind enough to let me borrow a copy of his massive dotText database with 3,138 blogs to test the DotText-CS-Converter. Using that, I was able to better locate where some of the remaining performance bottlenecks were and squash them. I converted his blogs using version 2.1 (with referreral and gallery options turned off) in a smoking 22 minutes on my laptop. Converting my own blog now takes 3 seconds (with referrals on)!
  4. Better validation and error handling of invalid data. Testing with Dave's database also enabled me to find and fix several bugs that cropped up when converting a .Text blog with blank/invalid configuration. Previously if certain critical dotText fields were blank or invalid (username, password, email, application) they could cause the converter to error. Now the utility will do much better validation on these fields and can handle most crazy circumstances. If the username is blank, it will not convert the blog. If the password is blank it will set it equal to the username. If the email is blank or invalid, it will create a fake one (because CS requires there to be one). If the Application is blank or invalid, it will create a unique AppKey. Also I have found several cases where people have had dotText trackbacks or referrals that were linked to posts/articles that no longer existed, which caused issues for the converter. It will now check for this and only try to convert comments, trackbacks, and referrals that point to a post or article that actually exists.
  5. Improved referrer performance. I use the regular Community Server Data Provider (DP) to save the referrals. The way it works is that I add all of the referral objects to an ArrayList and then pass that to the DP to save. The CS DP opens a database connection, loops through each referral, and calls a stored proc to add it to the database. So there's a possibility that for a lot of items in the list the connection may timeout. Rather than pass all of the referrals in one massive list, I changed it to pass referrals to the DP in smaller chunks. This change will also make the referral progress bar display more accurate.
  6. Improved Options UI. I split out the Conversion Options screen in the wizard into two screens to make it less crowded and more readable.
  7. Improved Help File. I made the included READ_ME_FIRST file a HTML document (instead of plain text) to improve the readability and added some more verbage in some spots.

Download Link: DotText-CS-Converter_v2.1.zip

  1. Unzip the file.
  2. Read the READ_ME_FIRST.HTML file for more information and detailed directions.
  3. Run the DotText-CS-Converter.exe program.

For questions or help, email me or just ask on this blog or in the CommunityServer.org forums so everyone can see the answer. I will post any updates to this tool on my blog and in the Community Server forums, but hopefully this will be the last version (famous last words). Thank you to everyone who helped me test this tool and have offered suggestions and feedback! You can read my previous posts for background information on the DotText-CS-Converter:

» Similar Posts

  1. Working on version 2.1 of DotText-CS-Converter
  2. Announcing the DotText-CS-Converter tool
  3. Version 2 of DotText-CS-Converter is released!

» Trackbacks & Pingbacks

  1. Dave Burke's Blog — March 26, 2005 11:30 PM
  2. Como prometí, unos comentarios de como me fue con la migración de .Text a Community Server.

    Nazul's Weblog — March 27, 2005 7:23 PM
  3. It looks like blogs.msdn.com was upgraded from .Text to Community Server this weekend. Congratulations...

    Kevin Harder — April 3, 2005 3:14 PM
  4. (e)Mail Insecurity — April 8, 2005 4:04 AM
  5. (e)Mail Insecurity — April 8, 2005 4:09 AM
  6. Tiernans Comms Closet — April 8, 2005 6:46 PM
  7. Impersonation Failure — April 18, 2005 3:03 AM
  8. Impersonation Failure — April 18, 2005 3:08 AM
  9. [Editor: This list is a work-in-progress. Please feel free to drop me a note at deving@3sharp.com if...

    水村部落 — May 7, 2005 9:53 AM
  10. I wanted to let everyone in the Community Server world know that I am working on a new version of the...

    Kevin Harder — May 11, 2005 10:45 PM
  11. stevex.Text — May 17, 2005 10:57 AM
  12. stevex.Text — May 17, 2005 10:57 AM
  13. Rob Eberhardt — May 23, 2005 4:08 PM
  14. Rob Eberhardt — May 23, 2005 4:19 PM
  15. What is DotText-CS-Converter?DotText-CS-Converter is a conversion program to convert all .Text v0.95...

    Kevin Harder — June 9, 2005 5:37 PM
  16. 原文地址:


    http://blogs.3sharp.com/Blog/deving/articles/274.aspx



    Documentation, Tutorials, and References...

    木可-奔跑的蜗牛 — June 13, 2005 3:30 AM

» Comments

  1. Devin L. Ganger avatar

    Very nice. I just used your tool to convert my family's blogs over, along with photo galleries, and so far it looks wonderful. I hope to have the live site moved over to CS before I head for bed.



    Thanks for this wonderful utility.

    Devin L. Ganger — March 27, 2005 12:00 AM
  2. jayson knight avatar

    Great utility (I actually like it better than the one Robert and I wrote). The referrals are taking *forever* though (over an hour at this point); the DTS packages I wrote do the referrals blazingly fast (I have ~35k rows in the blog_Referrals table, DTS rips through them in about 30 seconds due to the fact that the schema mapping is one to one). If you'd like the DTS code for referrals I'd be happy to send it to you, it would be completely transparent to the user. Cheers.

    jayson knight — March 30, 2005 6:05 PM
  3. Jarrod Marshall avatar

    I get an error stating something about invalid colum "IsActive"

    Jarrod Marshall — April 4, 2005 10:54 PM
  4. G. Andrew Duthie avatar

    I'm getting the same error message as Jarrod Marshall...an exception is thrown complaining that column "IsActive" is invalid. Any suggestions?

    G. Andrew Duthie — April 5, 2005 1:28 AM
  5. G. Andrew Duthie avatar

    Never mind my comment on "IsActive". I found the wiki that mentioned that this column might be missing from a blog that had been upgraded to .Text .95 from an earlier version. Once I created the column, the converter worked fine.



    Now I just need to figure out how to make it work for a single-user blog. :-)

    G. Andrew Duthie — April 5, 2005 1:51 AM
  6. kevin avatar

    G,


    I'm glad you got the conversion working!



    How's the single user blog piece going? I wanted to do that as well, but back when I converted over there were a lot of people having issues with it so I stuck with the default multi-user setup. From reading the CommunityServer.org forums though, it appears most of those have been solved and quite a few people are running live single-user blogs now.

    kevin — April 6, 2005 12:58 PM
  7. nick marmolejo avatar

    Awesome tool. It works great.


    Just wanted to know if there are any plans to allow me the choice of which blog theme I want to apply to all the converted blogs.



    We have a corporate standard theme and I would like to specify that theme get applied to all the converted blogs vs having to manually reset all of them.



    Thanks

    nick marmolejo — April 8, 2005 4:47 PM
  8. kevin avatar

    Thank you Nick!



    If I create a new version of the DotText-CS-Converter (which looks doubtful at this point unless any bugs are found), then I will add in the ability to specify the default skin that it will use when each blog is created.



    For now, I'm working on a SQL script (or possibly client tool) that will allow admins to modify serialized properties on one or more blogs at a time. The theme would be one of the properties that you would be able to change.

    kevin — April 18, 2005 10:10 AM
  9. Alexandru Minza avatar

    First of all I would like to thank you for this great tool! It converted all the posts and galleries without a glitch!



    One question though - the .Text blog galleries were all converted to single galleries within CS but with different categories reflecting the old gallery names. This is somewhat confusing and makes the browsing and organizing more difficult. Are you considering modifying this behaviour?

    Alexandru Minza — April 22, 2005 4:33 AM
  10. kevin avatar

    Alexandru,


    Thanks! Yes the switch from multiple .Text galleries to a single CS gallery with multiple categories was by design. That was the approach that Ken Roberston - one of the Telligent developers - took with the nGallery to CS Gallery converstion tool. As I understand it, the standard practice in CS is to create one gallery per user, and use categories for different kinds of images, similiar to how in CS Blogs each user has a blog with different categoreis for different kinds of posts. The converter should have created one CS Gallery for each unique .Text user that had galleries - is that what happened? Assuming it worked correctly, I'm not considering modifying the behaviour at this time. Sorry!

    kevin — April 22, 2005 5:54 PM
  11. Scott Galloway avatar

    When trying this on mine, I can't get it to run. Every time I get this in the error log



    ============================================================


    DotText-CS-Converter Log File


    06/05/2005 12:03:21: New Converstion Job Started


    ============================================================



    06/05/2005 12:03:21: Error occured during conversion!


    Error Message: Object reference not set to an instance of an object.


    Stack Trace: at CommunityServer.Data.WeblogSqlDataProvider.GetWeblogs()


    at KevinHarder.DotText_CS_Converter.Conversion.Convert() in D:\Packages\DotText-CS-Converter\source_code\Conversion.vb:line 213



    Any ideas?

    Scott Galloway — May 6, 2005 7:03 AM

Comments are closed