.Net CMS Roundup
Mar. 23rd, 2010- Posted in: Resources, Reviews
- 4 Comments
I’ve had the recent dubious honor of doing some research into CMS solutions for the site redesign of my company: Educational Benchmarking. For better or worse our entire infrastructure is built in Microsoft technologies, and as such the mandate has been that – if at all possible – the CMS we implement needs to be .NET-based and SQL Server capable. I’ve spent the last week or so evaluating different options, and thought I’d give a brief snyopsis of my findings for reference.
Umbraco
Umbraco was my initial and most promising choice for evaluation. At first blush it seemed to have good documentation, flexibility, was open source, permissions structure, and (this is particularly important to me) a growing and active community around it. Umbraco boasted several very enticing features, including revisions, a workflow process, custom document type creation, plugin capability, and the ability to easily integrate custom user controls. Perhaps most important for my personal role in the redesign was that Umbraco didn’t store all of its templating, formatting, and CSS in a database (as many CMS solutions do) and instead wrote to physical files on the server. Changes made in the admin would write to the physical files, and changes to the physical files outside of Umbraco would be reflected in its admin interface.
My optimism started to fade after installing and getting my hands dirty with the CMS. Umbraco is extremely flexible… to the point of almost not functioning as a CMS and more as a framework. Standard features such as predefined document types functionality, blogging, and even a search module weren’t included; these would all need to be developed mostly from scratch. There is a boilerplate sample site plugin that can be installed to learn from, but it is confusing at best. It becomes increasingly clear that Umbraco has been written for the dedicated developer (or at least from their viewpoint) and the time hasn’t been taken to ensure easy understanding from a less programmatic viewpoint. The user interface for the admin is very barebones and somewhat confusing, again defeating the purpose of a CMS.
Umbraco also makes extensive use of XSLT to accomplish much of its content and templating output. This was a large part of the confusion in using the system, as some content seemed to be stored in XML files, while other parts are stored in the database. This led me to questions of how a search feature would work in practice and the performance of storing the data in XML versus pulling it from the DB. The documentation, while prolific, is less than helpful and largely devoid of any sort of standard style guide for ease of understanding.
All-in-all, I can’t recommend Umbraco for the end user, which is ultimately what a CMS is built for. If you have the time and skills needed to develop functionality from scratch, Umbraco provides a nice framework to build upon. If you don’t know XSL/XSLT, it is a requirement to learn it for using the system – even for basic things like outputting a navigation list. The permissions capabilities are standard, but nothing to write home about. The community is active, but it still has a long way to go to achieve the standards of usability and pervasiveness of alternative options, such as WordPress, Drupal, ExpressionEngine, etc.
Sitefinity
Sitefinity is the CMS offering of .NET UI giant Telerik. We already use Telerik’s RadControls product line and are relatively familiar with their methodologies. They offer both a live demo version (without having to register!), and a downloadable trial version. After playing with the freebie web demo to determine basic usability and process, I downloaded the trial and installed it locally.
The user interface and workflow for Sitefinity is much more polished than any of the other CMS options I evaluated, with the possible exception of Drupal. It comes with most of the content types and features that are generally used on websites out-of-the-box, including blogs, events, and even an in-admin email newsletter manager. It has the ability to create custom search modules and RSS feeds without needing to touch the controlling code. This is nice because while the Telerik team has taken the pains to create a module API, Sitefinity doesn’t let you see its source code.
The templating process for Sitefinity is somewhat odd, but I think this lies more in my relative unfamiliarity with the way .NET typically structures and defines “theming” and less with their implementation of it. Nonetheless, I’ve yet to fully understand how one creates a template and the references the necessary resources (like CSS and images). I’m certain the capability is there, and I’m in the process of reading through their 50+ page users manual PDF to discover where it makes its lair.
Sitefinity is currently the front-runner for our system of choice. Non-technical personnel will need to use the system, and the permissions/users structure is granular enough to make this easy to setup. While I have reservations for my personal role in the redesign – namely the creation and implementation of templates and the overall frontend functionality – the admin workflow for editing and adding new content is fairly smooth. Should we need additional functionality (and we will) the well-documented API should be able to accommodate anything we want to do. It’s worth noting that most of the included modules and document types seem to have hard-coded output templates that are compiled into the CMS runtimes; it doesn’t appear that you can edit these, so if you want different markup or functionality than the included functionality, the module will need to be rewritten and provision for that capability included. The $899 price tag is steep especially when compared to the prospect of open source alternatives, but the time has obviously been taken to make the user experience pleasant and useful and build in extensibility.
DotNetNuke
I installed DotNetNuke with less than the normal enthusiam I’ve had for evaluating the other options on my list, largely because of a prior experience with it some years back. Still, I banished this from my mind as unfair and did my best to not let it color my opinions. Much to my pleasant surprise, ‘Nuke turned out to be a worthy (if somewhat eccentric) contender.
Reading through the documentation on developing a theme or “skin”, it quickly became apparent that a lot of thought was put into the engine driving the CMS. This unfortunately hasn’t manifested itself on the admin side of things, as the interface and workflow is a bit too abstracted and becomes confusing. Still, comparing features-to-features ‘Nuke has more capability out-of-the-box than Sitefinity does – but not by much. The skinning process makes more sense to me than the implementation provided in Sitefinity, but both are going to require a shift in both my mindset and workflow compared to my typical fare of WordPress themes.
An important item to note is that DotNetNuke doesn’t really have an admin per se. Instead it operates from the standpoint that, if you are logged in and have the proper permissions, the site is the admin. This doesn’t agree with my personal preferences on the sbuject, but I can see it being easy to use for others who don’t have quite the anal-retentiveness and everything-must-be-separate-and-in-its-proper-placeness that I do. ‘Nuke is currently a close second, largely because of its open-source price tag. While not nearly as user-friendly, its abilities match or exceed those of Sitefinity in the realm of extensibility. I believe the final decision will come down to the numbers and the requirements of our content team; it’s a decision I’m glad I don’t have sole responsibility for.
Kentico
I knew this option was almost certainly out of the running due to its $1999 starting price. Still, they had a web demo to try out free of charge. I was immediately greeted with OMG SO MANY OPTIONS THERE ARE BUTTONS AND BOXES EVERYWHERE!!!!!!!!!!!! To say Kentico is feature-packed would be a grave understatement – I would liken it to taking a drink from a high pressure fire hose. This CMS can do anything and everything, and if it can’t (because I can’t verify that it can because there are so many buttons and switches and levers) then why does it have all those buttons and switches and levers? The user interface reminds me largely of Plesk, which is to say that it is the promise of functionality wrapped in confusion and baked into the flaky crust of enigma.
Kentico can handle the administration of multiple websites and domains, multiple languages, content, navigation, etc from a single admin. It has extensive controls for SEO (namely URL rewriting). It is confusing as hell to edit content and apply themes/skins/styling. Fear it. Kentico is geared at enterprise level needs and packs a lot of punch. I can’t say that I don’t recommend it, but it definitely isn’t for us because of the price and sheer amount of features (and the learning curve associated with them). You may get the vague feeling that night classes will be needed to use the system, and you probably wouldn’t be wrong in that.
Drupal
If you know anything about Drupal, you might find it odd that I’ve included it in this list. Drupal is nominally a LAMP (Linux, Apache, MySQL, PHP) application, but its development team has taken on the time and headaches needed to make it equally easy to run under IIS and has provided a database abstraction layer to make connecting to a non-supported database as painless as possible. Because of this last item, I thought it would be worth taking the time to evaluate in relation to our needs.
Drupal is nice, it has a lot of capabilities by default and has provision for the creation of custom content types and blogging. The templating capability is easy enough and user interface is relatively simply to understand. I didn’t spend a large amount of time walking through its features because it became quickly apparent that anything it may have had in advantage over Sitefinity or the other options was still overshadowed by the need to write a custom database connector. While not an impossible task, it would take time and testing – an amount of which that would probably come close to the $899 pricetag of Sitefinity when considering the necessary diversion from working on our actual products. Also, it was 5:00 PM on Friday afternoon. Still, it was definitely worth a shot and I would push harder to use this CMS if our infrastructure were less SQL Server-centric.
Some other options that were discarded for various reasons – ranging from infrastructure incompability to install issues to pricing – but that are still worth noting include: AxCMS, Titan CMS, Movable Type (the Enterprise edition contains MSSQL/Oracle connectivity), and Ektron. Like most anything, each of these other options has their own merits and shortcomings. I highly encourage anyone to evaluate these solutions as well if any of the options discussed above fails to meet approval. I welcome comments or experiences that anyone else has had that can better flesh out the pros and cons of the items reviewed on this list.





