About Us

Why DotNetNukeBlogs.com? Our goal is to be the premier aggregator of DotNetNuke related materials. DotNetNukeBlogs.com was started by DotNetNuke Core Team member employee community member Chris Hammond with the intention to provide a place for the leaders in the DotNetNuke Community to push their content to those needing it most, the users.

If you're a DotNetNuke Expert be sure to get your feed added into our aggregate system. You can read more about us here

DotNetNuke Hosting

Hosting for this website is provided by AppliedI.Net. Be sure to visit them for all your DotNetNuke Hosting needs. 

Latest Community DotNetNuke Blog Posts

15 Years of DotNetNuke

15 years ago a guy named Shaun Walker released something special unto the world. Something that would ultimately change the way Microsoft approached Open Source. Shaun released a CMS tool called IBuySpy Workshop, a modified version of IBuySpy Portal. The IBuySpy Workshop ultimately became DotNetNuke, now known as DNN (I’m nostalgic for DotNetNuke btw).

Getting the Most Out of Your Google Analytics DNN Integration

Google Analytics is often taken-for-granted in too many ways. When the average company thinks about Google Analytics, they simply ensure their Google Analytics code is in place and they keep track of what I refer to as vanity metrics. Copy. Paste. Done, right? Vanity metrics are quite deceiving, to be honest, and you’re only scratching the surface with what you could (and probably should) be doing with Google Analytics. In this article, we’re going to discuss how to dive deeper into your Google Analytics integration to grow your business.

I’m going to approach this from a content management system perspective, or CMS. If you’re not already using a CMS for your website, you really should be. A CMS is perhaps one of the most critical tools you’ll need for your web presence. Having a CMS literally empowers your entire organization to do more with your website, both onsite and off – including getting more out of Google Analytics. In this instance, I’m going to talk about how you can use features found in the DNN CMS along with 51Degrees to begin to raise your business to the next level by making data-driven decisions.

DNN plus Google Analytics plus 51Degrees

What is DNN?

DNN is the shorter name of my favorite content management system (CMS), previously called DotNetNuke. DNN has run hundreds of thousands of websites over the years, including some notable ones like the U.S. Department of Defense, Bank of America, NASCAR, and many more. DNN helps entire organizations to be able to run their own website while also being able to integrate with their other systems. It’s the ultimate CMS-based toolbox for the website of any growth-focused organization.

What is Google Analytics?

Really? You haven’t heard of Google Analytics? I don’t believe you. But just in case…

Google Analytics is hands-down the most popular service that website owners choose to use to help learn more about their website and how customers use it. You have many features that simply just work out of the box without any additional configuration to get all the basic information you’d want to know about your online business. However, Google Analytics is also a very flexible platform to help you learn and make decisions based upon almost any activity your website visitors perform.

If you want to truly learn about how your visitors are using your website, you need to do a little to a lot more work to really benefit from the data.

51Degrees.mobiWhat is 51Degrees?

Since we’re using DNN in this example, we’re very lucky to have 51Degrees in our toolbox. I mean, it’s already there. We can just get started with it immediately. 51Degrees is known worldwide to be the fastest and most accurate mobile device detection service available to developers and website marketers. A great example of their accuracy can be seen when a handheld device browses your website using the UC mini browser. 51Degrees correctly reports this as handheld device, whereas Google Analytics thinks this is a desktop device.

51Degrees powers over 1.5 million active implementations around the world and they are adding up to 200 device definitions every week. It really is a no-nonsense decision to use them for anything mobile like this, even if you’re not on DNN already. They’re available to nearly any platform you can develop on. If that’s not enough, they’re trusted by brands such as Subway, Disney, Hyundai, and Home Shopping Network.

51Degrees + DNN and Beyond

In the case of DNN, again, you’ll see that it’s already there for you as a built-in feature. In the free and open source version of DNN (called DNN Platform), you’ll have immediate access to a free version of 51Degrees, which doesn’t give you all the data you may be looking for, and it only supports quarterly updates. You can upgrade to their Premium Cloud or On-Premise plan which gives you automatic weekly updates and access to additional data properties such as device type (e.g., knowing tablet, smartphone, TV, etc.) and physical screen dimensions (which is necessary for the examples below).

By the way, DNN is only one of many web platforms that 51Degrees is integrated with.

Growing Your Company by Making Data-Based Decisions

There are seemingly countless ways to use and speak about how you can further leverage Google Analytics, but we’re going to focus on the fastest growing and arguably most important segment of your website visitors – mobile. Basically, anyone that comes to your website using a tablet or mobile phone. There is a lot of anecdotal information about these visitors out there, but it’s imperative that you know more about your own visitors if your site is in any way meant to drive revenue for your business.

