Rules to Better DotNetNuke
Do you know the pros and cons of DotNetNuke?
✅ The Pros of DotNetNuke are:
- It is the largest and most successful open source project in the Microsoft ecosystem
- It has the largest commercial 3rd party market for a .Net CMS
- The #1 most widely-deployed .Net based CMS
- Widely adopted and supported by Microsoft
- It's free! (but also has fully supported commercial versions for more serious organizations)
❌ The Cons of DotNetNuke are:
- It's not based on MVC like Orchard. Note that this may not be a con for your organization
- It is missing some enterprise features like those in Sitecore, EpiServer and SharePoint
Do you have your new developers go through the SSW DotNetNuke Induction training?
There are lots of DNN resources at dotnetnuke.com
There you can:
- Get latest download
- Read latest User Guide
- Get 3<sup>rd</sup> Party Modules
- Go through the Self-Guided Tour Guide (only 14 pages) for an introduction
- and peruse the DotNetNuke Wiki for answers to specific questions you may have
Have you installed the latest DNN version?
You can check your DNN version via the "Host Memu", then "Host Settings" and tick the "Check For Upgrades" check box to see the latest version
❌ Figure: Bad example - A new version is available, DotNetNuke needs to be upgraded
✅ Figure: Good example - Latest version is now installed
It would be nice if DNN version can be checked by Better way of checking DotNetNuke version on 'DotNetNuke Suggestions'.
Do you always update the DotNetNuke style sheets to underline a link?
As per rules to underline all links always update the necessary DotNetNuke style sheets to make links perfectly clear, by underlining them.
To underline links in DotNetNuke you need to change the styles in the style sheet Portals/_default/default.css
A:link {text-decoration: none;color: #003366;}A:visited {text-decoration: none;color: #003366;}A:hover {text-decoration: underline;color: #ff0000;}A:active {text-decoration: none;color: #003366;}✅ Figure: Figure: Good example - The style now underline all links
Do you know DNN can update the schema of your database without warning?
If you point your DNN application at another database on an earlier version of DNN, it will update the database to the latest version without warning.
Suggestion to the DNN team: Don't do this without a warning. Even better, use SSW SQL Deploy
Do you know how to upgrade DNN to the latest version?
<introEmbed body={<> If there is an upgrade available (see ["Have you installed the latest DNN version?"](/latest-dnn-version), follow the following steps to perform the upgrade. </>} /> **In Preparation:** 1. Back up the DNN database 2. Back up all website files 3. Check your database and website backups! 4. Download the latest DotNetNuke upgrade package: A. From the www.dotnetnuke.com site. You may need login credentials if you are using a non-community version of DNN or B. Click the "Upgrade Available" button that appears when you are _not_ running the latest version. 5. Create a basic html document called app_offline.htm. This page will be shown on the site while you are doing the upgrade. <imageEmbed alt="Image" size="large" showBorder={false} figureEmbed={{ preset: "badExample", figure: 'Bad example - No maintenance page. Users may see errors while the site is partially upgraded', shouldDisplay: true }} src="/uploads/rules/upgrade-dnn-to-the-latest-version/nomaintenance.jpg" /> <imageEmbed alt="Image" size="large" showBorder={false} figureEmbed={{ preset: "goodExample", figure: 'Good example - HTML page to let users know the site is offline to perform the Upgrade', shouldDisplay: true }} src="/uploads/rules/upgrade-dnn-to-the-latest-version/2024-04-20_13-29-45.png" /> **To Perform the Upgrade:** 1. Upload the app_offline.htm file to the root web folder for the site. 2. Navigate to the site in a web browser and check that the app_offline.htm file is shown instead of the usual default page. 3. Copy the contents of the latest DotNetNuke upgrade package over the top of the existing files. All files should be copied because the package should only contain generic files ?no configuration files. 4. When the copy is complete, rename the app_offline.htm file to app_offline.htm.save. When you navigate to the site, you will see a new construction page: <imageEmbed alt="Image" size="large" showBorder={false} figureEmbed={{ preset: "goodExample", figure: 'Good example - Latest version has been copied and site is unavailable (suggestion to DNN team: remove the underline from the non-link)', shouldDisplay: true }} src="/uploads/rules/upgrade-dnn-to-the-latest-version/removeunderline.jpg" /> 5. Access the /install/install.aspx?mode=upgrade page (e.g.www.mysite.com/install/install.aspx?mode=upgrade) using a web browser. The site will begin an automatic upgrade process: <imageEmbed alt="Image" size="large" showBorder={false} figureEmbed={{ preset: "goodExample", figure: 'Good example - Automatic upgrade running', shouldDisplay: true }} src="/uploads/rules/upgrade-dnn-to-the-latest-version/automaticupgraderunning.jpg" /> 6. On completion of the upgrade, you will see the following message at the bottom of the page. Click on the link to return to the site. <imageEmbed alt="Image" size="large" showBorder={false} figureEmbed={{ preset: "goodExample", figure: 'Good example - Automatic upgrade completed (suggestion to DNN team: put an underline under the link)', shouldDisplay: true }} src="/uploads/rules/upgrade-dnn-to-the-latest-version/putunderline.jpg" /> 7. Click through the newly upgraded site to perform a [smoke test](/different-types-of-testing/#1-smoke-testing). 8. Log in to the DNN site and navigate to "Host", then "Host Settings". You will see that the site is running the newest version of DNN and that there are no upgrades available. <imageEmbed alt="Image" size="large" showBorder={false} figureEmbed={{ preset: "goodExample", figure: 'Good example - Latest version and no upgrades available', shouldDisplay: true }} src="/uploads/rules/upgrade-dnn-to-the-latest-version/latestversionandnoupgrade.jpg" />