I have deliberately used “and” in the title to avoid “Umbraco vs DotnetNuke”. This is not technical comparison between the two nor overview of either one of those CMSes. It’s simply a short story why we started using Umbraco, in parallel to DNN, after many years of DNN development. Being of technical background but economics and management education, I like to think I can serve as a bridge between those two worlds. Most of my working time I organize and manage people within company, but development is my passion which I don’t let go. So, this is a view from my perspective.
DotNetNuke was a great .NET based open source CMS. We started using it for our clients with version 2. Quickly we started building powerful websites in no time. Clients loved WYSWYG approach to editing content. This love lasted for years, and still is. We have built huge portals in DNN, running on dedicated servers and also miniature portals on shared DNN hosts and shared hosting.
Umbraco? Umbraco was love at first sight. I installed version 2 and after initial confusion (which required certain mind shift to completely different concept), I was blown away by flexibility of this CMS. First thing that I loved are document types and datatypes, where you could easily “describe” content types like you add columns to a table. Text here, image upload there, rich text editor here… and you have a document type used to describe content of your site. It reminded me of Xmod module for DotNetNuke. Back office to edit that document type is ready auto-magically. Fields can be referenced in templates easily and everything is editable in back office (templates, macros, content).
Since .NET development is not my thing for some years now, ability to do macros and some dynamic parts in XSLT was also amazing. Tweak navigation, display last 10 news on homepage, display cheapest product,… all easily done with few lines of XSLT (later Razor script).
Last but not least: HTML output. Umbraco enables you to take control of every single letter returned by webserver. Nothing, I mean nothing extra is output to browser. You can just as easy output TXT, pure XML or JSON instead of HTML if you want. Actually, you could use Umbraco to create a webservice or manage a site built completely in Flash… just output content in XML instead of HTML and Make a Flash app to pull it. This is great for SEO but also for speed optimization. This is one thing webmasters disliked about DNN, output is nasty and takes a lot of effort to clean it up and optimize.
On the other hand, Umbraco is not DNN killer. WYSWYG way of editing is still not great and clients really like DNN way of editing content. Also, we might be wrong, but for bigger portals we’re safe with DNN. It is proven and it works. We’re not comfortable to use Umbraco for larger content sites and larger volumes of visitors. Also, some typical sites are built in DNN very fast, with huge amount of ready made modules available on Snowcovered.
But bottom line, from manager perspective, Umbraco helped us reduce dependency on .NET developers in some projects. In practice, DNN development sooner or later requires .NET developer to tweak some module or build some custom stuff. Those are more expensive and less available than webmasters and content editors. In Umbraco, our webmasters took over simple XSLT or later Razor scripts. If client required “only a small change” to add some fields to his property description or to display last 10 items instead last 5… no longer would webmaster write a ticket to developer, waiting days for the ticket to be completed. Now solution is delivered to our client faster and cheaper.
So, both CMS’es happily coexist in our company, each performing where it serves best.