With the release of DNN 9.10.2 that makes an incredible 7 releases of DNN in 2021. While this is all well and good and the sign of an active open source project, you have a website or web application to run and probably wonder why you should upgrade and when.
So firstly, why upgrade?
- To plug security issues - The main reason for upgrading is to plug security issues with DNN, with the recent one being the complete removal of telerik components. We feel that the biggest reason for upgrading is to plug security concerns.
- To fix bugs - with each release there are numerous bug fixes for minor or obscure issues mainly, but every now and then a more impactful bug is fixed.
- To access new features – this has been less common as of late, but every so often new features are being released e.g. DNN Prompt in 9.2.0 which allows a systems admin to manage DNN via a command line prompt interface
- To be able to use certain modules or certain module versions – some third party modules and certainly specific versions of these modules, only work on later versions of DNN and to get access to them you would need to upgrade your version of DNN.
Ok so now that we understand the reasons for upgrading a website's underlying DNN platform we may then decide that it's important to do so and we need to proceed. How do we go about this? Who could we ask or could we do this ourselves?
- Try upgrading yourself - If you have a reasonable technical background you can upgrade DNN by yourself. You will at the very least need to know how to back up your website and ensure you can fairly easily roll back if the upgrade goes wrong. A clone of your website is a good idea for example. If you do run into issues then Google will be your friend.
- Evotiva DNNUpgrade - This is a third part module from the third party module vendor. Evotiva is one of the more respected vendors in the DNN ecosystem so while we don't have much experience using their upgrade module, we have used their other module DNNBackup and have been very satisfied with it. Incidentally DNNBackup is a good module to help you clone your site or simply to back up your site before attempting an upgrade.
- Hosting facility – If your hosting facility understands and specialises in DNN, this is an excellent option to consider when upgrading your DNN website. Just be mindful that they won't touch third party modules or troubleshoot too much if an issue goes wrong, but more than likely they will at the very least point you in the right direction.
Below we describe the high level steps necessary to upgrade your DNN website:
- Back up - The very first and most important step
- Set yourself up to create backups throughout the process - For more complex DNN website upgrades where you are following an upgrade path, it is helpful to take more backups through the upgrade process and once you reach a new version of DNN and have troubleshot all issues on this version. This way if you encounter difficulties in future, you simply roll back to this backup instead of starting again.
- Understand Path - As mentioned above, there are upgrades you should follow depending on the version of DNN you are currently on. They have been created by experienced DNN-ers and are a useful guide.
- Upgrade all third party modules (extensions) along the way - One of the main causes of errors in a DNN upgrade are third party modules not being up to date. We recommend upgrading the relevant DNN modules in use, before moving to the higher version of DNN. You may be only able to reach a certain version of the module for your current version. In which case you will need to upgrade the module again during the relevant stage in the upgrade path
- Fix issues along the way - You need to fix issues along the upgrade process and make sure the DNN website and its underlying functionality functions well works on the particular version of DNN you have upgraded to before continuing with the upgrade.
You won't always be able to reach the version of DNN you intended. While we recommend troubleshooting and to continue trying, your budget or time may not allow you to continue with the DNN upgrade. Below are some of the DNN versions you could settle on:
- DNN 9.6.1 - This is a good milestone to reach inf you can't go any higher
- DNN 9.2.2 - A safe alternative and is a version known to plug many security concerns
- DNN 8.0.4 - An acceptable option if you can’t reach DNN 9.xx
- DNN 7.4.3 - An alternative option if you are having trouble with upgrades. We would recommend further patching and installation of the security module released by DNN for free for this module.
DNN Resources to help you with your upgrade:
- Check github page or DNN to see what the latest stable version is. There you can see notes regarding releases - DNN Github page
- Security Centre – this is a reasonably obscure page that is managed by DNNsoftware.com i.e. on a DNN Corp. page, which is regularly updated with security issues per version. An important yet often overlooked security resource - DNN Security Center
Our experience with DNN upgrades:
- We’ve completed complex upgrades – A complex upgrade is one that takes 4 or more days, usually when the DNN version is very old and complex. where there were plenty of 3rd party modules and custom modules. These upgrades are time consuming because a lot of the fixing requires rolling back and documenting issues
- We have done many simple upgrades - At the other end of the scale we have been involved in projects where we have upgraded and fixed up over 300 sites in 3 months where the effort is measured in minutes and hours.