tags:

views:

140

answers:

4

I'm primarily a .NET desktop developer, but I've done some static HTML/CSS websites in the past. I'm currently taking on a web project for a local restaurant and one of the most important features is the ability for the owner to edit the content (e.g., add events to a calendar, adjust the menu, post news items, update a photo gallery).

I've been reviewing CMS solutions for the past couple of days and the main drawback I'm finding is that the admin forms for the end-user are mostly generic. That is, they are mainly free text forms that require the user to format the content (think wiki pages).

I think it might be safer to build a custom ASP.NET application that will let the user do something like: "Edit Menu Item" versus "Edit Page." This is obviously a lot more work, but I'm afraid that the user can really screw up the site's layout if they're given the latitude that most CMS solutions provide.

Any web developers have suggestions? Are there any CMS solutions that let you build custom admin screens that force the user into a certain structure? Should I just bite the bullet and build my own mini custom CMS?

Thanks!

EDIT: my time-frame for selecting a CMS is about a week. I have no experience with any existing CMS and my experience with ASP.NET MVC is pretty minimal.

A: 

Have you checked out DotNetNuke? It's free and open source -- starting from scratch is unnecessary.

JP Alioto
+1  A: 

I've wrestled with this question before as well.

The proper thing to do is to prepare an estimate for the amount of work for both options. Think of every component, every test, etc etc and come up with some numbers. See which number with your rate is economical for you and your client.

A packaged CMS will give you a head start. You will have a learning curve however because it may be out of your expertise. Estimate this as well.

Also, what you are doing is not unique. Almost all restaurants that have a web presence have editable content including menus. I found this post on the drupal forums that might be relevant.

itchi
As a response to your edit. I'm a huge fan of custom development.. in fact that's where I make my money. However, your requirements strongly suggest a CMS approach. Only because CMS systems have so many features that you havent even started to think about.GoDaddy.com has 12 different CMS application preconfigured with their webhosting. joomla,drupal,mambo etc etc. The lowest 1 month package they have is 7.99 and imo a good price(how long would it take to install those?) to go evaluate the CMS apps and find out which one you like.
itchi
A: 
  1. How much time do you have?

  2. How fast do you think you can do it? Remember whatever you think it will take, double it, and that's usually the real time.

  3. How good are you with MVC?

Someone above pointed out DotNetNuke and this is pretty much what it was designed for. I think Sharepoint could do this, but I've pretty much avoided MOSS my entire career to my benefit and or detriment :)

Jack Marchetti
A: 

One CMS option could be WSS (As opposed to MOSS which carries a cost)

  • It allows drafts and versioning so if a mistake is made it can be quickly rolled back.

  • One issue with this is that some shared hosting companies will likely not allow you to run a WSS site, so it may bump up the cost in the hosting sense.

Another CMS Option

  • Would be to use DotNetNuke as suggested

  • In my opinion, and from trying to quickly set up a DNN site the first time I used it...It's going to cost you a lot of time getting familiar and customising it.

Quickest Way

  • The quickest and dirtiest way would be to use forms based .NET and create a simple and quick back end using built in server controls.

  • The option to edit a menu would be quicker to implement imo, than learning a new CMS and getting familiar with it.

  • This may be the best option if you are doing this on a shoestring budget

  • It doesn't have to look bad, you can easily dress up those built in controls, it's just not the most efficient way in terms of the site loading up etc.

It all depends on your clients budget too.

You can build a website for £100, and you can build a website for £800. But you can't build an £800 website for £100. It's just not feasible.
Dan Harris