The 10 Commandments of DotNetNuke

I started this list a while back, and decided I would go ahead and finish it, and post it online. Thanks to Oliver Hine for #9

As someone who runs, edits or develops for a DotNetNuke website, these are 10 things you should always stick to.

1) Thou shalt back up the files and database before: upgrades, extension installs, extension removals
2) Thou shalt not delete a page, ever
3) Thou shalt not rename a page, ever
4) Thou shalt not move a page, ever
5) Thou shalt not "display on all pages" without thinking through your actions
6) Thou shalt not disparage or C#
7) Thou shalt not resize images via HTML
8) Thou shalt not run old versions of
9) Thou shalt not paste from Microsoft Word without scrubbing the content
10) Thou shalt not use objectQualifier if at all possible (in development I do recommend it)

So, now the question is, should I put reasons for each of them? Or just leave them as is

Recent Comments

2-4 Are the same thing. I'd replace one with x) Thou shalt not install every module available in the DNN Store x) Thou shalt release source
Posted By: Jonathan Sheely on Tuesday, April 16, 2013 10:45 PM
Jon, While to you and me they are the same thing, for the average user they are different things. Fortunately with 7.1 they should no longer be issues and will be replaced with new commandments.
Posted By: Chris Hammond on Tuesday, April 16, 2013 11:19 PM
11) Thou shalt not use portals for unrelated websites, lest thou cry, for thee might feel too lazy to provide a fresh install, and verily thy data shall perish upon separation thereof.
Posted By: Jeff Hardy on Wednesday, April 17, 2013 9:35 AM
#2-#4 can easily be rectified by turning off human friendly URLs in the web.config. We turn it off by default for our customers because it causes so many problems.
Posted By: Tony Valenti on Wednesday, April 17, 2013 7:41 AM
I like #10 most. Maybe it would be good to split this list in two: one for site admins and one for developers...
Posted By: erik van ballegoij on Wednesday, April 17, 2013 6:53 AM
These certainly fall into admin and dev. Renaming, moving and deleting pages works fine if in planning phase or you have a plan for migration. DNN7.1 may solve many issues on the admin side too. Multiportal works quite well now provided you stick to modules with good iportable implementation. With the average DNN app pool running over 100mb, it's the only way DNN can get cost competitive. Turning off human friendly URLs is an all around terrible idea.
Posted By: Lance Long on Wednesday, April 17, 2013 11:00 AM
I say leave it as-is and do a blog post for each of them going into detail and link them back as you do it. :)
Posted By: Will Strohl on Wednesday, April 17, 2013 11:11 AM
Though shalt not covet thy neighbor's skin?
Posted By: Ryan Morgan on Thursday, April 18, 2013 9:32 AM
Though shalt not modify the core sources ...
Posted By: Matthieu Lubac on Monday, April 22, 2013 5:18 AM
Though shall not use it's own Multi - Language Capabilities
Posted By: Frank Wahl on Monday, April 22, 2013 10:52 AM
Not really .NET specific, but definitely applies. Thou shalt not complain about open source projects unless you've actually contributed something yourself.
Posted By: Jason Brunken on Monday, April 22, 2013 10:58 AM
Nice list. We have our own solution for 2,3,4 & 7 and 9 can be pretty much solved by using CK editor Would like to add: Though shalt not modify the core Though shalt not use Solpartmenu in skins Though shalt not use legacy HTML 4 transitional skins Though shalt not put any font definitions in Module.css Though shalt make all modules templatable
Posted By: Timo Breumelhof on Wednesday, May 1, 2013 1:42 PM
I would like to see a list of Though Shalt focused on Module Dev. Many are obvious but should still be on the list. support iportable Deep use of DNN taxonomy Designers with Templates ...
Posted By: Phil Speth on Thursday, May 9, 2013 12:52 PM
Hi Chris, I enjoyed your commandments so much I translated them in our French blog. Hope that is ok with you. We spread the good words ! Amicalement.
Posted By: Thomas Chailland on Tuesday, May 21, 2013 10:37 AM
Hi Chris Can you explain why I shouldn't delete(2), rename(3) or move(4) a page? I'm using DNN 7.01 Thanks
Posted By: John Fitzgerald on Monday, August 12, 2013 4:49 PM
2/3/4 are sort of no longer necessary thanks to DNN 7.1 (assuming you are using the Advanced URLs
Posted By: Chris Hammond on Monday, August 12, 2013 5:03 PM

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 email address so that we may contact you if necessary. We will also use this for your Gravatar.
Enter the URL to your website. URLs may be removed from comments.
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 me page.

If you are looking for DotNetNuke consulting please visit my business website at

Find me on Twitter, GitHub and LinkedIn.