4 Responses to “.Net CMS Roundup”
Thanks for this excellent run-down. I, too, am evaluating CMS’s for use with client websites, and I want to stay in the .Net realm. I use SQL Server and VistaDb, so I’m considering DNN, SiteFinity, and Umbraco. I also had a rough experience with DNN a year ago when I first looked at it, but am going to try and evaluate it again. I was going to look at Umbraco but your review has persuaded me to table that. I have started to look at SiteFinity, the same exact steps you followed, and am at the stage of installing and running it locally. The pricetag is steep but if it is easier for me and admin’s to use than DNN, I may go with it anyway. One advantage to DNN is that there is a huge community and resource library available for it, unlike with SiteFinity. My main concern with all these is to be able to take a set of master pages, laid out for me by web designers, and bring them into the CMS world and wire them up. I need that process to be as painless as possible. I also want a solid admin piece because non-techies will be running these once they’re deployed. I had a pretty good experience in these areas with Joomla, but as a LAMP it’s not in my wheelhouse for the long-term. Anyway, thanks so very much for posting this review.
We’ve decided to move ahead with Sitefinity and it’s been pretty decent to work with so far. The admin interface is still top notch. The development (integrating designs into master pages) is a little clunky. Telerik’s documentation is lacking in critical explanations of the different classes, controls, etc you can use. They have a very lengthy methods tree documentation, but there is never an explanation of what an attribute or setting actually does. If you’ve got someone who is knowledgeable of .NET, this is less of a hurdle.
Still, it’s easier to work with than what I was able to do with DNN. Telerik’s forum support is also very good. All of the .NET apps seem to lack the elegance of their LAMP counterparts, so you just kind of have to take that in stride and lower your expectations a bit.
We’re a huge fan of Umbraco. They’ve made great strides in the last few years and the system is well received by all of our clients. I agree, it isn’t for an entry developer but rather someone who knows how to assemble a framework / CMS to make it do what you want it to do.
Once the templates have been configured and the system arranged as needed for the client, it runs like a tank. The newest version (5.1) does away with XLST in favor of MVC. We haven’t dug into it yet, but it offers a bunch of promise. They have essentially re-written the entire CMS, that move kills off all the legacy code and having to force compatibility.
Good review though. It’s all about the right tool in the hands of the right developer.
Thank you for article and let me comment on the following: “OMG SO MANY OPTIONS THERE ARE BUTTONS AND BOXES EVERYWHERE”… The great thing about Kentico is the UI personalization which allows you to easily enable/disable the items within UI for particular User Roles.
Concerning the price – we also have a Free Edition that can be used even for commercial projects and lasts for lifetime. Of course 24/7 support is not available with the free edition and it has some limits on number of users/items in e-shop etc. Still it runs thousands of small commercial websites.