I had an interesting experience recently that encapsulates my experience with two CMS communities; umbraco and drupal. I had tweeted about my moving what is currently an umbraco 4.0.1 site to a Drupal 7.x site. This started an interesting conversation about why the move? Several umbraco fans (or what I call “umbracians,”) wondered why the move and sought more feedback from me. Being in the throes of developing a theme, I explained that while I still find umbraco a brilliant CMS (particularly considering what it sits on top of) that Drupal makes a lot of sense in the low-end web site space, especially with tight web development budgets. For the record, no Drupal fans stepped into the fray, which I expected. Regardless, I know I can count on both community when it matters, e.g., when I’m stuck on a technical or modeling issue.
One twitter user asked me for a constructive “why for the move?” Given how helpful the umbraco community is, I wanted to be clear on why I prefer Drupal over Umbraco. (Remember I offer this filed under “there’s no accounting for taste”)
- The .NET licensing debacle. Sorry; I try and continue to work on my .NET skills but I don’t like MS’s restrictive, costly and constrictive licensing. This plays out in many ways, in one example, restricting my flexibility in quickly cobbling sandboxes. With open source software, the licensing allows me to have multiple virtualized OS’es as needed, created and scrapped as easily as files themselves. I can build, test, destroy and refine without caring about migrating my OS or development environment licensing as appropriate. It’s a major nuisance.
- While WebMatrix is an interesting, if very nascent, effort by Microsoft to address portions of what I write above, one quickly hits the wall of what you can do and you find yourself needing a full development environment. That is; Microsoft Visual Studio. Sorry, but I greatly resent having to install 2+ GB to run VS. Intellisense is cute; but given all the time I’ve spent in vim, the “enhancements” offered by VS feel like training wheels, not productivity enhancements.
Sidenote: For someone my age, I’m struck by the irony. MS was chided for it’s command-line starkness and poor Windows UI in the 90′s, where as Apple had a well-designed UI but poor or non-existent shell. Now I look to Ubuntu, Cent OS, Mac and others for an excellent shell and excellent GUI, but now Microsoft fails to offer a premier-class UI or shell. Adequate; not premier. - Bloatware. The two factors, above, adds up to extensively consumed disk space. My Dell is a dual-partition laptop, ubuntu weighs in at 20% usage for a 10GB partition. Windows Server 2008 weighs in at 80% usage on a 70 GB partition. So much disk space consumed for such little comparative value.
- Web host pricing. I’ve found much better LAMP vendors than .NET vendors with greater variety, pricing and support levels. I expect that, again, licensing restricts what kind of support and pricing .NET platforms can offer. My MySQL vendors allow me to create up to 20+ databases. My .NET MS-SQL vendors? One database, and pay as I need more, or the plan is priced accordingly. Of course, as they pay per database. I’m happy to report I’ve found a solid .NET vendor that I can heartily recommend; as I also know of another whom I look forward to our quick parting.
- I love the Umbraco spirit and community. They are very good about responding to my questions at their support site. Yet, as umbraco’s community isn’t the size of Drupal, there is a disparity in the amount of packages/modules available to each. So, while I greatly appreciate their helpfulness, I find myself “rolling my own” solutions, which adds time to a project. Additionally, I’m closer to the front end of site development than the back end. I prefer theming and snapping in functionality, not building the functionality.
- Establish an Umbraco “core” directory structure: Updating umbraco is not easy, particularly if you’ve extended umbraco which one will almost certainly have to, as with any CMS. All binaries go into a single /bin folder. I like the drupal core model. Leave core alone, and updates are trivial (in comparison.) My guess is that umbraco could develop a comparable core directory structure.
- Lack of a “status report” Drupal’s status report provides an environmental “dashboard” as it regards the server, it’s configuration and capabilities. This feature in Drupal is priceless, in particular when working on commodity hosting vendors. Inversely, I’ve been bit hard by the lack of such a dashboard or overview in umbraco; “trust level” “application pool” settings and other aspects. They have a rudimentary one in their installer that tests for fundamental support, that would be a good start.

Excellent post! I am starting to explore the big world of Drupal and plan on using it for one of my what I expect a big community site. Its a project I am excited about but kind of worried about. :) But it is going to be a great learning curve for me. Seems like everyday I learn about a new popular site that was built with Drupal. I did look into building the site in Umbraco but it just didn’t fit the bill what I wanted it to do and wasnt sure if it could do what I wanted it to do. And didn’t want to invest so much time in it and only to find out it doesn’t pan out!
Thanks for the great review!
Quick comment about the ‘status report’ dashboard for Umbraco, I developed a package called ASP.NET System Information a while back – similar to PHP’s phpinfo() – providing details of the server config.
http://our.umbraco.org/projects/developer-tools/aspnet-system-information
Any feedback or suggestions would be appreciated. :-)
Cheers, Lee.