TimBob.com
Open Source Software - A little bit of a rant.
Posted by: TimBob on 10/17/2011 11:35 PM CST.

For the past month I have been working with a few pieces of Open Source software which are billed as Content Management Sytstems (CMS) for web sites.  Right now I have 2 web sites I am developing which could be handled with a CMS solution, but I am beinf picky about the technologies they use.  I am looking for a solution which makes use of ASP.Net MVC (preferably Version 3) and preferably uses RavenDB or another NoSQL option for data storage.  All of the applications I have looked into promise every bit of functionality I am looking for, but for some reason every single one of them fails to deliver as promised.

Here are the pieces of software I have looked at and my thoughts on each:

  • KooBoo CMS - This one will "build" and run, however the admin interface has got me confused.  By default it creates a "Sample Site" and I cannot find a way to rename the site.  Due to my frustrations with trying to lay out basic site structure I have not even begun to dive into the editing of content on pages.  I was also disappointed that this solution uses a directory-tree full of XML files for data storage of both the site structure and content.
  • BrickPile - Now, BrickPile is showing some real promise in my opinion and it only frustrates me because it is such a "young" product.  I believe there is only one developer working on this and I will say he seems to be not only a very smart and motivated person, and from my conversations with him on Twitter he is extremely willing to help anyone who wants to use his software.  My biggest issue with this package though is that it seems to be very tied to the page templates defined in the code, so if you want to do anything that isn't a News Article or News Article List you cannot currently do this without digging into the code and building all the functionality yourself.
  • N2CMS - This solution has 3 flavors to choose from, a standard ASP.Net WebForms version, a version for ASP.Net MVC2, and a version called "Dinamico" which is targeted to MVC3 sites.  Since I prefer the Microsoft Razor View Engine I went with the Dinamico version, even though the developer(s) state that it is an early Beta.  I ahve spent the most time with this solution and I am actually in the process of launching one of the 2 sites using this right now.  This solution doesn't use the RavenDB that I want, it requires a relational database, and I am currently using SQL Server 2008 Express R2.  What I like about this solution is how it treats every page as a collection of items and those items can be just about anything you want.  Out of the box you can drop text, images, YouTube videos or scripts on the page and there are even a couple of formatting items you can use such as columns.  The downside is that anything that isn't on their short list of items will need to be built by you, this isn't a HUGE deal, but it should really come with a "Contact Us" item out of the box at the very least.  I had to build that myself, and I will be contributing it back to the project for the next person who needs it (after some clean-up, it's kind of hacked in there now.)

Don't get me wrong, there is some great software out there that is Open Source.  On a daily basis I use Notepad++ and Gimp; I have even used Linux some in the past (Ubuntu is currently my favorite Linux flavor for desktop usage) and I have had very few complaints about these products.  But, for every application like Gimp, there are literally thousands of other applications released which fail to hit the mark on advertised functionality and completeness.

Maybe it is my own fault since I have a desire to use the newer tools and frameowrks and don't really want to take a step back to the world of PageLoads and PostBacks and want to use the Razor view engine and a NoSQL data store.  Or, maybe I need to embrace the Open Source and become an active contributor on a couple projects so others don't share my frustration.