DotNetNuke Growing Pains and You, How to Cope 

I have had this blog posting all ready to go now for a good three to four weeks, but have been in deep internal conversation in regards to the posting of the article.  I have decided that more than anything posting this publicly might stop some of the e-mails that I get bombarded with each and every day that start out with "what do I do" or "do you still believe in DNN".

Before I start the post I am NOT in any way, shape, or form pointing fingers or expressing any displeasure at the platform or any of the members involved.  I am still a DotNetNuke core team member, I believe fully in the platform, and I will continue to adopt and recommend usage of the platform for the foreseeable future.  The point of this post is very simple, to talk about what has been going on in the DotNetNuke community and my opinions on how to manage expectations and cope with the situation.  Please remember the disclaimer that is posted at the bottom of this blog, these thoughts are mine and mine alone.

The Problem

To start out I want to clearly outline what I am talking about when I am talking about "growing pains".  As many of you have become well aware, there have been a few releases of DotNetNuke that have gone out in a "less than stellar" release pattern.  Most specifically the critical releases were 5.3.0 which prompted a very quick 5.3.1 release this March, the second one is the most recent release of 5.4.3 which just yesterday was pulled from download.

It is situations like this that can cause site administrators and other adopters of the platform a lot of grief.  In the case of the 5.4.3 release it came out on 6/17 and was pulled on 6/21.  Yes a small amount of time, but what about the users that upgraded?  That is where we are going later in this post when I discuss "how to cope".

The Cause

By now I think Joe Brinkman has done a pretty good job of educating the community that the corporation is experiencing some growing pains.  They are actually sticking to a release schedule, pumping out more and more functionality than ever before and all in all it is going well.  However, with any and all progress there is always that little setback, or speed bump that gets in the way.  I think this is what we are experiencing here, in each of these cases the major point of issue has been with integration points for third-party extension developers, while although a key feature of DNN it is an aspect of the core that is very hard to test.

Common Questions to Me

As soon as the DotNetNuke 5.3.0 release issue occurred earlier this year I was almost instantly seeing more and more e-mails that went along one of a few trains of thought:  "Do you still believe in DNN?", "We can never trust a x.x.0 release!", and "Does DotNetNuke just not care anymore?".

I will start by discussing each of these common trends, as honestly these are key points to how I cope with this type of situation.

Do you still believe in DNN?

Yes, I still fully believe in the DotNetNuke platform and believe that they are making progress to keep the software moving forward, they have grown at an amazingly large pace and there will be the occasional issue here and there, but I still believe that DotNetNuke is the BEST ASP.NET Application Framework available and continually recommend it and implement it for my sites and those of my customers.

As with any software development company, there are times that releases are better than others, this is the same story for those large and small.  Even Microsoft has their releases, items like Windows ME and Windows Vista are typically the most comment references.

We can never trust a x.x.0 release!

Now, this is one where I am going to go off a bit on a tangent.  In my opinion YOU CAN NEVER TRUST A RELEASE.  Now, before everyone gets upset with that statement, let me explain this a bit.  My point is you should never just trust a release because someone else says it works.  You should be testing the release yourself, do an upgrade of a test installation and make sure that your environment is working properly BEFORE you upgrade that critical site.

Each and every DotNetNuke installation is different.  You might be upgrading from a really old version, a new version, you might have tons of third party modules that are outdated or you might have that one "problem child" module.  The key to mitigating upgrade risk is to do your own validation, regardless if it is a major release, a minor release, or a point release, NEVER simply "upgrade" and when you do upgrade TAKE BACKUPS before you start as even with the best testing in the world things can still go wrong.

Does DotNetNuke just not care anymore?

This question is a tough one, knowing the DotNetNuke Corporation people and knowing what they have given to make DotNetNuke what it is today I find it hard to believe that this question would even come up.  I can only imagine how hard it has been for Joe and others to create the communication necessary to document these issues, and how much time they are most likely spending answering questions to the guaranteed masses of people that have been pinging him directly.

Although there have been issues I would hope that the swift actions to pull releases and get fix releases out to the community show the dedication to the community and the product.  The improvements that they are talking about making are going to go a long way.