Let’s take a very standard example, namely advertising. If this doesn’t sound like the best example, consider this… This year alone online advertising has increased nearly 16% to $83 billion the U.S according to eMarketer.

It’s easy to think that you can just place some sponsored ads on your site and then wait for the dollars to start rolling in. Sure, you may have even done a bit of usability testing and user experience research before rolling them out. But did that also include the habits, context, and form factors of the various mobile devices that are potentially coming to your site? I’m guessing not. If you don’t measure, you can’t forecast. If you can’t forecast, then there’s no way to ensure it will be a successful part of your business.

FYI… Even though we’re talking about advertising, this article can apply to any content on your site. These principles are equally relevant to articles, calls to action, and marketing forms.

In the case of ads, it’s quite common with all the web frameworks out there today for the ads to always look good, even when browsing using a mobile device, but that’s pretty much where most organizations stop. Are those ads still functional? Is the placement in a mobile context still functional? Meaning, are people still seeing it? If they are, how often? Is it performing any differently, and on which devices? If we know the devices, do we also know if they’re viewing the page primarily in landscape or portrait orientations? These are all very important questions, but the answers are even more important.

Enabling 51Degrees in DNN

Today, enabling 51Degrees is something that you’ll need to do using configuration files. So it will feel a bit technical, but it’s quite easy. This will change in the future to be configurable as clickable features, and I’ll write a follow-up article once those features are available again in DNN.

Once you’re logged in with a superuser account, you’ll find a feature in the persona bar called Configuration Manager.

Persona Bar > Configuration Manager

51Degrees has its own configuration file, called 51Degrees.mobi.config. When you choose it, it will be loaded into the editor area.

Choosing the 51Degrees configuration file

You’ll only need to change two values, and you’ll find them at the bottom of the configuration file. We’re going to want to enable the feature (“enabled”), and also turn on feature detection (“featureDetection”). Both values will be “false” when you first load the file. Simply change them both to “true” like in the image below.

51Degrees configuration file changed

If you have the premium data subscription, you’ll have one more step and it will require access to the file system of the website. You’ll find a folder named Bin in the root of your website. You’ll want to create a new file there named 51Degrees.lic. In the file, you’ll want to paste the premium data license key and save it.

51Degrees license file in the bin folder

After saving all of your changes, you’ll want to go to the Servers page in the persona bar and restart the application. Your updates won’t be applied until you do.

If you’re a premium data subscriber, the data files that contain mobile data will begin to automatically update a few moments after your application restarted in include the additional data that you’d otherwise not have access to.

Enabling Google Analytics

There are plenty of articles and tutorials out there to help you enable Google Analytics in DNN, and it varies depending on the version you’re running. I recently wrote an article on how to enable Google Analytics in the most current release of DNN (as of the time of this writing).

Now that you have Google Analytics enabled, let’s get to some of that advanced data we’ve been talking about…

Advanced Behavior Tracking

Let’s imagine we have an advertisement that is on the right sidebar area of a page when viewed on a desktop device, like a laptop. Assuming the website is already mobile-friendly, this ad will be repositioned once a mobile device visits the page. In many cases though, this ad may be below the content, making it unlikely that it gets seen. We could just move the ad, but what if that increases the bounces on the site? We need to figure this out, and the only way we can do that is to measure it.

Desktop vs. Mobile Site Comparison

When you look at the placement of the ad in mobile, it could feel like an easy decision as to what to do with the ad, but that’s most likely going to be a gut decision. It’s far more important to know if it’s even necessary to reposition the ad for mobile.

Add Custom Dimensions

Before we go any further, you should check out an article written by James Rosewell, 51Degrees CEO and co-founder, where he details how to add custom dimension track to Google Analytics. Go ahead and add some of your own custom dimensions.

To keep things simple, here’s how to quickly add custom dimensions, but the article linked to above will go into greater detail.

First, navigate to the Custom Dimensions area in the Google Analytics administration area. The screenshot below will help you.

Choosing custom dimensions in Google Analytics

You’ll most likely first see an empty grid. Click the button to add a new custom dimension.

Empty custom definitions table

We’re going to add two dimensions. First, a dimension for each page load that specifies the orientation of the device when the page is loaded, called “Orientation.” Then, another dimension that tells us the screen size of the device, called “ScreenInchesDiagonalRounded.” You’ll see the settings in the next two screenshots.

Google Analytics custom dimensions settings

Once you have both dimensions added, you’ll see that your custom dimensions grid has dimensions now.

Google Analytics custom definitions created

Now that we have some custom dimensions added that are mobile-specific, we can leverage the dimensions together with the data from 51Degrees to begin learning more about our customers’ habits while browsing the site.

