share
Stack OverflowIdeas for OpenSource CMS in ASP.NET MVC
[+80] [23] rajesh pillai
[2008-11-28 06:50:08]
[ asp.net asp.net-mvc content-management-system blog-engine ]
[ http://stackoverflow.com/questions/325182/ideas-for-opensource-cms-in-asp-net-mvc ] [DELETED]

I am in the process of collecting ideas for building an open-source CMS based on the ASP.NET framework.

I have chosen ASP.NET MVC with jQuery as the tool to develop this.

I have made this as community wiki.

Background: Most of the good CMS that is available is built on PHP, though of late CMS built on ASP.net framework seems to be cropping up. I would like to collect ideas/suggestion/expectations from an open-source CMS system for ASP.net platform. I am looking for expectation from technology and features that you wish could find in a modern CMS and any other thoughts/ideas that comes to your mind.

Your input would be of great help in this direction.

Meanwhile I am also reviewing many open-source CMS system built on ASP.net as well as MS Office Sharepoint to get ideas and I would update my findings here for your reference.

The following are some of the open-source CMS/BlogEngines that I am in the process of reviewing.

- Orchard (ASP.net MVC) : This is the new kid on the block [1]

- Oxite (ASP.net MVC) : This seems to be replaced by Orchard [2]

- Wordpress [3]

- BlogEngine.net [4]

- Umbraco [5]

Some of the features that I can think of are noted below

You can add your points or add some depth to any of the above features.

(2) So? What's your final verdict? Have you started your project? - virtualmic
Yes. In design phase. I have chosen ASP.NET MVC 3 + Razor View + jQuery UI + 960 Grid layout (as default) views/css and the requirements will be based on great responses in this forum. Will host in codeplex or google code. Will post the links shortly. - rajesh pillai
(1) Any updates on this? Also - need to add Orchard to your list. - boomhauer
You should invert the oxite/orchard links ;) - Guillaume86
Any updates? It could be nice to have a well developed CMS based on MVC3 and Razor. - Romias
@Romias, Orchard is built on MVC 3 using Razor. I took a peek at the code and it looks very promising! It is not as 'well developed' as WordPress or Drupal. But at least Orchard can use the current big CMS players as inspiration and ideas. It looks like Orchard is going to 'feel' like WordPress (to the Admins and Editors). - robnardo
UmbracoV5, the MVC version of Umbraco, is dead! umbraco.com/follow-us/blog-archive/2012/6/13/v5-rip.aspx - Riga
[+30] [2009-01-21 12:50:20] Ola Eldøy

N2 [1] seems to be a nice project as well! There is an MVC example available.

[1] http://n2cms.com/

Version 2.0 is just released, and you have it available via MS Web installer too - microsoft.com/web/gallery/N2CMS.aspx - Dejan Milicic
1
[+13] [2009-08-14 01:50:13] me

I think the new released Kooboo CMS probably does everything you mentioned here. There are many nice comments about Kooboo CMS on web as well, even from the famouse DNN forum.

url: kooboo.com [1]

Their inheritance concept is pretty unique, you call it "Localization & Globalization" here.

Below is a list of features they listed on release note.

  • Role based user management
  • Unlimited users & websites
  • Custom Content type
  • Validation
  • Version control
  • Workflow
  • Layout & content template
  • Resource management
  • Plugin & module development
  • Relation management
  • Inheritance
  • WYSIWYG web form editor
  • Online intellisense template editor
  • Page visual designer
  • Theme
  • Menu builder API
  • Full text search
  • SEO
  • Schedule task
  • Web event
[1] http://www.kooboo.com

(2) seems pretty interesting !!! - rajesh pillai
(2) Looks like application framework with UI - not CMS. :/ - dario-g
As a CMS it's totally unusable. - Egor Pavlikhin
(3) It depends on what you are looking for! That is a real Enterprise level CMS with functions like content versioing, workflow, publishing and a lot more. Especially the Intellisence supported code editor is quiet an impressive invention for web developers. As stated on the Kooboo.com, it actually ask people NOT to use Kooboo unless you understand what Kooboo is offering. If you just want to a build a very quick personal blog site, you can choose providers like wordpress, blogspot or joomla People has different needs and make different choice! - me
HeavyWave, Kooboo is designed for users who has a little experience on HTML and content management. It is not that user friendly for business users yet. It will take some times, but it seems like it is coming very soon. - Jack
Strange cause I found Kooboo just very easy to create quick personal sites. - Pickels
It also works with RavenDB noSql solution... +1 for me! - bbqchickenrobot
2
[+9] [2009-04-26 03:46:22] JarrettV

BlogSvc [1] mentioned above is now called AtomSite. We're making some good progress and hope to eventually mirror the success of WordPress. AtomSite started with a strong foundation on Atom Publishing Protocol which is extremely extensible.

  • Simplified content creation - check
  • Support Multiple content author - check
  • Metadata feature - check
  • Workflow engine - supports drafts and approvals
  • Simplified deployment - check w/ support for web platform installer
  • List based contents (sharepoint like)
  • Customizable URL's - check
  • Support content Caching - check
  • Roles (contentauthor, contentpublisher etc) - check
  • Support different types of content (like html, txt, document, image, videos) - check
  • Skinnable (support extensible themes) - check
  • Localization & Globalization - not yet supported
  • Unlimited nesting of categories - check
  • Readymade template for blog, forums,survey. - blog check, others work in progress
  • Good documentation - work in progress
[1] http://www.codeplex.com/blogsvc

3
[+8] [2009-01-21 15:07:56] AJ.

+1 for "Simplified deployment"

I just went through the process of comparing several open source CMS systems with the single most important criteria being that it can be deployed in a medium trust hosting environment. I wanted more than anything for my choice to be based on ASP.net, but in the end, the PHP based ModX CMS [1] took the prize.

My second requirement was an easy to use template architecture that allowed me to quickly integrate my CSS based layouts.

My third requirement was an API that was easy to work with and well documented. For instance, I needed a way to allow the content authors to create news articles and mark them for display on the homepage. The homepage would display a summary and link to the full article.

[1] http://www.modxcms.com/

4
[+8] [2010-10-04 17:16:55] Martin Ingvar Kofoed Jensen

Composite C1 [1] just went full open source from 4 years of closed source development. Very mature ASP.NET open source CMS.

[1] http://compositec1.codeplex.com/

It looks awesome, judging from the Codeplex page. I wonder, though, how well it supports ASP.NET MVC development. - Robert Harvey
(1) The CMS handles the routing and templating, but other than that, it fully supports the MVC model. There is a "Hello world" MVC example here docs.composite.net/C1/ASP-NET/HelloWorldMVC2.aspx. - Martin Ingvar Kofoed Jensen
appears to be a great cms, but not regarding mvc. it supports page content from mvc sources, but is not an mvc app. thus url's will have .asp etc - boomhauer
(1) @boomhauer. This issue might be fixed very soon: compositec1.codeplex.com/Thread/… - Martin Ingvar Kofoed Jensen
Composite C1 have had nice URL's since dec 2011. It is using asp.net routing now. - mawtex
5
[+7] [2008-11-28 07:41:37] urig

Powerful and at the same time manageable output caching.

Having used a CMS written in ASP 3.0 as the basis for a commercial airliner's website, I strongly felt the need for an efficient and "finely tunable" cache mechanism. A mechanism that will ease the burden of serving a large number of pages in a short period of time while allowing me to keep specific parts of the content dynamic.


yeah. That's a good point. I am looking at MS Velocity as a caching product. This could be useful for distributed caching as well. - rajesh pillai
6
[+7] [2009-02-20 00:14:21] Mystere Man

When planning a CMS, the first thing you have to think about is what KIND of CMS it will be. CMS's generally have one of several types:

  • Runtime CMS's
  • Deploytime CMS's
  • Hybrids

A runtime CMS is like the *Nuke's, where html is generated on the fly when a user accesses the web pages.

Deploytime CMS's are CMS's that generate static pages at deploytime. Dynamic pages can be generated, but they're treated like static pages by the CMS. A good example of Deploytime is (was) the now defunct Serena Collage.

Hybrids are systems that generate static pages, but also provide a runtime model as well.

