Tia Williams asks William:
"What do you recommend for a Content Management System (CMS) for ASP.Net?"
"What do you think about DotNetNuke for a Content Management System?"
The short answer is either Sharepoint 2007 or DotNetNuke. Sharepoint if you want a CMS for internal use and have some money and resources to throw at it. DotNetNuke if you want a low cost of entry and to make the CMS available to the internet.
The longer answer depends on what the CMS will be used for.
Microsoft Sharepoint 2007 is the CMS of the future... for business. It integrates very tightly with Internet Exploer, Windows, and probably most importantly with MS Office (both 2003 and the upcoming 2007). This is good for business, not so much for over the web user who may or may not have Internet Explorer, Windows or the latest versions of MS Office.
Sharepoint has some excellent integrated security and a document versioning system that is first rate. However, it requires a significant server to run it and isn't even close to free, it also requires an administrator to set it up and keep it going as well as to hand out user rights and deal with the occational problems that will come up.
Sharepoint 2007 is highly customizable and will be integrated with Windows Vista and .NET 3.0. However, customizing Sharepoint in the past has been extremely difficult, 2007 will likely be much easier and have workflow integration (a huge selling point once business latches onto workflow enabled applications). Sharepoint is highly scalable both vertically and horizontally.
Sharepoint is mostly about document management and informing people when new versions of documents have changed. So while it is a CMS it can really be thought of as more of a document management system. I do not want to paint Sharepoint as difficult to use, as I have had nothing but a pleasant user experience with it. It is easy to navigate and offers document searching which I think is first rate.
DotNetNuke is open source and free. It has had several books written on it. Hundreds of add on modules and skins (both open source, free, and pay with support) are available for download. It has a very simple interface for editing and appears to be solid. It's been around for years and has many a loyal fan. All in all a well written solution. Documentation is liberal and well though out designed with both the content manager, IT professional, and developer in mind. They are currently up to version 4.3 which shows a level of commitment and quality that is admirable.
That said, direct code support is going to be up to you and getting support will often entail more personal time than perhaps the Microsoft solution would. Direct support comes from other users in the form of forums and their "DNN Support" network. It can also be daunting to navigate the actual DotNetNuke site as there is so much to look through to answer even some relatively simple questions like "which databases are supported" (it's safe to say SQL Server 2005 and Express 2005 are supported, but what about something else like MySQL ?). If you're not fond of .NET, then consider phpNuke.
So basically, if you're a medium+ sized business using Microsoft technologies and have the time, money, and resources to invest, then Sharepoint is probably the right choice. If you're looking for a system for internet use or you don't have much money to throw at a CMS, DotNetNuke (or it's cousin PhpNuke) would be a great choice.