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.