First, update the Google Analytics script we updated earlier in the article to include the dimensions upon page load. You’ll see two new lines of code that each add a new dimension. You’ll also notice that there’s a new script reference added to allow the 51Degrees object to be loaded. This script is dynamically generated at page load based upon the unique visitor, so you’ll need it before Google Analytics runs, and you’ll want to ensure that this file isn’t cached.

         <?xml version="1.0" encoding="utf-8"?>
                <EngineType>DotNetNuke.Services.Analytics.GoogleAnalyticsEngine, DotNetNuke</EngineType>
                        <script type="text/javascript" src="/51Degrees.features.js"></script>
                        <script type="text/javascript">
                            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                            ga('create', '[TRACKING_ID]', 'auto');
                            ga('set', 'dimension1', window.innerHeight > window.innerWidth ? 'Portrait' : 'Landscape'); 
                            ga('set', 'dimension2', FODF["ScreenInchesDiagonalRounded"]); 
                            ga('send', 'pageview');

We need to add some code to the page to help track new event information. We’re going to assume that your ads are all wrapped in a DIV tag with “adContent” as the class name like the example below. You can even apply this using the settings of any module.

        <div class="adContent">
            <a href="/My-Promotional-Page">
                <img src="/Image-Path/my-banner-ad.jpg" />

We'll also need a code snippet to look for the ad, and then push event data to Google Analytics if the ad is visible. In this case, we’re only doing it when the visitor is using a mobile device. That code snippet is discussed below.

Add the Event Code to DNN

There are many ways to add this kind of code to DNN. You could technically even use the out-of-the-box HTML module. However, I’d suggest using a solution more tailored to your site. In some cases, that might be a custom extension, such as a skin object or module. In this example, I’m going to use an open source module I created years ago specifically for this kind of use case where you may not necessarily want to get a developer fully involved. It’s called the Content Injection module. You can always find the latest release of my open source extensions on the GitHub site.

Install the module using the normal installation method, and then add it to a page where you want to track the ad. This may be your homepage or blog page, for example. Then, you can copy and paste a code snippet into it and modify it as desired. The great thing about this module is that you can use it on one or many pages – even across the entire website. This means that you can write the code once, and potentially not have to manage it again.

Add the module to a page, and then choose to add a content injection.

Choosing to add a content injection

You’ll then simply give the code a name, specify that it’s HTML content, and paste the snippet into the textbox. It’s also best to inject this to the bottom of the page.

Content injection being saved

