I recently attended DNNCon and while there I spoke with Joe Craig, a legendary DNN Community Member. Joe and I were discussing my recent blog series on Beginning Module Development when Joe paused and said “I’ve got an idea for a blog that you should write”. I, of course, inquired about the concept and Joe responded “You should write a blog that helps people who just have inherited a DNN site”.
Joe’s idea was a good one and I’m gladly taking him up on the offer! It is true… every once in a while someone will email in, post on the forums/community exchange, or post on social media something similar to “Hey I’ve just inherited a DNN site and I don’t know where to start”. If you’re reading this you may be that person who doesn’t know where to start or you may be someone who has seen these posts happen and both of you are in the right place!
In this blog entry I’m going to attempt to cover some key concepts to understand and some steps to take in the scenario that you’re not really familiar with DNN and you have just inherited a DNN site. I also think we may get some more great observations and tips from DNN users in the comments field below.
If you’ve just inherited a DNN site I think it may be helpful to initially understand a few concepts before moving on to any action-oriented items. I’m going to lay out some things to conceptually understand in the section below and then we’ll move on to the action oriented items.
Things to Conceptually Understand About DNN
Microsoft Technology Based
DNN is based on Microsoft technology. That is DNN is a web application that runs on Windows Server, SQL Server, and uses IIS. If you want to know which environments are supported you can find that list on the Install page. Just scroll down to the bottom of the page and you’ll see the supported and recommended environments as shown below.
Modular Architecture
DNN is architected in a modular fashion. This modular natures gives you plug & play capability with DNN modules. If you aren’t familiar with DNN terminology you could think of a module being to DNN what an app is to an iPhone. You can extend the functionality of the platform by adding in whatever modules you choose. Example modules would be a blog module, photo gallery module, or form module, but there are many more.
The below images gives a visual representation of modules on a page.
In-Context Content Management
DNN also operates under a principle referred to as in-context content management. That is, whenever you want to update or edit content in DNN you don’t go to any “content admin” area, but rather you go to exactly where the content lives and edit it right there in-line in place in the page. You don’t have to leave the page you’re editing in order to update the content. This is a more intuitive approach and allows content editors to instantly see the updates or changes as they make them. Why do I point this out? If you are coming from a non in-context architected system such as Wordpress then you will need to think about things a little differently and you’ll go to different places to make updates. With DNN you’re editing process will be different, but it will be more intuitive too!
The below images shows the "in-context" editing on an HTML module
Open Source
DNN is an open source project. “Open Source” meaning that the code is openly available to anyone and can be downloaded and modified. There is a large community of developers and designers who contribute their code to the project to make it better and to continuously add in functionality and make enhancements to the platform. There are multiple editions of DNN. The DNN Platform is the free open source version of the solution and is the base for all other editions of DNN. Then there are paid editions known as the “Evoq” editions. There is Evoq Content, Evoq Social, and the Evoq Suite. Wondering which edition you’re running… we’ll get to that in just a second.
Online Helpful Resources
The open source nature of DNN lends itself to there being a lot of helpful online resources surrounding the project. The following list of resources links to locations where you can find this helpful information.
Things to Actually Do – Action Items
For the below action items I emailed several DNN developers, integrators, and site admins and asked them to give me insight on some of the things they would do if they’d just inherited a DNN site. Thus the list below stems from a site administrator viewpoint, is in no specific order, and comes from a variety of perspectives. No, it’s not the exhaustive list, but it is a good starting point and hopefully will be helpful for someone out there. Also it seemed logical to group several of these items into categories so I’ve tried to organize them in a reasonable manner.
* Also, if you are reading this and you have more insightful input for the things you initially do when you inherit a DNN site then please do add your suggestions in the comment field below.
Security – Know Who Has Admin & Host Level Access
When you first inherit a DNN site a good step to consider taking is to perform a security audit of your site. DNN has 2 elevated user types in the system, the Admin and Host users. The Admin users are site specific and the Host users are the super-users who can access all sites within the instance of DNN. Since these users have elevated privileges within your site it’s probably a good idea to know who those users are. Some of the DNN community members I contacted even suggested changing the password for all Host and Admin users as a precautionary step.
Once you are aware of who the site Admin and Host users are you may want to also investigate and study the other security roles defined on the site. This will give you an understanding of how your users are grouped or organized within your site. You may also want to look into the module & page permissions to make sure the permissions are set correctly.
Where can you find the Admin & Host users, security roles, and Page/Module Permissions? In the below video
Find Out What Version & Edition of DNN You’re Running
Another thing that’s important to know is what version and edition of DNN you’re running. What is the difference between the version and edition? As previously mentioned there are a few editions… the free DNN Platform, then the paid Evoq Editions. The version is a number that refers to the version of the software you’re running. At the time of this writing the most current version of DNN is version 7.3.4. If you find that your version is not a current version then you may not be leveraging the full power of DNN’s latest features & functionality. If you’re on a really old version then your site may not be as secure and/or performant as it could be. Ultimately you want to bring your site to the most recent version so that you’ll leverage the latest and greatest features DNN has to offer.
How can you find out the version and edition of your DNN site? Watch the below animated gif
Optimize Your Site's Performance
It’s always good to validate your site’s performance and investigate the site’s configuration as it relates to performance. You definitely want your site to be as “snappy” as it can be so that your users have the best possible experience on your site. Though, how does one go about investigating performance? The best place to start is by checking out Mitchel Sellers’ DNN Performance Best Practices Guide.
Review Third-Party Modules
As we reviewed earlier, DNN is built in a modular fashion which makes it highly extensible. DNN ships with several modules out of the box, but even more modules can be installed into DNN. These modules can be custom developed, downloaded for free from the Forge, or purchased on the DNN Store.
This extensibility is indeed powerful, but whenever there is code (that you didn’t write) installed into your site you need to be familiar with the developer or vendor. Having knowledge of these custom developed or 3rd party modules is very helpful whenever it comes time to upgrade or if you get a random error in a module.
Therefore if you’ve just inherited a DNN site it’s a good practice to go through your site’s installed extensions, see which ones are in use, and if you find 3rd party or custom developed modules then familiarize yourself with the developer of these extensions and ensure they’re up-to-date. This information will be good to have if you ever face any issues with the modules or when you’re trying to get the most current version of the module.
Also, some of the DNN Community members I spoke with even said that they remove all modules that are not in use as part of a “clean up” process when they inherit a new DNN site.
Review In-Use Skins/Themes
Just as we reviewed the 3rd party modules it’s also a good idea to review the “skins” or “themes” installed into your DNN site. The theme of your site is what controls the look and feel, the color scheme, the columnar layout, and the potential responsiveness of your site. Themes generally don’t cause too many problems, but they could degrade performance or cause JavaScript errors if not coded properly or if they’re using images that have not been optimized. Get to know the themes being used on your site. You should find out things like if they are mobile friendly, if they have issues with older or different browsers such as IE8 / IE9, and if possible find out who created them. Here again if they were created by a custom skin developer then it’s beneficial to establish contact with that developer in the case that you need to investigate any issues in the future.
Check Your SMTP configuration
SMTP stands for Simple Mail Transfer Protocol and it is what facilitates sending emails. DNN sites have a setting that can exist at both the Host and Admin levels to configure SMTP’s for your site(s). Generally speaking your site most likely needs to send emails for things like alerts and/or resetting of user passwords at the minimum. There may even be more scenarios (depending on your type of site) where emails need to be sent and they will not be sent without a properly configured SMTP.
In order to access the SMTP at the host or instance level navigate to Host > Host Settings > SMTP
In more recent editions of DNN the SMTP can be configured at the site level. If you have site-specific SMTP configured then navigate to Admin > Site Sittings > Advanced Settings (tab) > SMTP Server Settings (panel)
Check Out the Schedule Items
DNN sites have something known as a Schedule that contains items that occur on a frequency. For example the site search crawler typically runs every few minutes. This can be updated to whatever frequency you would like. The items listed in the scheduler don’t necessarily represent any item that you need to change, but more so you should familiarize yourself with the items in that list. Some items run more frequently than others and some take more resources / time to complete. If your site is not performing well it could be due to a scheduled task here in the list. If you inherit a DNN site then familiarize yourself with the scheduled items that are running.
To access the Schedule navigate to Host > Advanced > Schedule
Get to Know Your Database
Your DNN site stores its data in a database. Most likely it’s a Microsoft SQL Server database. You should get to know your database, its current size, and find out where your database resides. Your site’s database could potentially be hosted in-house at your organization, on a 3rd party hosting provider, or in the cloud. In order to help find out where your database is located you can investigate the connection strings in the web.config file (located in the root folder of your site) and/or you can login as the host user and access the Host > Dashboard and click on the database server tab.
Once you find out where your site is hosted. You should inquire about the frequency of its backup, which brings us to the next item in the list… disaster recovery.
Disaster Recovery - Ensure a Backup Plan is in Place, Create a Full Site Backup and Store It Where You Have Access
As site owners we have to be prepared for the worst. In this case, reverting our site back to a previous backup is the worst case scenario, but it doesn’t really have to be all that bad. Though, without a backup plan in place our disaster recovery plan is virtually non-existent. You can back up your site at any interval that you wish… every hour, day, week, etc…. that’s up to you. The important part is having a backup plan in place. If your database is not hosted within your organization then check with the host and find out how frequently the database is being backed up.
Also, backing up DNN is not just about backing up the database! It’s also about having a backup of the files and folder structure that make up your DNN site. To have a complete backup of your DNN site you need to have the backup of both the database and your site files. Your DNN site’s files will be hosted on a web server somewhere. Here again it may be on a server at your location, a 3rd party server, or somewhere in the cloud. You can find our more information about the web server by accessing the Host > Dashboard and click the Web Server tab.
How To Create a Backup
If your site is hosted within your organization then you need to know how to create a backup. So how can you create a backup of your DNN site? You can do it manually by following Mitchel Sellers’s steps from his blog on creating a DNN backup. or if you don’t want to do it manually you could opt for purchasing Evotiva’s Backup & Restore module from the DNN store and just click through it. Regardless of how you go about creating the backup, the main point is to ensure that you have a backup that you can access.
Check the Event Log
DNN ships with an “Event Viewer” which can be accessed by both Admin and Host users. The event viewer logs events that take place within DNN such as users logging in, settings being updated, errors that are thrown, etc. If you inherit a DNN site you should definitely check out the event viewer and look for anything that is firing/causing errors in the event log. This will give you insight into any potential problem areas that may exist in your site.
How can you access the Event Viewer? Just login as an Admin or Host user and hover over the Admin menu item and in the “Common Settings” tab click the Event Viewer link.
Build a Project Plan for Cleanup and Upgrade
If you have taken some of these steps and find out that your DNN site may not be on the latest version or is having issues in some specific area then a good next step to take may be to set forth a plan! In order to have the most secure & performant site possible you need to be on a recent version of DNN and have your modules on their most recent versions as well. You can definitely find helpful information about a lot of these steps online here on the site at the locations I’ve previously listed above. If your needs are more urgent then you may want to reach out to a DNN partner or contact some of the vendors in our ecosystem. They take on projects like this all the time. Regardless of the route you take it’s always helpful to have a plan for how you are going to get your DNN site back current.
Document Everything & Create a Change log
If you’ve just inherited a DNN site then hopefully the people who passed it on to you also gave you ample documentation and information about the site. If they did then you’re that much ahead of the game, but if they didn’t it may not have been a fun process. For that reason it may also be a good idea to document the state in which you found the site, all the changes you are making to the site, and your envisioned goals for the site. Create a thorough change log so that your team and/or organization can be aware of what’s going on with the site. This will be helpful for you in the future in case you need to retrace your steps as to what you’ve done to arrive at an updated version.
Basic Content Editing
If you’re freaking out with a new site on your hands you may have basic needs or questions like “How do I create a page?” and if that’s you then you should definitely check out our video library as the videos there will be helpful for these granular, task-oriented items.
Get Active in DNN Social Channels & More
There are several DNN communities online and annual events that you can connect with and attend to find more helpful resources and meet the DNN Community. Check out:
Summary
If you’ve just inherited a DNN site then congrats and welcome to the DNN Community! Hopefully this post has been somewhat helpful for you. If you have further questions I encourage you to post them in the Community Exchange and/or the Forums and I’m sure you’ll get some assistance really quickly. If you have more tips or pointers, post them in the comments below.
Thanks again to Joe Craig for the blog idea and thanks to the following DNN Community members who responded with helpful information regarding their first steps whenever they take over a new DNN site. This blog is possible because of their experiences and insight (and their graciousness with sharing their insight). Those awesome individuals who contributed info were: