Posted by: horizonguy | June 11, 2010

ASP.NET MVC CMS ( Thoughts, Reviews, Projects )

Just getting back into blogging after a long break. I’m developing an ASP.NET MVC CMS ( using my framework CommonLibrary.NET ).

Before I mention the specifics of my CMS, I do want to state that there are some rather good implementations of .NET based CMS systems. Let me first outline some of the available CMS products in .NET. I’ve used all the itemsThen I’ll talk about limitations I’ve found w/ CMS systems in general and then I’ll discuss the latest MVC 2 framework a bit.

OpenSource CMS Systems

  • DNN ( Dot Net Nuke )
  • Umbraco
  • Mojo Portal
  • BlogEngine.NET
  • N2
  • Kooboo
  • Graffiti CMS
  • Oxite / Orchard ( Microsoft’s CMS )

Commercial CMS Systems ( They also offer free versions )

  • Community Server
  • Kentico
  • SiteFinity
  • SiteCore

(NOTE: I’ve used DNN, BlogEngine, MojoPortal in the past, used Umbraco, N2, KooBoo less so and only ran orchard for demo purposes  and reviewed it’s codebase)

DNN

All in all, DNN has been around for a long time, has a huge user-base, it’s stable, may have had some performance issues in the past, but the team is/has continually improved the product. In addition, it’s got probably the most modules/plugins out there. All in all it’s pretty good. It is however developed in VB.NET( which is fine ) and the code base is quite old but being updated ( understandably so, given it’s been around a long time). And it’s currently targeting the C# 3.5 with ASP.NET WebForms.

BlogEngine.NET

I believe BlogEngine.NET is probably the lightest/simplest blogging engine w/ some CMS features. You can easily set it up and customize it fairly easily as well. Plus it doesn’t need to run against a database. Installation is a breeze(not much to actually install really). It’s written in ASP.NET 2.0 Web Forms with plans to upgrade and target 3.5/4.0.

MojoPortal

This is quite good as well. I found the usability of this to be very nice. It supports MySql, PostGres, SqlLite, MsSql among others. The codebase seems a bit big however and not as simple as BlogEngine.NET but this has a lot of features, from forums, to polls, to surveys. Install is fairly easy as well. It’s been upgraded to target 3.5 / 4.0 WebForms as of this writing.

Umbraco

Umbraco is elegant, it’s also fairly easy to use and really seems optimized for content/page management. It also has good support, documentation. The problem is not being able to run in medium-trust which many people complain about. I want a simple system install/development environment to run/test in. They are also looking to upgrade to 3.5/4.0

Oxite/Orchard

Now orchard is the successor to microsoft’s Oxite blog/cms platform which hasn’t been embraced by the community that well. Orchard however is getting a lot of attention these days it seems. I’ve played around with it a bit, reviewed the code base. It’s UI is quite nice, it’s dashboard is very simple. And of course it looks / acts very much like wordpress / blogger or any other high-end blogging site. The codebase is very big (especially for an MVC which i personally feel should “lighten” the load/code ). But still the codebase is still put together quite well. It also support multiple tenants( meaning muliple bloggers on one site, much like wordpress ). What I don’t understand is why microsoft is geting into this market. I agree w/ some of the reviews that were on it’s codeplex site. It is a strange position for them to be in, especially when so many of the open-source community members they are supporting, are building CMS systems and/or trying to make. Nevertheless, it’s still looks very interesting as a CMS/blog. This is also ASP.NET MVC based with the target framework of 3.5 I believe.

KooBoo – N2 – Graffiti CMS

Now as for the others, Kooboo, N2, GraffitiCMS, I personally haven’t used them as much as I would like have had to. And therefore, I won’t review them in detail as it wouldn’t be a fair/realistic evaluation. That being said, just from a superficial perspective of the codebase, the features, and demo’s, they also seem solid. Now all the other products in the open-source list for the most part are running either in 2.0 or 3.5 with WebForms, some type of hybrid WebForms/MVC or as mostly MVC.


Problems of the Hybrid “Web Application” + “CMS”

There are typically 3 types of CMS/Web App usecases.

1. A pure CMS system for only content.

2. A custom web system which needs some “CMS” features.

3. The opposite to # 2 which is a CMS sytem which needs custom features.

Now, regardless of whether you’re use case is #2 or #3 I found the following problems:

  • Imposing Framework – One problem that I found w/ CMS systems in general are that fact that you almost have to retrofit your application to use the CMS. For example, let’s say you wanted to create your own modules/components, for the most part, you stuck w/ having to fit your component and wire them into the CMS’s framework. You’re going to have to do some wiring up/integration to some degree but the biggest problem I’ve found is “how much”. I don’t want to have to write a component w/ certain limitations/guidelines just so that it can hook into the CMS. There might be parts to your application that specifically do not need the CMS and some parts that need it.
  • Customizations – If you need to build your application with customizations, then the degree to which you have to conform to you using the CMS systems framework can be a problem, ( this is somewhat related to “imposing framework”
  • Complexity – How complex is the CMS / framework
  • Testability – Testability of the components and/or customizations that you develop for the CMS



Responses

  1. Kooboo is the first CMS pure based on ASP.NET MVC.

    Developing Kooboo module is almost exactly same as developing an ASP.NET MVC website without the learning cost. And to use Kooboo is more or less very similar as what you are doing everyday except you do not need to do many repeating work any more.

  2. Great article. I previously gave a glance to N2 and it is more a framework than a full solution CMS. I think it’s more appropriate for the usecase #2 that you mentioned. On the other hand, Kooboo is a relative new but impressive CMS, that acts also as a framework, based on ASP.NET MVC. N2 has 2 versions: Web Forms and MVC. Personally I found DNN good only for the usecase #1. It’s big and complex if you just require only some of the CMS features in your site.

  3. […] to VoteASP.NET MVC CMS ( Thoughts, Reviews, Projects ) (6/10/2010)Thursday, June 10, 2010 from horizonguyJust getting back into blogging after a long break. I’m […]

  4. Great article. I previously gave a glance to N2 and it is more a framework than a full solution CMS. I think it’s more appropriate for the usecase #2 that you mentioned. On the other hand, Kooboo is a relative new but impressive CMS, that acts also as a framework, based on ASP.NET MVC. N2 has 2 versions
    samuelson90

  5. Please check it out: Composite C1: free open source cms based on .NET 4, C#, XSLT / XML.
    download: http://compositec1.codeplex.com/
    more info: http://docs.composite.net/C1/Getting-started.aspx.. I’ve recently changed Umbraco to Composite C1

  6. Sweet internet site , super style and design , really clean and apply friendly .


Leave a comment

Categories