How I Cope

Now that I have helped lay out what the issues are, I thought I would share a bit about how I manage to limit my exposure risk to these types of issues.

Allow Any Release to Stabilize

First and foremost, every time a new release of DotNetNuke, or most other products for that matter, I always wait for at least 2-3 weeks before I will upgrade ANY website.  During this period I will test upgrades and work on validation of my systems to know if the upgrade will be possible.  I will also keep a close eye on the forums and other communication channels to see if there are any regular, repeatable issues that have been identified.  By doing this, situations such as the 5.3.0 and 5.4.3 releases would not impact me, as the major issues came up well before 2-3 weeks.

Upgrade Only When Necessary

With the more frequent release schedule of DotNetNuke I am really supporting a "Upgrade When Needed" process for upgrading.  With monthly releases your average site would require 12 upgrades in a given year, this is TOO frequent for most sites, and it is typically not needed.  With each new release I will review security bulletins and other release notes to see if an upgrade is truly necessary.  In most cases I do not see a need to upgrade, in-fact some of the most heavily trafficked sites that I run are NOT updated as frequently as others.

Don't Do Blind Upgrades

If you do decide to do an upgrade, be sure that you are fully aware of what is gong on.  Review the upgrade log, test the site, don't just pull up the homepage.  Click around, go to host settings, go to admin settings, and touch each of your custom modules.  If you took proper backups BEFORE you did the upgrade and you quickly go through major functionality of the site you can roll back the site if issues are identified and suffer minimal loss of data and site functionality.

Help Out

DotNetNuke Corporation has been working a lot recently to more openly solicit feedback from the community.  This feedback includes bug reports, bug fixes and any item in-between.  If you are a developer and can spare some time try going to Gemni and submit a fix for a big.  If you don't have development skills but identify an issue, post it to Gemni, put as much information as you can so it can be re-created, then someone can work on getting the issue resolved.

I understand how hard it is to spend the time, but spending a little bit of time giving back goes a long way, and is a very productive way to express feedback.

Conclusion

I hope that this has helped give my perspective on DotNetNuke.  Don't give up hope, just follow standard processes to properly leverage software and you will be fine.  Feel free to share your comments below.

Posted by Mitchel on Tuesday, June 22, 2010
 

Comments

Coimpliments for your blog. I support your vision and attitude.

I want to add one thing to people who complain about problem releases: get involved and offer your support in testing or bug trashing. Spend time on a contribution, not on complaining.
There is so much good in DNN for free, why not give something back?

By Ernst Peter on Tuesday, June 22, 2010 at 3:12 PM

Ernst Peter,

Very valid point, I'm going to update my post to include that as well!

By mitchel.sellers@gmail.com on Tuesday, June 22, 2010 at 3:14 PM

Thank you for a well-written and timely post on your thoughts of the DNN community and the recent releases. I pretty much mirror your opinions and thoughts. I think people are too quick to pass judgement lately, instead of trying to understand what's going on. Having going through growing pains at a few different companies now, I know better than most that these things happen, despite our greatest efforts and best intentions. In the end, the warning indicators are not that something went wrong. That will happen. There's no way around it. A true warning indicator for those who are skeptical is to pay attention to what happens when something does go wrong.

By Will Strohl on Tuesday, June 22, 2010 at 3:20 PM

The release process and the sometimes painful upgrade process is really an achilles heal for the platform. I've been using DNN for a long time, a lot longer than most, but it is a system not built for novices to install, maintain and upgrade. You're almost guaranteed every release is going to have a major bug. I can only remember a few releases that I would consider "stable" (subjective term, BTW).

In contrast, try Wordpress. I don't think WP is as flexible as DNN in some aspects, but for the handful (5 so far) that I've done, the upgrade process is as smooth as can be and the critical bugs are very few and far between. Installing modules, or plugins in WP speak, is a breeze and done directly from the site admin interface. I think DNN should be looking at WP to pick up some pointers on handling installs and upgrades. Usability and stability are things that DNN has lacked, historically speaking.

That said, if you have to use the MS technology stack, there is no better CMS out there from what I can tell. It just needs to improve in those two areas, usability and stability, and a better rating system for third party modules (also better on WP).

