More Related Content


DNN Summit 2021: DNN Upgrades Made Simple

  1. DNN Upgrades Made Simple Battle-Hardened Tips & Tricks Gathered from Thousands of Upgrades
  2. Thank You to Our Sponsors!
  3. 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
  4. Upendo Ventures • DNN Platform & Evoq • E-Commerce • Implementations • Integrations • Custom Modules • Upgrades & Migrations • Custom Themes • Training • Fixing Things Other People Did ;) @UpendoVentures
  5. DNN Upgrades Made Simple Battle-Hardened Tips & Tricks Gathered from Thousands of Upgrades
  6. 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
  7. 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.”
  8. 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
  9. Before You Begin… Eliminate Distractions!
  10. 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
  11. 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
  12. 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 • orlite/download/ • Test Plans
  13. DNN Editions Be Sure to Pay Attention to the Edition & SKU of DNN… Evoq* vs. DNN Platform • • versions.html • started/setup/upgrades/suggested-upgrade-path/index.html
  14. 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 /
  15. 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
  16. General Workflow Action Test Backup Documen
  17. 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
  18. 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!
  19. Upgrade Packages Recent Releases • Older Releases • • • • • Evoq Releases • network/software-downloads
  20. 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)
  21. Upgrade URL Use the Upgrade URL: /Install/Install.aspx?mode=upgrade So… Becomes… *Only on Older DNN Instances
  22. 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!
  23. 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
  24. Code Code Changes
  25. Thank You to Our Sponsors!
  26. 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 (650) 381-9160 548 Market St. #65401 San Francisco, CA 94104

Editor's Notes

  1. 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
  2. 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
  3. Uninstall Security Analyzer in any website lower than DNN 8.0
  4. Note the amount of time something took to complete, if it was unusual, to help you determine the upgrade time needed in production.
  5. If your DNN instance is old enough, it may be a better idea to just create a new website
  6. 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
  7. Includes files and database Especially the database… Don’t run or use Turbo Scripts