Enterprise Software

Pass on Orchard CMS until the feature set matures

The Orchard CMS isn't ready for prime time, according to developer Justin James. Find out what he considers to be the fundamental problem with Orchard.

I am always on the lookout for a good CMS system. A while ago, I settled on the MODX CMS, and it has served me well. Unfortunately, MODX released a new version with no smooth upgrade path from the version I use. To make matters worse, I'm running the CMS on a FreeBSD machine, and maintaining PHP on that OS is a disaster. A few weeks ago, I made the mistake of trying to upgrade PHP from 5.2 to 5.3.6, and it ended up wasting approximately five hours of my life.

There has been some talk around the .NET community about Orchard, so I decided to give it a try. After trying it out, my verdict is that the CMS is promising, but it is not ready for prime time. Here's a break down of what I like and do not like about the Orchard CMS.

The pros

Orchard is easy to install using WebPI or a simple drag/drop to the server. I like the clean administration system, in stark contrast to the Drupal mess that I've been dealing with on one project. The basics of content editing are there. The development/extension system seems very developer-friendly. Coming from a mess of PHP-based CMS, I love the simple directory structure and lack of using "includes" as a substitute for inheritance and interfaces.

The cons

When I say that the basics of content editing are there, I mean truly the bare-boned basics. Good luck getting an image into your page -- you need to upload it separately and then copy the link from the media page to the edit window (the "add image" link in the editor doesn't do anything). There is no hierarchy of pages like you'd expect, and getting one page to show a list of links to sub-pages is not as easy as it needs to be. Other fundamental ideas (such as adding widgets to pages) are non-existent, underpowered, or too complex to easily use. Someone's odd sense of "security" is to give the application full access to its data, but not allow it to install modules and themes without accessing the server and editing the permissions on the file system. The performance is horrible; it takes 10+ seconds to spool up once the app pool has timed out and recycled.

The fundamental problem with Orchard

Orchard's creators have suffered from the same conceit that far too many developers make: the fallacy that better underlying technology makes for a better user experience. The fact is, better application design makes for a better user experience -- the technology used is merely how you implement the design.

In the case of Orchard, the designers got far too excited about ASP.NET MVC and the Razor view engine, and forgot that they were designing a CMS. While the architecture of Orchard is nifty, it is overly complex to work with from a user's perspective. I am surprised at the version number (currently 1.1), because while the functionality may be reliable, the product itself is not production worthy.

Unless you have a desperate desire to use a CMS built on ASP.NET MVC, I advise you to pass on Orchard until its feature set can mature a bit more.



Justin James is the Lead Architect for Conigent.


Justin, I definitely agree with you that Orchard is not quite there yet and maybe the version should be 0.x still, but I do think it will have a bright future. I am joining the game at v1.3 and I was actually impressed with the community that they have already built considering the product is so young. Hopefully the bleeding edge technology they have chosen to build with gets adopted. Again, I am looking forward to what's to come when they get to v2.0. Thank, Nick James


I've never been one to follow trends myself, but with software I make a big exception to that rule. Follow the crowds! Any software that is designed to have other software written for it (an OS, a CMS that accepts extensions or modules, or even a popular program with a built in scripting language) is going to benefit from a critical mass. Orchard may be the greatest thing since sliced bread (apparent;y it's not though) but the level of maturity provided by an active community such as those of Drupal or Joomla (or dotNetNuke on Windows) is hard to compete with! I have to administer a Joomla site for my day job. It's occasionally I still run into functionality that's not in the core, nor provided by any available extensions. But for every feature I have to write custom code for, there are 10 more that I just have to find an existing extension for. That's a tremendous time saver, and lets me focus on more important things. My basic rule with complex software is: Look at the market leader(s). Figure out why this won't work for me, and if there's a practical work-around. If it'll work, I implement it. If it won't, I look at the next contender down the list. If nothing with significant market share will fit the bill, then and only then will I consider products that nobody's heard of before.

Justin James
Justin James

One of my biggest problems with MODx CMS is that the module support never arrived due to the lack of critical mass. Great system... but if you wanted something that wasn't in the core package, or one of the few third party modules, you had to write it yourself. I *think* Orchard could get there, based on the push that Microsoft is giving and how much weight Microsoft has in the .NET community. There are a *lot* of things that go nowhere until Microsoft gets behind them. All the same, the Orchard download count doesn't exactly scream "big user base" and the module list is of the "low hanging fruit" variety. That's another angle to this that I failed to talk about in the article, and it's an important point. Drupal may be awful, but it's module list makes up for it a lot. J.Ja