This is an updated session from a few years ago, where we walk through all of the most common pitfalls you may run into when upgrading DNN and how to avoid them.
Will Strohl
• Using DNN since 2003
• CEO & Founder, Upendo Ventures
• Former DNN Corp Employee
• Former CEO, Hotcakes Commerce (2013-2017)
• DNN MVP Since 2013
• Leader of the Awareness Group
• DNN Author & Technical Editor
• Founder of Day of DNN & DNNCon
• Maintainer of 40+ Open-Source Projects on GitHub
@WillStrohl
WillStrohl.com
Upendo Ventures
• DNN Platform & Evoq
• E-Commerce
• Implementations
• Integrations
• Custom Modules
• Upgrades & Migrations
• Custom Themes
• Training
• Fixing Things Other People Did ;)
@UpendoVentures
UpendoVentures.com
Objectives
I Hope You Learn…
• Critical Steps to Begin
• Preventative Maintenance
• Pitfalls to Avoid
• Our Process
Prerequisites
• Some Local/Server Sys Admin
Experience
• General Knowledge of How
ASP.NET & SQL Server Work and
Interact with Each Other
Common Complaints
“My website keeps redirecting!”
“Upgrading is really hard!”
“I don´t know how to upgrade DNN.”
“My upgrade page is blank!”
“Every time I upgrade, I get an error!”
“Upgrades take too long!”
“What the heck happened to NewtonSoft?!”
“I upgraded and now some of my images
are broken!”
“The upgrade only works locally… Argh!”
“The last upgrade was so bad, I’m afraid to do it again.”
Preventative Tips
• Upgrade DNN Often
• Upgrade Extensions Often
• Uninstall Extensions as Soon
as Possible
• Vet Extensions Thoroughly
Before Installing Them
Anywhere
• Never “Test” a Module in
Your Production Website
• Never Change Core Code
• Smoke Test Your Website
Whenever Installing a New
Module
Information Gathering
Try to Find Out
• Version & Edition of DNN
• File System Size
• Database Size & Version
• Number of Sites
• Number of Pages in Each Site
• Number of, Name, and Version of
Third-Party Extensions
• Timeline
Special Concerns
• Custom Extensions (Source Code)
• End-of-Life Extensions
• Extension Licensing
• Perform a Risk Assessment
• Core Code Changes
• External Data Sources
Get a Backup
File System & Database Size
• Many DNN Websites are Very
Large
• Lengthens the Time it Takes for all
Steps
• May Need to Consider Cleaning
the Website First
Considerations
• Clean the DB User Data
• Remove all Cache Data
• Remove Log Files
• Remove Search Data
Preparation Work
Better Safe Than Sorry
• Run a Virus Scan on All Files
• Perform a Search for *.asp & *.php
• Clean the DB User Data
• Rebuild DB Indexes*
• Remove all Cache Data
• Remove Log Files
• Remove Search Data
• Remove /Install Packages
• Remove Source Control Files
• Turn Off the Scheduler
Useful Tools
• FileLocator Lite
• https://www.mythicsoft.com/filelocat
orlite/download/
• Test Plans
DNN Editions
Be Sure to Pay Attention to the Edition & SKU of DNN… Evoq* vs.
DNN Platform
• https://www.dnnsoftware.com/wiki/version-history
• https://www.dnnsoftware.com/docs/developers/product-
versions.html
• https://dnndocs.com/content/getting-
started/setup/upgrades/suggested-upgrade-path/index.html
Restore the Website
Nothing Special Here…
• Create a Local URL
• Restore the DB
• Add a User & Attach to the DB
• Add the URL to the DB
• Restore the Files
• Apply Permissions
• Add the Website in IIS
• Run the Website
• Add a Superuser*
Optional Steps
• Sanitize the User Data
• Change the SMTP Server
• Change autoupgrade to false
• Enable debug Mode
• Block Access by IP Address
• Update Robots.txt:
User-agent: *
Disallow /
Create an Initial Backup
Have a Naming Convention
website-backup-201902201320.bak
Additional Examples
website-backup-201902201320-SITE-RESTORED.bak
website-backup-201902210939-Updated-to-DNN6.bak
Remove Unused Extensions
Do…
• Review Extensions View
• Review Themes / Containers
• Confirm Extensions to be
Removed
• Some Extensions May Not Cleanly
Uninstall*
Review Bin
Review DesktopModules
Review DB
Why?
• Lowers the Footprint of the
Website
• Increases Security
• Potential Performance Increases
• Reduces Potential Upgrade Issues
• Reduces Administrative Issues
Determine the Upgrade Path
• Somewhat Unique for Almost
Every Upgrade.
• General Rule: Upgrade to the
Latest Release of Each Major
Version.
• Documentation:
• Before
• During
• After
• Example:
• 07.04.02
• 08.00.04
• 09.01.01*
• 09.02.02*
• 09.03.00
DOCUMENT and BACKUP!
Upgrading DNN
General Instructions
• Disable the Website (App_Offline.htm)*
• Backup!!!
• Extract the DNN Version Over the Website
• Re-Apply the Permissions to the File System
• View the Website; OR Run the Upgrade URL (preferred)
Upgrade URL
Use the Upgrade URL:
/Install/Install.aspx?mode=upgrade
So…
http://example.com
Becomes…
http://example.com/Install/Install.aspx?mode=upgrade
*Only on Older DNN Instances
Upgrade Extensions
Upgrading Extensions
• Upgrade All Existing Extensions*
• This is an Iterative Process.
• You May Need to Do this Multiple
Times, After Specific DNN
Upgrades.
Additional Tips
• Backup After Each Successful
Upgrade, After Testing.
• Review Extensions View to See
Which Pages to Test.
• Contact Vendors for Upgrade Tips
• Use PolyDeploy to Save Time &
Reduce Mistakes
DOCUMENT and BACKUP!
Upgrade Version Tips
07.04.02
• May Need to Manually Add
Entity Framework DLLs
08.00.04
• Review the Container Files for
Actions Menu Theme Object
References, and Remove Them
• Uninstall Security Analyzer*
09.01.01
• Apply Security Patches
All Versions
• Compare & Merge web.config
Updates
• Security Review
• Keep an Eye on NewtonSoft
Upendo Ventures
Summary
• Keep Your Website “Groomed”
• Always Test in Development First
• Note the Site & DB Size
• Upgrade DNN & Extensions Often
• Document Everything
• Merge the web.config
• Limit Superuser Accounts
• Backup, Backup, Backup…
We use technology to help your business
change people’s lives
UpendoVentures.com
solutions@upendoventures.com
(650) 381-9160
548 Market St. #65401
San Francisco, CA 94104
Editor's Notes
This includes DNN and extensions.
Check the Extensions view to see the upgrade/update status
“Watch” open source extensions in GitHub
Subscribe to vendor newsletters
Be sure the virus scan used can detect rootkits
URL provider should be AUMs “advanced” provider.
May need to remove the iFinity URL provider on older websites
There are SQL scripts to determine fragmentation…
If rebuilding indexes is necessary, let someone know
Uninstall Security Analyzer in any website lower than DNN 8.0
Note the amount of time something took to complete, if it was unusual, to help you determine the upgrade time needed in production.
If your DNN instance is old enough, it may be a better idea to just create a new website
Important to review and add security configuration into the web.config
Run the Security Analyzer & respond to issues
Delete any superusers that haven’t been used (you can always add them back later)
Apply known security patches
Review the server for Windows Updates, configuration concerns
Includes files and database
Especially the database… Don’t run or use Turbo Scripts