The DotNetNuke content management system (CMS) ships with a ton of features out of the box. Some of these features stand out more than others. I believe these are what elevate DotNetNuke to the top of its class.
The features that stand out
User Management & Permissions
DotNetNuke makes it extremely easy to grant or deny access to pages on your site. The permissions model is so in depth that you can show or hide individual pieces of content on that page based on those rules. In a single installation of DotNetNuke you can even have completely separate collections of user and permissions by utilizing DotNetNuke Portals system.
By far one of the greatest assets at DotNetNuke’s disposal is the store. This eco-system allows vendors to sell and distribute skins, module extensions, providers, and more, in a standardized format making purchasing and support easier. The DotNetNuke store is also integrated into the CMS, giving you an end-to-end experience for gaining new features and extending DotNetNuke’s look and capabilities.
This feature is mostly transparent to the user and website administrator but keeping commonly accessed data close at hand is what separates a good CMS from a great CMS. DotNetNuke ships with two caching providers: file caching & memory caching provider. File caching works by caching rendered content by storing them in the form of html files on the web server. The server can then quickly serve up the content to a user without going through the expensive chore of requesting it from the database. Memory caching takes it one step further and takes that same content and pushes it in to memory instead (RAM) therefore reducing your web server’s disk IO and ultimately increases performance.
Note that while the memory caching provider is only available in DotNetNuke Professional, the CMS still caches much of its core data objects in memory. Items such as:
- Portal Settings
- Basic user information
- Modules Settings
Having a document library out of the box is wonderful for organizing your websites content. Having the capability to create folders and hierarchies of information makes locating and retrieving website assets a great feature to have by itself. But wait? There is more! DotNetNuke’s file provider model allows you to utilize the same document library but have your files stored in different locations.
- Store locally on the web server and accessible from a public url
- Masked urls by file ticket – a type of obfuscation.
- Secure Folders – Using the same permissions feature discussed earlier in this article. Requires user to be authenticated to download content
- Database Folder – Storing the physical binary file in the database and not on the web server.
- Cloud (Amazon S3 / Windows Azure) – These folders can pass files directly to S3 or Azure automatically and make use of the ultimately limitless file repository.
Having any one of those providers active at once would be nice but what makes it great is that you can have them all enabled and working together on a folder by folder basis. Likewise the permissions we discussed earlier can also apply to each folder.
Knowing what is going on with your website and keeping tabs on its health is critical. DotNetNuke’s event viewer allows you to see exactly what’s happening on your website. Is something causing an error? Is my site performing slowly? When was the last time an user logged in? These are all questions that can be answered from the event viewer. Additionally any logged event can trigger an email notification sending you details of the event when it happens.
It’s not all cake and ice cream
Next in this series I will dive into real world experiences with DotNetNuke and what to expect.