DNN Blog

Mar 4

Posted by: Chris Hammond
3/4/2011 12:05 AM  RssIcon

If you didn’t see Shaun’s blog post earlier this week you should give it a good read through. The post announced the fact that starting with Version 6.0 (targeted for Q2 2011) DotNetNuke will no longer be developed/released as a VB.NET Application. All development of the core platform will be in C# (this does not mean that the community modules for the platform will change languages).

Most of the feedback I have seen so far has been rather positive, most folks who use DotNetNuke on a regular basis understand that the language that the framework itself is written in really doesn’t make a bit of a difference to 99.9% of all DotNetNuke based websites. The framework is there for you to build on top of, and while it is open source, it is actually recommended by all experts that you don’t modify the “core” code of the framework, if you need to make changes you do it through the use of modules and custom providers.

Extensions (modules, providers, skins, etc) for DotNetNuke have always been language independent, you can develop your extensions in whatever language you want. I personally have developed all modules for the past 4-5 years (besides the Wiki module) in C# rather than VB.NET out of personal preference.

So the framework being VB.NET or C# shouldn’t make a difference to most people.

People have questioned the decision still, why would DotNetNuke Corporation bother spending time with the conversion? Aren’t there plenty of other things in the platform that could use the attention? What about all the “bugs” this will introduce into the platform? That is the biggest question I have seen from people so far, and I’ll be honest with you. I was one of those people, I had the very same concerns.

When the discussion to convert to C# began I was very much against it. Every one of those folks listened to me and heard my arguments. Having worked at DNN Corp for a year now, and having been part of the community for 8+ years, I know there are plenty of things in DotNetNuke that could use attention to make them better, easier to use, etc. I told Shaun, I told Rob (VP of Engineering), and I told Navin, our CEO.

Before the final decision to convert was made I made some phone calls to engineering and got myself a copy of the C# version of the upgrade package, with VERY VERY early DotNetNuke 6.0 code. I wanted to test this code out myself, I wanted to prove that moving to C# at this point in time was a bad idea.

So I downloaded one of my production websites, I got it up and running locally, and then I upgraded from v5.6.1 6.0.

Do you want to know what happened? The damn website worked….. The upgrade worked. I was very surprised. Sure there were a couple of very minor issues, a problem with the ADMIN pages, but digging through the website, my custom modules worked, my pages worked, my content was all there. My event viewer (event log) was fine, it wasn’t throwing errors, things were working.

This was very early code, sure there were a few things that still needed to be worked on (removing old VB files, etc) but the website was working, and it was working far better than I had expected it to be.

I was sold. I called Rob, I called Shaun, I apologized, I told them I was wrong, and I told them I supported the move to C# because I knew the ultimate benefits would be worth it (see Shaun’s post for those).

So, for all of you doubters out there, I totally and 100% know where you are coming from, I’ve been there, but I think that you will ultimately find that this move is going to be great for DotNetNuke.

That’s not to say there won’t be issues, there are always issues, but DotNetNuke Corporation strives to make each and ever release of the platform better, future releases won’t be any different.

If I haven’t eased your mind, or even if I have, I would encourage you to check out the CTP for V6.0 when it is available later this month. Test out the C# version, run some of your production websites through upgrades in a test environment.

We definitely need your help making sure things work, I will sure be doing a lot more testing of my websites before the official release, far more than I typically do as I generally am limited in time. I will make the time over the next month or two to make sure that I can do all that I can to make 6.0 the best release yet.

12 comment(s) so far...


Gravatar

Re: DotNetNuke is switching to C#, uh oh

I usually don't mess with the CTP, but in this instance I will definitely be using it. My main concern is with the all of the authentication scenarios especially Active Directory.

By Mark ODonnell on   3/4/2011 9:43 AM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

Yah, the success of this transition is really going to be about the community stepping up to test and report problems.

By David OLeary on   3/4/2011 9:43 AM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

After version 6 gets released, I would like the see DNN corp halt development of new features and go on a 6 month / 1 year bug hunt! Fix all the outstanding issues and get a rock solid baseline platform. that doesn't mean stop planning new features but don't introduce new issues. Probably a pipe dream but one can hope.

By Robert on   3/4/2011 12:16 PM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

Chris, I am sorry for the question but I do not know anything.

So what happens to the VB versions? Can people using VB version switch (upgrade) to C#? Or only new websites can be created in C#?

I am sorry but can you can please explain?

By Frozen DNN on   3/4/2011 5:34 PM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

Frozen DNN, if you reread my post, you will see that I talk about an upgrade in the post.

One of the things that DNN strives for is backwards compatibility, so there is no plan at this time to leave any websites behind. The upgrade process to 6.0 will convert the codebase from VB to C#

By Chris Hammond on   3/4/2011 5:38 PM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

Thanks. I read it now and I understand.

Thanks for your response.

By Frozen DNN on   3/6/2011 11:48 AM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

So DNN will be available only in C# or in both languages (vb and c#)?
Also any specific reason for changing that?

By Sandeep on   3/6/2011 11:48 AM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

Sandeep, that is all explained in Shaun's blog post

By Chris Hammond on   3/6/2011 11:48 AM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

Thanks for thoughtful update Chris. Conversion to C# is akin to Celsius and Fahrenheit; Just double it and add 32. Now I can anticipate Q2 by Q4, stable framework and bug fixes from 2008 in 2012.


As Robert mentioned "just a pipe dream, but one can hope."

By Dwayne Baldwin on   3/6/2011 11:55 AM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

Congrats are really due to Ben Zhong for his work doing the original C# conversion I think. Nice move.

By Juan de Vashon Isle on   3/8/2011 12:02 PM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

give me a link how to download c# plate-form ....

By waqar on   4/28/2011 10:48 AM
Gravatar

Re: DotNetNuke is switching to C#, uh oh

The C# code is available with our 6.0 release, you can check out the CTP's if you're interested in that.

By Chris Hammond on   4/28/2011 10:49 AM
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me
Have Someone Contact Me

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft .NET. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates the DotNetNuke Store where users purchase third party apps for the platform.