tags:

views:

2351

answers:

16

For many projects we had to choose a CMS platform. I came across a few CMS platforms based on .NET. I want to know your experience.

  1. Community Server (cannot be called a true CMS)
  2. DotNetNuke (DNN)
  3. Umbraco
  4. Kentico
  5. Sitefinity

Can you please touch upon the following points:

  1. UI customization.
  2. Feature extension.
  3. Third party extensions
  4. Support
  5. And most important: how much time it takes to learn, as a programmer and someone who manages the application with little or no programming knowledge.

Update: thanks for all the responses, I have seen the other thread but did not get a satisfactory reply addressing the Support and Time? (which I forgot to add earlier).

+22  A: 

There are many, many questions on SO regarding what a good .NET CMS is. But ok, yours is maybe a bit more specific. Let me try to give a satisfactory answer.

The last few weeks I have been in search for a CMS to use in my project, and have seen many. First, I notice that you haven't included N2 in your list. I'm not sure if this is intentional or not, but it really is a nice, free, open source CMS. Eventually I chose to use that one for my project, for a couple of reasons:

  • It is free
  • It is pretty well known with a very good reputation (search SO for it for example)
  • It is open source
  • It has a pretty active community
  • It doesn't pin me down to a certain development model

The latter is important for me. A huge drawback is that often when you choose a certain CMS, you have to use technique A. For example, SiteFinity and Umbraco (correct me if I'm wrong anyone) are really based on WebForms. I wanted to use ASP.NET MVC. They don't support it. That means that I have to choose my techniques based on the CMS I choose, while I want it to be the other way around! N2 works reasonably well with ASP.NET MVC, so this was maybe the reason to choose it.

To comment on the points you mention:

  • UI customization: The GUI doesn't look that great out of the box, which is fine if you're going to use it yourself, and less so if you develop the CMS for a customer. Luckily, UI customization is really quite easy, so if it is important for you, you can spend some time and tweak it to your needs.
  • Adding features: Easy enough, add some aspx pages, controls, add a menu item, and you're done.
  • Support: One of the main developers (Christian Libardo) hangs around at SO and answers questions very quickly on the N2 discussion board. And as I said, there's a pretty active community, so you should be ok here. Note though that it is no paid support, so no guarantees.

Then there is EpiServer which is certainly not free (nor exactly cheap) but has a large community and they're working on an MVC implementation right now. Maybe something to look into.

To comment on some of the other CMS you mention (I don't know them all so well): I really, really don't like DNN. It's just not the CMS for me, though I know it is really popular. I feel that it is maybe a great CMS if you just want to add some loose pages to a site which you can edit right away, but I find it less suitable if you have customers that have to work with it.

Umbraco was actually our backup choice (maybe together with EpiServer) as the CMS to use. However, it is really WebForms based, which I dislike. To customize the GUI, you have to use xsl, so if you don't know it, it gets a bit hard. It does have some nice add-ons and you can pretty easily add features yourself. I know you can buy a version with full support, but I can't comment on its quality.

I did take a quick look at SiteFinity and Kentico, though I'm afraid I can't really remember what I liked / dislike about it. I do know that Kentico was a bit too extensive for my current needs, as I needed something a bit more simple.

Also, take a look at SiteCore if you don't know it. It's also expensive, but overall it's a decent CMS. Last, find more information on these SO questions:

http://stackoverflow.com/questions/10836/your-experience-with-net-based-cms http://stackoverflow.com/questions/475305/any-good-asp-net-cms http://stackoverflow.com/questions/656308/is-there-a-good-cms-to-use-with-asp-net-mvc http://stackoverflow.com/questions/333148/best-open-source-content-management-system-for-asp-net-in-c http://stackoverflow.com/questions/639316/content-management-asp-net-recommendations http://stackoverflow.com/questions/250880/is-there-any-cms-better-than-wordpress-or-should-i-roll-my-own

Razzie
Thanks for the detailed reply. No I haven't looked at N2 earlier(but will sure look into it). You have better articulated my problems and I realize now that my main concern revolved around the development model.
rAm
Well yeah, I'd say there are three main reasons to choose for a particular CMS: money, audience, and development model (techniques). Some CMS are less suited for million dollar companies with multiple sites and many web editors than others (for example, N2, DNN, are a no-go here). If you don't have a lot of money, sitecore, episerver, are a no-go. If HOW you develop your site is important, that leaves a whole other bunch of CMS.
Razzie
A: 

SharePoint (MOSS) and EPiServer.

Johan Leino
Rex M
Agree on Rex M. MOSS is not a CMS no matter what Microsoft says.
jpkeisala
I agree with the comments, but hat aspects are problematic compared to other products? I'll start: master pages are weak compared other templating tools.
BrianLy
+4  A: 

I had to use DNN for a university project and I did not enjoy working with it. (I'm a Textpattern person myself, although it is PHP based and thus not in the scope of this discussion.)

I found it far to easy to get corrupted when being skinned, and as I did not have full access to the server, kept having to email the tutor to reset my site (I think he got as fed up with it as i did).

On a display customization front it seemed pretty good. "Want a news ticker? drag it into place" type development.

Authoring articles for the sight also seemed pretty straight forward, although I only touched on it briefly.

Pondidum
+2  A: 

Check out Stack Overflow question "Your experience with .Net based CMS".

m_oLogin
A: 

I liked DotNetNuke (DNN) from your list.

Good UI/Skin customization, feature extension through add-on (modules), of course much third party extensions

And support, there are good forums available. If you have paid DNN, you will get support from its creators.

NinethSense
+21  A: 

Umbraco. No question. I've done the analysis for another company/purpose. It's open, fast, clean, scalable, thoughtfully designed and has an active supportive team and a rabid following.

Scott Hanselman
If Scott Gu love it. I love it.
pho3nix
pho3nix, um... This was posted by Scott Hanselman, not ScottGu. ??
Chris Pietschmann
I'd recommend Umbraco, too.
Dan Diplo
Scott can't have read the source
Chris S
if Scott Gu love it. I love it. If Scott Ha love it... Meeh
BlackTigerX
+10  A: 

I have worked about three years with a DotNetNuke based application, with about 30 installations, in practically every role involved (web design, sysadmin, application superuser, DBA, developer). Here are some experiences.

UI Customization

  • DNN uses skins and containers (ascx + css files) for constant UI elements and style, while the variable content should be stored in the database. Practically, skins tend to proliferate in marketing-oriented sites with focus on style. Sometimes you have to embed content like flash animations directly to skins.
  • Traditionally it was hard to get CSS layouts working well with DNN. The default doctype was HTML4. If you changed the doctype to XHTML you also needed to change the menu system (from Solpart to HouseMenu). Sites with table-driven layouts were much more painless to work with. They have decent skins too.
  • Latest DNN 4 and all DNN 5 releases support XHTML doctype and have a new XHTML compliant default menu (DNNMenu). Here's an example of a CSS skin.
  • Generally, using CSS with DNN is painful. You certainly need IE Developer Tools and FF Web Developer add-on for debugging
  • You can use any ASP.NET UI controls inside the modules you develop. I have used Telerik RadControls for ASP.NET AJAX without any DNN specific issues

Feature extension

  • Developing and installing a new 'empty' DNN module is easy once you have learned the basic module structure.
  • DotNetNuke platform offers lots of useful libraries for module development. Unfortunately, many times you learn about them only after doing things the hard way first
  • I recommend learning best practices from a book like Professional DotNetNuke Module Programming. Otherwise it is easy to end up with dozens of badly coded modules.

Third party extensions

  • This is a strong point for DNN. In most cases you probably won't save money if you start building modules or skins from scratch instead of buying something that is close enough and refining it further
  • You should buy third party DNN modules only with source code included. For more generic .NET components like UI control libraries this is not that important. However, you probably end up writing the most important stuff yourself and use the third party components only to improve the worst parts.

Support And most important : How much time it takes to learn

This is a tricky one. The answer depends on the purpose of the site, skills of the people involved and the technical quality and scope of the particular DNN installation (DNN + external components + skins)

  • Content producers with basic HTML and CSS skills learn to like the system if the skin does not cause unpleasant surprises. This means that styles should look the same in the published page as in the edit mode. This is something that must be addressed when designing the skin. Users will hate the system if styles do not behave predictably. DNN does not have a version control out of the box, so fixing mistakes is not trivial.
  • Content producers with bad HTML and CSS skills usually expect copy/paste from Word to work well. For internal uses, Text/HTML module is ok. But for public content, Text/HMTL module is too powerful.
  • Superusers need to learn to manage security with roles. File security is tricky because IIS serves files regardless of DNN permissions. Unexpected emails from administrative actions may cause embarrassment so it is common to leave SMTP empty (in DNN Host Settings).
  • Developers: learning to use the DNN platform effectively takes time, but getting started is not too hard. DNN documentation is not as comprehensive as Microsoft's or Telerik's, but with tutorials, module code samples and the DNN source code you'll get forward. There is also a help file gathered from DNN source comments.
mika
I have been a DotNetNuke user for about 4 years and Mika's post is very accurate.
hectorsosajr
+2  A: 

DotNetNuke would be my choice.

PROS:
- .NET, C#
- Powerful user, roles, and theme/skin built-in management
- Large Third party modules and skins availability

CONS:
- Modules / WAP's are not very "testable" (this is true for webforms in general, more so for module development)
- Documentation is thin, although there is a great community and websites such as this one.
- somewhat of a learning curve

dnndeveloper
+2  A: 

I attended a user group meeting where the creator of Umbraco came and talked to us about the project and explained the decisions that he made and why he made them. It is a very well thought out product. What I thought was particularly clever was that the CMS is kept in memory in XML format and rendered using XSLT which makes it lightening fast. (It also also obviously persisted to DB as well.)

Guy
A: 

The My Web Pages Starter Kit CMS.

Quite simple, not exactly a CMS, but since it's open source it can be extended easily. It should be noted that it doesn't require a database.

m1k4
A: 

This should be a comment on Scott's answer, but I'm too newbie :-)

Umbraco and MVC. I have started an Umbraco project using MVC (it's more of a web application than a CMS) but it can be done.

See here for how: http://memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html

Also the next version of Umbraco is going to be MVC (but not due out for a while).

Myster
+2  A: 

N2CMS

It isn't a turnkey CMS, but a framework that you can turn existing or new sites into content managed ones.

And if you are familiar with Castle, NHibernate, ASP.NET MVC it will be familiar to you. The only problem is it will need a developer with ASP.NET/C# experience to help you make it work (unlike Umbraco where you simply need XSLT or limited HTML template experience).

Chris S
A: 

Hey Man Go with umbraco the sheer speed of this software is amazing. It uses xslt to render the page so you may need to learn xslt if you don't already know it. I would highly recommend umbraco.

A: 

Guys what about Oxite..

Vivek Bernard
+3  A: 

MindTouch is also a very good system. Developed with Mono, runs on Linux or Windows, and comes with an embedded scripting platform. It supports Oracle, SQL and development is currently underway for a CouchDB / document as data solution.

David Robbins
A: 

Without more information about what types of sites you're going to create, what kind of budget you got and what kind of solution you want, it's hard to recommend something. There are a lot of different .Net content management systems, with very different features, use cases and prices.

For example, Oxite and Sharepoint are two completely different products, aimed at different markets, with wildly different pricing and implementation costs, but they are both .Net content management systems. The Real Story Group(formerly CMS Watch) classifies content management systems into different tiers, which can be useful to get a clear picture where in the marketplace a particular vendor is located. They also make a distinction between a platform and a product.

With that said, since I work for Webnodes, I think the Webnodes CMS could be a good fit for you, if Kentico, Umbraco and Sitefinity are alternatives you consider. We normally compete with the aforementioned solutions, as well as Ektron, EPiServer and Sitecore.

Vidar Langberget