The code snippet below can be done any number of ways, and it could even be less code if you used a jQuery plugin. This snippet first creates an extension to look for and report that an element has entered into the viewing area of the page. The next bit of code will use that extension to report the event to Google Analytics.

        $.fn.isOnScreen = function(){
            var win = $(window);
            var viewport = {
                top : win.scrollTop(),
                left : win.scrollLeft()
            viewport.right = viewport.left + win.width();
            viewport.bottom = viewport.top + win.height();
            var bounds = this.offset();
            bounds.right = bounds.left + this.outerWidth();
            bounds.bottom = bounds.top + this.outerHeight();
            return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));
            // set a local variable to track if the event occurred already
            var seen = false;
                // if we can see the element AND it's the first time seeing it
                if ($(".adContent").isOnScreen() && !seen) {
                    // The element is visible, tell Google
                    // swtch AdVisible to your own event name, and SideBar1 to your own criteria
                    ga("send", "event", "AdVisible", "SideBar1");
                    // flag the event
                    seen = true;

Once you save this code snippet in the Content Injection module, it will immediately begin to do its job, and report the scroll event, which you could then report on later in Google Analytics.

Test the Code Snippet

Now that the code is in place, we can test it. There are several ways you can do this. We can use the built-in mobile emulators in browsers like Google Chrome for example. We can even use our own devices if it’s a public site. When you do, simply scroll until you see the ad. After the event is triggered, you’ll see the data appear in Google Analytics like the images below.

Google Analytics dimension data: Orientation

Google Analytics dimension data: Screen Size

In the first image, you can see how many devices were looking at specific pages holding their device in portrait versus landscape mode. The second image illustrates the screen sizes of the various devices that came to the same pages. In either case, we now have accurate data to help us make informed decisions about how to move forward with any other updates on the site.

This data won’t be game-changing immediately, but it will once you begin using it. This is exactly what you need to help you make those game-changing decisions that could do something amazing, like double or triple ad revenue.

Getting Real Results

You should let the data aggregate over time. After about a month, you’ll already have some great data to use as a baseline. From there, you can make small adjustments and experiment with ad placement on mobile devices. Each time you make one of these changes, wait another 2-4 weeks and compare the data. It’s best to only make and test one change at a time so your results are always as accurate as possible.

There are countless success stories from companies that have successfully implemented advanced behavior tracking as part of their online strategy. GiveMeSport increased ad revenue from tablets by 40%. AccuWeather increased revenues per 1,000 sessions by 45%.


This article only gives you a taste of how powerful it can be to leverage advanced behavior tracking for mobile devices using Google Analytics. You should use these techniques for anything on your site that can potentially increase revenue or reduce costs. Imagine augmenting your marketing automation strategy with additional behavioral data to help increase the number of times your white papers are downloaded or increase the number of people signing up for your webinars.

By the way, this also puts you at a huge competitive advantage over your competition. It’s surprising how seldom organizations of all sizes track, measure, and adjust their online strategy based upon their actual visitor behaviors. In a world like we live in today, where customers are becoming more and more difficult to attract and engage, we need every competitive advantage we can get.

At the end of the day, when you combine the available best-of-breed tools, the possibilities of how you can apply them are potentially endless. Though, this wouldn’t truly be possible without being able to leverage the speed, power, and accuracy of 51Degrees. You should give them a try, no matter how your website is built. They make it easy for you with both Cloud and On-Premise options, and they even have a free trial, so there’s no risk.

This blog post is cross-posted from Upendo Ventures.

If you’ve setup a new DNN site running on version 9.0 or 9.1, you’ll notice that you don’t have the ability to setup the Google Analytics module/code anymore. For some reason, DNN Corp in its infinite wisdom decided to remove the core, critical functionality from the Platform version of DNN and only leave it in the paid versions. Well fear not, you can easily add Google Analytics code to your pages, follow these steps.

I’ve been creating theme for a while now, for client site as well as the Open Source themes I’ve created. I always wanted to have a way for the client to change background colors and setting but never found a satisfactory solution that fitted well with my needs and Dnn.

This is why I decided to create the DnnThemeEditor so that everyone can have a theme editor for their own themes.

The goal of this paper is to provide you with an overview of what ADFS is and how it can integrate with your DNN website.

DNN 9.0.1 Released


Depending on what the "source" is, it appears that DNN 9.0.1 was released either 11 days ago, or 3 days ago.

So which is it, 11 or 3? Who cares, let's just go over some of the basics of what the release covers.

First off, there are a number of security updates in this release, primarily around API security.

CMS State of the Union 2017

If you didn’t already know, CMS is an acronym for “content management system.” A CMS is used by many developers, consultancies, and companies to build their website. It’s an incredibly common thing to do, as any flavor of CMS you choose will always save you effort and money, compared to building a website from nothing. This is especially true if you look at the lifetime investment of your website. Using a CMS framework or solution of some kind just seems to make sense. After all, this is what I’ve built my own career upon since 2001. However, then, CMS was known as a portal or portal framework. That’s a long time ago, so it’s not a bad idea to take stock of things every now and thing to see if what you’re doing is the correct thing. To this end, I asked myself, “How is CMS doing right now, and does it make sense to still be doing CMS-related work in the future?”

Please note that this article is mostly focused on the perspective of those of us that in some way provide website development services, where you deliver a website to clients.

Riddle Me This… Is CMS Worth My Time?

This article is the result of me asking that very question. If I’m going to invest my own time, effort, money and that of others into CMS, is it still a good investment today? This is an easy question to ask, but how exactly do you go about making that determination? This, it turns out, is not so easy. There’s a lot of disconnected information out there. The most useful information it seems is locked behind the closed doors and high-priced clutches of research firms like Forrester. So what now?

Before I move forward any further, I should get one thing out of the way for my fellow DNN community members… This is not a look specifically at DNN, nor is it meant in any way to speak directly to DNN. For that matter, not only is this article not intended to hurt DNN, it’s also not intended to disparage any CMS. This was purely done as an exercise to research CMS in general. If CMS as a whole is doing well, then any good or great CMS will do well too.

Another worthwhile disclaimer would be that I’m not necessarily a professional researcher, only in that I’ve never held such a title in my professional career, but like most of you, I have performed research that has informed entire companies since I’ve been in the workforce. So, generating data, parsing it for commonalities and abnormalities, and making decisions based on that data are all tasks that I’m very familiar with. I’m just not a mathematician, statistician, or a formal research analyst.

In doing a similar exercise to answer similar questions in the past, it occurred to me that there actually is a way to do this research and it would only cost me my time. I guess I’ll have to bill myself later, as it took a long time and this is valuable information. Information I’m now giving to you.

Gathering The Data

Gathering the data for anything like this is often the most time-consuming part. You need to find it first and foremost, but then you need to find a way to make sense of it, then do the same thing again to make sure others can make sense of what you figured out. This is a process, it’s not always the same process, and it takes a lot of time with a few dashes of trial and error.

The data I found was hiding in plain sight. Long ago I’ve learned to use services like BuiltWith to help me get to know prospects, clients, and competitors. BuiltWith is a great way to get a lot of information about the various technologies used on nearly any website, sometimes in as quickly as a click or two. It’s surprisingly very accurate. Since BuiltWith came onto the scene, others have been doing similar things and one of my favorites in this area is a company called Datanyze. I’m much more a fan of them because of their great UI and convenient tie-ins to lead generation and business development processes. However, in this case, I used their free service that’s similar to what BuiltWith offers, that shows you market share. In this case, their CMS market share area.

The market share tool is based upon people landing on a site while having the Datanyze browser plugin installed, and I believe they have bots that scour the web as well. They first analyze a site and then determine which technologies are being used by the site. Then, over time, when those technologies change, they can help you make informed decisions for your needs based upon the migrations.

If you just look at the market share tool on its own, it doesn’t do much for you. You can simply see the figures for all CMS’s over a small period of time. This is convenient enough to figure which CMS is the best and worst at any given moment, but it’s not at all useful to make any actual decisions. That is, unless you aggregate the data and begin charting it. Herein begins the time suck…

Now, before you begin harping on the accuracy and latency of tools like this, I agree with you. At any given moment, a website could be refreshed using a completely new set of technologies. When this happens, the data is a bit off. This introduces a certain degree of inaccuracy. You’re also dealing with the fact that these tools are essentially crawlers, depending upon end users initiating the scans of various sites. So, they don’t likely have the picture of the entire internet. Despite these drawbacks, this is still incredibly useful, as it allows you to have a true sense when drawing a picture. This is increasingly more interesting with Datanyze since it also analyzes internal or non-public websites in some cases.

For example, it’s not at all important for this kind of research to know that a specific number of sites are using WordPress or Drupal for example. What is definitely useful though is using the numbers to draw conclusions based on percentages. This is where it gets fun. If you can now say that 89% of websites are using this CMS or that one, that means something.

What’s to follow are insights gathered from data from January 2015 to November 2016. I won’t have December 2016 until next month, but we have enough as it is. In the data itself, I kept mostly to the top 20 CMS’s in use today.

But What is a CMS, Really?

You’re probably already drawing a pretty common conclusion without seeing any of the data, which is that WordPress is ruling the CMS kingdom in terms of overall adoption. If you’re thinking this, you’re right – but that doesn’t really mean anything. Also, it doesn’t really matter if you consider WordPress or any other solution a CMS or not. It matters that the marketplace uses it as such. For example, I didn’t know until this exercise that some people consider Blogger a CMS. Now, if you’re even remotely close to being a purist, you’ll be one of the first to scream an expletive at someone who suggests that. In discussing my findings with various people in the CMS ecosystem and technology community overall, I was just as surprised by this and was even more surprised to find that some individuals whose names may be synonymous with CMS use Blogger and similar tools to roll out client websites in the same way as most people do with traditional CMS’s. Don’t forget that this is how WordPress itself began too, and few people argue the merits of it being a CMS today. (I do though, but I digress…)

There are few types of CMS as you probably have figured out by now. There are many that are aimed at a specific vertical, such as car dealership or auto part CMS’s. There are others like Blogger who focus on brochure-style websites. There’s e-commerce CMS’s. There are application frameworks like DNN or Umbraco. There’s so very many, and they’re all more or less included in this article.

Media Outlook

When you look at the various news stories and industry articles, there’s no shortage of CMS-related news. However, you may have noticed a similar trend that I did. The CMS news has become ambiguous. You’ll find e-commerce news alongside CMS articles, and sometimes in the same article. The same goes for other types of solutions as well. This is part of what prompted me to look into this more. Why is there so much non-CMS news on a CMS industry site? There are many reasons for this. It’s just yet another symptom to keep in mind.

Despite the news shift, there’s plenty of money being reported as being spent in the CMS space. In the past, you could spend only a moment though looking for the amount expected to be spent, and have a few pages of search results. Try searching for that now. CMS is not the hot topic keyword it used to be. You’ll be hard-pressed to find any news article addressing CMS spending specifically. It’s just not an actual line item anymore. The conversation and outlook have changed. Instead of talking about CMS, the conversation is about overall budgets in IT and marketing departments. Media reporting on CMS is instead mostly sponsored by the various vendors out there now, and focus primarily on features and releases. It’s a marketing engine instead of a true news engine. Again, this isn’t necessarily good or bad on its own. it’s another symptom.

Something that’s more interesting, is the attention that the 2016 Gartner report on IT spending got last year. In this report, web isn’t even really spoken about in any meaningful way. Instead, the conversation is all about the internet of things (IoT), 3D printing, and RFID. However, the amount of spending in these areas is worth talking about. In the chart below, they speculated that 24% of the overall $3.14T IT budget would end up being spent on IoT.

Gartner: IT Spending in 2016

Market Leaders

Overall, you’ll find that WordPress is by far the winner when it comes to market share. This should surprise no one. This is just a snapshot, but in looking at it, you may want to immediately shift your time and resources to support WordPress, Joomla, and Drupal since they’re all on the same stack. Sure, there’s a huge market share there overall at 72% collectively, which is a big pool of prospective customers to fish in. Though, there’s much more for any business to consider. When you look at the chart below, the CMS vendor list on the right is listed from the biggest market share on the top, to the smallest on the bottom.

CMS Market Share 12-2016

Another thing to take away from this is that ASP.NET CMS’s don’t total more than 1% of the overall market share, where 1% is around 150,000 sites. If you’re someone like me, who makes their living on the Microsoft stack, that could feel a bit discouraging, but again, this is a snapshot. This alone doesn’t paint a full enough picture. Also, don’t forget that this is only the sites that they can see, and only CMS’s. So while the number is discouraging, the percentage is what’s more meaningful. When you apply 1% across the entire internet, it’s a pretty big number. I’m not proposing that all sites will use a CMS in the future, but most will (or something like it).

Oh My, The Trends…

The most important part of my research is that I wanted to look for positive trends. Having existing market share is like owning an entire bag of M&M’s, buying them one at a time. Once you have the whole bag, there’s nowhere to go from there. You need a new business. Is the CMS market growing? I’d love to give you good news here. I really would. Alas, I’d like to tell you the truth.

Until I refreshed the data for this article, only a single CMS vendor was showing positive growth over the past two years, and it wasn’t WordPress. Despite being the giant on the playground, it seems businesses were beginning to play with someone else. It seems Datanyze had an anomaly in September 2016 though, adding nearly 600,000 sites in a single month. This is almost a factor of 4 higher than their highest volume month. This could most likely be attributed to an algorithm being updated, and those additional sites should have already been added over time. If you were to normalize the September anomaly, WordPress would still be trending down over the past two years.

WordPress Growth: 2015-2016

This overall trend in the non-ASP.NET stack can be seen across all of the most popular CMS’s in that category.

Non-ASP.NET Growth: 2015-2016

Until August, Adobe’s Experience Manager (formerly Adobe CQ5) was the only non-ASP.NET CMS to be seeing growth. It was all positive. Unfortunately, the last few months has reversed their trend line. Despite this, Adobe’s Experience Manager has shown very consistent growth over the past two years. They’re a very clear competitor out of everyone I’ve looked at so far.

Adobe Experience Manager Growth: 2015-2016

So that means people are fleeing the LAMP stack and running to the Microsoft stack, right? As a fan of that stack, I wish I could tell you that. I really wish I could. It would be a lie. When you isolate only the ASP.NET CMS’s, they’re showing the same anti-growth trend I saw in the others above.

ASP.NET Growth: 2015-2016

In fact, the largest ASP.NET CMS market share over the past two years is surprisingly Kentico. They edged out DNN by 1,000 sites. DNN has traditionally been considered to be the behemoth to battle against on the Microsoft stack ever since it was first released. Having been in this ecosystem for a long time now, this may have been the most surprising thing to me about this exercise. Unfortunately, even isolated on their own, all of the ASP.NET CMS’s show an anti-growth trend almost identical to Kentico’s.

Kentico Growth: 2015-2016

Since most of my readers are DNN enthusiasts, you may want to see how that stacks up, first with DNN on its own. You’ll find the downward trend to be painfully obvious.

DNN Growth: 2015-2016

When you stack DNN up against Kentico, they both show a very similar migration pattern, but it’s trending downward regardless. Sadly, you don’t even need to have the trend line in the graph to illustrate this.

DNN vs. Kentico: 2015-2016

Why No Growth?

Whoa… so if you’re hearing for the first time, I’m guessing you’re no doubt a bit speechless. Everyone I’ve spoken to about this so far seemed to be completely caught off guard. An important note about this is that while the trends are all going down, the gains in the marketplace are mostly net positive over the same period of time. More sites are being gained than lost by most vendors, but that is something that’s clearly not going to last. People are leaving traditional CMS as a trend. It begs the question, “Where is everyone going?”

I tried for a couple of weeks to try and find the answer to where people are going. I poured over the data I do have, and I simply could not find the gains to show where companies are going, when they’re not choosing an existing prominent vendor. None of the smaller vendors are showing the growth necessary to explain it.

The answer came to me through an off-chance conversation with someone I know in the South Florida startup scene. He had literally just gotten off of the phone with someone at Forrester the week before, having a similar conversation about website trends. They weren’t speaking about CMS specifically of course, but they were talking about where and how companies were deploying their websites. As it turns out, there are multiple factors playing at the same time to cause the anti-growth patterns you’ve seen above.

First, there are cloud solutions being more and more prominent, each taking on a specific task from a company. In many cases, they’re even things that previously used to exist on their own website, such as a company blog. All of these are chipping away slowly at features that used to be gained from a CMS. Why deploy an entire CMS if you just need one specific feature? Sure, there are pros and cons to going or not going with a CMS, but budget and total cost of ownership will generally point towards a non-CMS decision.

Second, among cloud and traditional software, many vendors are now offering add-on services that fulfill the basic needs of most companies. For example, a CRM vendor may not have what you may consider being a traditional CMS, but they may offer a website service that’s nearly just as good. It offers exactly what the company needs, without all of the bells and whistles that a CMS usually comes with. You may know from experience yourself that while a business may have a formidable checklist or RFP, they only really intend to deploy a small fraction of those requirements initially. As with most IT projects, all of those nice to have’s and wish list items tend to get forgotten – prioritized below other business objectives. If you pay any attention at all to startup mergers and acquisitions over the past 3 years, you probably have already been seeing the evidence of this without even realizing it.

A third factor includes all of the vertical-specific CMS solutions that have sprouted up over the past few years. There’s far too many to show up on the radar in reports like Datanyze offers, and so it’s possible that all of these are collectively stealing the market share, and we can’t even see it yet.

A possible fourth contributor is custom-built websites. However, I have yet to find any data to show that this has any larger growth than it typically does. Anecdotally, all of the agencies I know that build custom-made websites aren’t showing any growth in this area either.

Your Future with CMS

Where does that leave you if you want to CMS still? Well, it’s far too early to panic, but you need to get into gear and start making plans now. If you haven’t already diversified, you need to. There are of course the immediately obvious options, such as specializing in multiple CMS’s in the same stack, or choosing one each from both stacks. However, this is fairly short-sighted in my opinion.

Do you remember that IT spending chart from Gartner waaaaaaaay up at the top of this article? IoT and 3D printing are massive areas of opportunity if you provide any kind of software solutions, but especially mobile- and web-based solutions. It would be a very safe bet that your CMS future is somehow going to merge with those areas, whether you like it or not. Ideally, you may want to jump on that preemptively, to shortcut your competition. There’s simply far too much money being spent in those two areas.

There’s another area of diversification though. You may need to find yourself specializing in a handful of CMS’s, each focusing on specific verticals. In this case, you may even find there to be opportunities for integration work, but even that is getting chipped away at. Companies like MuleSoft have done a phenomenal job of taking care of that for companies. There are even many cases where a company such as this prevents any code from being written at all.

The bottom line from my findings is this… If you’re specializing in CMS today, you should make that only one of a few specialties you offer in the future. That is unless you specialize in many CMS’s. CMS isn’t going to die, but its bubble had burst a long time ago, but no one really has begun talking about it yet.

What do you think though? Do you have your own research on this? Are you still planning to stick to just one CMS option? Why or why not? Let me know what you think in the comments below.

DNN9 appears to be an evolutionary leap forward for the DotNetNuke CMS, but while there are many advances, there are some big misses of features that somehow got left behind, or at least hidden away so that finding them for someone who isn’t a DNN expert (such as myself, if I do say so) is impossible, unless of course you read this blog, then you’ll be on your way to utilizing DNN9 in ways that the average Joe could only hope to.

I woke up this snowy January morning with email from my most excellent web hosting company (www.appliedi.net) letting me know that my database server was almost out of hard drive space. Thanks for the heads up to the AppliedI team!

My first thought was “How is that possible?” I was just on the server in the past couple of days doing all my DNN9 upgrades, and there were 20 gigs of free space not 4 days ago. With a quick check I found that one of the databases was 9gb. 4 days ago that database was <250mb.

If you are having problems adding Pages in DNN 9, read this blog post. I recently upgraded all of my sites to DNN 9, the most recent one being upgraded last night. This morning I wake up to an email from a client of mine reporting a problem with adding pages in one of their sites that they also upgraded to DNN recently. I read through their email, and decide that I’ll look into their issue a bit later, have an itch to scratch on one of my own websites, so I’ll get to them later (sorry client).

I finally finished my long promised blog series about writing DNN modules with Angular 1.x. This blog series should set you in the position to start DNN module development with Angular even if you haven't done a module for DNN yet! 

DNN 9 Persona Bar

DNN Corp is on the verge of releasing their latest DNN Platform release, version 9.0.0.  As a DNN MVP, I of course had to take a look around at the new stuff coming.  It’s still in the early stages though, so there are a few areas where the new updates have some smoothing out to do, but overall, the updates we’re seeing in version 9.0 are very nice.  In short, it’s a much more contemporary user experience for all involved – but a very important step in the right direction for the future of all DNN’ers.  Here’s my preview and insights after using DNN 9.0 for the first time – a pre-release version of DNN 9.0, that is.

Everything I’m discussing here are things I’ve looked at while viewing the nightly builds. If you’re not familiar with what a nightly build is, it’s basically a software product that’s still actively being developed on.  There’s work and features that aren’t even checked-in yet.  It’s not the final release, so please keep that in mind in this article, and any others like it.

Once you get by some of the rough edges that are in still in the nightly builds, like clunky animation transitions, help labels docked in random positions and/or partially hidden, and figuring out how to exit the persona bar views, the primary new feature begins to open up with a lot of subtle, but powerful updates.  First and foremost, the administration experience is indeed a lot more contemporary.  You’ll hear that word thrown around a lot by DNN Corp folks, but the new persona bar that replaces the control panel we’ve come to know quite intimately does a great job of tucking away a lot of the things that would previously get in our way in a large number of ways (right, skinners?).

DNN 9.0 Persona Bar

As you can see above, the control panel is no longer docked at the top of the page.  Instead, you see two new bars docked, at the bottom and on the left side.  These both comprise the new persona bar, allowing you to edit numerous aspects of your site, without having to wait for page reload after reload.  This is sure to be a time-saver, especially when you find yourself configuring multiple things at a time.

While I mentioned words like rough edges, this is by no means a completely new feature.  Don’t be scared.  The persona bar is something that’s been back-ported from DNN Corp’s commercial product suite.  Only now, there’s a bunch of new features added to it to make it more usable across all of the DNN Corp products.  What this means to you is that this feature has been under development and tested in real world environments for quite a long time now, and it’s inclusion into 9.0 is lower risk than nearly any zero point release before it.  We can almost certainly expect for those rough edges to be smoothed out by the time 9.0 is ready for release.

Unexpected Multi-Tasking

What seems to be an unexpected feature is that you never know when your work is saved or not.  Follow me here…  If you do something like edit a configuration file.  You may be working on multiple lines in the configuration.  Next thing you know, an urgent phone call comes in asking for a quick SQL query report.  You switch to the SQL view, and run the query.  Problem averted!  Just as you begin to return to the configuration updates, someone asks you over IM what the URL is for an important new content campaign.  So, you leave the persona bar and navigate to the page, then send the URL.  Awesome, now you can finish your work, right?  Right.  Just navigate back to the configuration manager, and your updates will still be there, waiting for you to click “Save.”  Just be careful that you don’t forget about saving those updates.

Added Usability

The admin and “host” modules we’ve grown used to over the years are removed and replaced with streamlined counterparts.  These new additions are more thoughtfully grouped together, as are the various settings that used to play hide-and-seek with us in the past, hidden across any number of configuration views and collapsed sections.  You literally had to be using DNN for years before you could even consider yourself as an anything remotely close to a “DNN expert.”  Another thing I liked while digging around is how the global and site-specific settings are both put side-by-side and easily distinguishable.  When you’re not logged in with enough permissions, the global settings are neatly tucked away, and you’d never know they existed.

DNN 9.0 Global Settings Tooltip

Some Missing Things

You shouldn’t look at “missing” as being necessarily a bad thing.  Change is necessary, and DNN has had way too many features to get in everyone’s way for far too long now.  The admin and “host” pages you’re used to using will mostly be gone when you upgrade, replaced by newer and easier to use counterparts in the persona bar.  Some other things are missing too, like the Store/Forge integration in the Extensions management area.  Again, the missing things aren’t necessarily a bad thing.  In order for DNN and the DNN ecosystem to grow, this kind of change will be necessary.  So far, the things I see missing are all very good.  Although, I’m on the fence about the Store/Forge integration.

The Future Looks Even Brighter

We could find all kinds of little things to continue to talk about when it comes to the updates coming in DNN 9.0.  However, the biggest thing I think we can look forward to with the updates we see applied in this release are the things that haven’t yet happened.  Two of the most popular complaints about DNN are its speed, and how old the administration looks.  The administration issue is clearly fixed here, and speed is addressed to some degree as a byproduct.  The thing is for me though, this series of updates lay the foundation for something that will be much more impactful to the future of DNN – a reliance on the ancient .NET technology we call webforms.  Once DNN 9.0 is released, the only things that really use and depend on webforms are the modules you see on individual pages.  Architecturally speaking, DNN 9.0 appears to be the first step towards the newer ASP.NET Core we’ve all been anxious to see for quite some time now.



DotNetNuke.com The DNN mothership.

Built by

This site is built and managed by Christoc.com Software Solutions, a leading .NET open source consulting company.