Each has their advantages. Runtime systems require constant database access, and generally require a pretty beefy database. Deploytime systems generally only require the database for deployment and the actual management of the content. When a user goes to the website, no data access (other than if you've written pages that access a database) is required.

You might also want to look into Eucalypto [1], which is more of a CMS "middleware" that gives you the tools to build your own .NET based CMS.

[1] http://www.codeproject.com/KB/aspnet/eucalypto.aspx

(1) Good points! That link for Eucalypto doesn't work now, that project is now at: codeproject.com/KB/aspnet/eucalypto.aspx - DavGarcia
7
[+7] [2010-01-23 22:00:13] Jason

Since the question was initially asked, MS has announced the Orchard Project [1], an ASP.NET MVC CMS, which intends to be more of a general-purpose CMS than the blog-centric Oxite project.

[1] http://www.orchardproject.net/

as mentioned in an earlier comment, I like what I see with the Orchard Project so far. - robnardo
8
[+4] [2008-12-10 11:05:56] CJM

To be honest, some of the more well-known non-dotnet CMSs are great, but I'd be happy to a see .net equivalent (to compete with DotNetNuke).

When I want an off-the shelf product, I'll stick with Joomla or Drupal. But not being a PHP developer, my desire for a .Net equivalent is so I can do my own development. Thus my suggestion is - make it extensible with a clear and well documented API.


9
[+4] [2009-02-19 23:51:51] Falkayn

Can you contribute to Oxite? I'd rather see that get up as a fully-functional CMS than another not really finished OS competitor appear in the ASP.NET MVC space ...


(2) It seems oxite has been abandoned, with key programmers moving over to the Orchard CMS project. - E.J. Brennan
oxite is effetively replaced by orchard - boomhauer
I am closely looking at orchard as I think its shaping up pretty good. - rajesh pillai
10
[+4] [2009-08-07 04:32:35] MvcCmsJon

You might check out Mvc Cms [1]. It had its first release today at mvccms.codeplex.com. It is a barebones cms at this point but does seo and publishing better than many you listed.

[1] http://www.mvccms.com/

11
[+2] [2011-02-24 19:48:42] Michael Levy

Here are some related links others might find helpful

A Quick Review of the 7 Best ASP.NET Content Management Systems 06/18/2010 http://webmasterformat.com/blog/top-asp-net-cmss

Orchard: Microsoft's open-source CMS platform is (re)born November 11, 2009 http://www.zdnet.com/blog/microsoft/orchard-microsofts-open-source-cms-platform-is-reborn/4506

Why You Should Pay Attention to the Development of Orchard CMS 04/14/2010 http://webmasterformat.com/tools/cms/orchard


12
[+1] [2009-01-21 14:35:23] Michel

I think you should also look at BlogSvc [1]. It's written in C# 3.5 with ASP.NET MVC and it's based on the Atom Publishing Protocol.

[1] http://www.codeplex.com/blogsvc

(1) BlogSvc is now known as AtomSite. (Using same blogsvc URL though.) - Funka
13
[+1] [2009-05-26 09:29:18] Boris Callens

Extensibility would be my main target.
I think what makes a product of this king big is its community/users. Having lots of plugins encourages this. Furthermore it allows for contributors to easily step in, contribute a small idea and step out again. I imagine it to be hard to find long-term contributors but relatively easy to find many small contributors.


14
[+1] [2010-02-17 09:52:01] Branislav Abadjimarinov

For business purposes I like to have some enterprise features in a CMS like:

  • Friendly URLs
  • Multiple web sites with a single source deployment scenario
  • Unified administration of multiple sites hosted in the same environment (or not)
  • Easy way to develop scheduled services for the CMS
  • Multiple sites per single database scenario

15
[0] [2009-05-26 09:07:23] Nicholas

REALLY good skinning ability, must be able to customie the look and feel completely - "My Web Pages Starter Kit" has a nice example of setting the layout in the skin file by implimenting a custom Templated Control. Makes it really easy to change the complete look and feel AND the structure of the HTML and plug in new themes.


16
[0] [2010-01-24 01:45:50] Francesc

Jason, I've just had a quick look at the Orchard Project site and I seems to be based on ASP.NET, but not ASP.NET MVC.


(2) Francesc, I just browsed the Orchard code and its built on asp.net mvc... cheers :) - rajesh pillai
it id definitely mvc - boomhauer
17
[0] [2010-03-11 04:50:34] Joshua

MvC CMS is definitely the best solution for your needs


Do you have a link? - Robert Harvey
18
[0] [2010-03-11 14:24:40] Dave

I am preparing a new version of my CMS that will be in .NET MVC, using jQuery ajax app in the admin... still making some tweaks to it, but it's almost ready for release. Here is a blog post [1]...

[1] http://davidpirek.com/blog.aspx?n=ASP.NET-MVC-CMS%3a-the-new-version-of-my-ASP.NET-CMS-is-in-MVC

19
[0] [2010-04-07 16:26:24] Cymen

Have you thought about how you are going to store the data?

XML/JSON in Database

It looks like Umbarco uses the database rows for meta data and stores the actual content in an XML/text/varchar(max) column. So for the data storage side, adding another text node adds another entry to the XML file instead of altering the database structure.

I could see doing the same thing but with JSON instead of XML as using XSLT to transform XML to HTML doesn't quite fit into MVC approach as far as I can tell (haven't spent a lot of time thinking about it).

Text Nodes in Database

Another way to handle arbitrary number of text areas is to put them in their own table and give them an ordinal/tag to identify them. Then getting the data becomes either a separate query to get N rows from this table or a JOIN in which some of the data is repeated N times (for each row in the table).

Your Thoughts

If you've thought about this too, please post. It would be excellent if there was a group focused on the data storage for Content Management Systems independent of implementation details like programming language and framework.


20
[0] [2010-08-05 22:35:55] FreeVice

You can add Azure, it would be delicious


21
[0] [2010-08-05 22:40:42] FreeVice

Market needs to model solutions, such as hairdressing or dentistry


Agreed, and that's where metadata modelling plays an important role. - rajesh pillai
22
[0] [2012-07-06 09:11:36] Andrew Ravkov

I know Atomic CMS http://www.atomiccms.com/


23