By Bank it on Tuesday, June 22, 2010 at 3:35 PM

Great article about the state of the community. I've noticed as well how quick people are to judge the platform because of a bug that enters into the system upon a release. But as you pointed out it's important to test each update before upgrading sites. Blindly updating leads to more issues.

By Sam MacDonald on Tuesday, June 22, 2010 at 5:58 PM

>Yes a small amount of time, but what about the users that upgraded?

We really thought about exact this case. But what if you have saved backup of every DotNetNuke version and can rollback to previous one in two clicks?

That's why we recommend to every DNN user to use DnnAutoUpgrade module: http://www.snowcovered.com/snowcovered2/Default.aspx?tabid=242&PackageID=17995

By Papayas on Tuesday, June 22, 2010 at 8:33 PM

Good points Mitchel - I am averaging one upgrade a year these days and only when I need something critical, like the new Telerik Editor etc.

By Rodney on Wednesday, June 23, 2010 at 12:05 AM

Thanks for the advise Mitchel,

I fully agree with your advice on not doing blind upgrades. I learnt that the hard way :)
The problem is though, that once you have upgraded to a release with a major bug (like the page disappearing bug in 5.4.1 and 5.4.2), your obliged to upgrade to a release that fixed this bug.

I think the DNN Corp should focus on a way to get more feedback from the community on new releases. I know they have tried this already, but there must be a way. The Gemini platform is more for developers. I'm talking about non-developers.

Why not set up a trial site for a new release. Let people register, an toy around with a new release.

Greetings,

Anthony
www.webmove.be

By Anthony Candaele on Wednesday, June 23, 2010 at 2:53 AM

All well said!

I would like to add:

Almost everyone installs 3rd party modules, almost everyone tweaks their intalls to some extent, and just about every single DNN install is different from the next.

With this in mind, it's next to impossible for the DNN team to maintaint compatibility with all vendors, unless a release is tested by end-users and vendors.

This is the primary reason I will wait for my 3rd party vendors to announce support for a specific release, or I will test an upgrade and report issues to my vendors and DNN.

DNN has been doing a good job thus far, and owns up to any issues when they arise.

By Jeff B on Wednesday, June 23, 2010 at 7:43 AM

I LOVE how a positive post about a product elicits mostly positive comments. This was well written by you Mitchel.

It was long on the positives and very short on any negatives. The true thing that rang out to me was the part about testing, testing, and more testing and not trusting the release of ANY product. There really are too many variables involved to trust a release without seeing how it behaves with the other products involved.

Saying that...I would like to know if the latest release was pulled back because it was an interference with a third party module(s), or was it something NOT to do with third party modules, but rather, was a poor release?

Thank you for your thoughts and knowledge, as always.

By Mark on Wednesday, June 23, 2010 at 8:34 AM

@Mark -

Based on Joe's post it is mostly due to third party issues and a bug in the Data Access Layer of the API.

By mitchel.sellers@gmail.com on Wednesday, June 23, 2010 at 9:24 AM

DotNetNuke is a great platform, I just wish there was more emphasis on the UI. Reduce the postbacks, make the action menus work without delay, make the new ribbon-bar actually attractive and intuitive (I could go on). If they could focus on UI for a few releases instead of developer-centric features, they could make a lot of non-programmer administrators giddy thus raising satisfaction levels at the top-of-the-chain: consumers.

By Mike on Wednesday, June 23, 2010 at 11:23 AM

Nice Post with a good focus.
I am a bit of a feature addict so I really update as soon as I can, with the exception of full Point upgrades. I am slower at these that I like.

The funny thing is that I really like where DNN is now. I would much prefer a bold company that is willing to stumble a bit than a painfully slow company where you wait for what seems like forever for small updates. Instead of arriving in a few years to your next "Dream" it is more like next year. That fits with my patience.

The Coping mechanisms you mention will protect 99% of the people from serious issues.

By Phil Speth on Wednesday, June 23, 2010 at 12:49 PM

@Mike: Hallelujah to that!

As the (still fairly new) UX/UI Developer at DNN Corp I can't help but agree that we should be spending time focusing on improving the user experience and the user interaction of DNN's existing features.

Given the nature of the business, I doubt we'll ever be able to get away from providing at least some new features in each release, but I can tell you that we already have some UI improvement initiatives included in the roadmap for the next year or two so you can expect to see improvements around the user experience over the next several releases.

I welcome feedback and suggestions relating to DNN UX from any community member, so feel free to email me with your ideas. I can't promise when or if we'll implement any specific suggestion, but I can guarantee that I'll read everything I'm sent, will give serious consideration to any reasonable suggestion and will reflect upon any valid feedback.

Thanks,
:-j(enni)

DotNetNuke Corporation
UX/UI Developer
** Walking on water and designing to requirements are easy, so long as both are frozen. **

By Jenni Merrifield on Wednesday, June 23, 2010 at 1:04 PM

Well stated Mitchell. In terms of advice one additional but critical thing to mention as far as upgrades. DNN philosophy is to support DNN core and DNN module ONLY. Many times 3rd party vendors are in a reactive mode when a new release occurs. This means that if your site is using a 3rd party module it may work fine with DNN core functionality but may not always be the case for the 3rd party (or custom module). Another reason to delay an update, perform the update in a staging environment before migrating to production.

By Chris chodnicki on Wednesday, June 23, 2010 at 1:30 PM

Unfortunately this is getting difficult for Turkish DotNetNuke Community. Because, we test every new release, report bugs, however having to deal with new issues causes more trouble while developing content. Instead of it we have to deal with breaking issues.

Well, i still believe in DNN. However, heart breaking things happening this year. Adding new features and improvements shouldn't break main purpose of application.

And i strongly recommend anyone to wait a few days/or at least a week or two to upgrade to new release.

Just my thoughts..

By ismet dumlupinar on Wednesday, June 23, 2010 at 2:36 PM

Great post....

I do think that most problems are related to 3rd party....

Someone said that there should be a test site... well I totally agree... take for instance DataSprings, I've been using some of there modules, and they have test environments for clients... so when something does not work, everyone can test in in that environment, we can check what is different, and perhaps implement a similar environment if we can (like same DNN version, or avoid using a module that might be brooking something).

But I also think that some parts of the core team do take much time to reply to forum posts with important questions, I mean I get notifications for like everything (one of the reason I do this is to keep track of problems with recent releases) and most of the team its the same person that replies to the same discussions...

So we all need to stick together and help each other instead of complaining with stupid comments and insults, like I so many times see in DNN forums or even codeplex reviews

By Mike on Thursday, June 24, 2010 at 8:44 AM

Thanks Mark for this wonderful piece of information.

By preetis on Friday, July 02, 2010 at 5:54 AM

Comments from the following blog entry: DotNetNuke 5.x and Beyond - Best Practices Updates, located at: http://www.iowacomputergurus.com/blog/12/dotnetnuke-5x-and-beyond-best-practices-updates.aspx

By IowaComputerGurus Inc. Company Website on Friday, July 02, 2010 at 10:24 PM

I'm very confused. My 5.4.2 install is beginning to look very shaky and I just revied the forum for the latest 'stable' release and see a post from a mamber of the core team stating that 4.9.5 is the last stable release for international users. That version is nearly a year old.
I think there needs to be more transparency about the problems and more honesty about what the real situation is.

By Simon Toulson on Friday, July 23, 2010 at 10:29 AM

Kudos Mitch for a well written block of advice for DNN site managers... the "don't upgrade unless necessary" is one that we've had a time explaining to some clients. The "if it ain't broke, don't fix it" rule applys to DNN (and almost any) site. We advise clients when we see a new feature or functionality that will greatly impact or improve their site, otherwise, for some sites, DNN 3 or DNN 4 older installs are in perfectly fine condition and don't need upgrades

By Moore Creative on Wednesday, July 28, 2010 at 10:30 AM

Name (required)

Email (required)

Website

CAPTCHA image
Enter the code shown above:

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Friend of RedGate

www.datasprings.com - DotNetNuke Modules ICG Hosting

Click here for advertising information.

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.