tags:

views:

105

answers:

4

i have a website where i want to allow the users to manage the content. There are a few main pages:

  • The welcome page
  • The news page
  • etc . .

i want to allow non tecnical users the ability to format and change the content in the welcome page (almost like its a blog or a wysiwyg WIKI to the user) but i want this content (the resulted html) to be included in the website.

any best practices for this?

+1  A: 

What you need is a CMS. A collection of free and free-ish ASP.NET CMS systems is available at opensourcecms.com, but there are good COTS options as well.

You definitely don't want to get into the business of writing your own quasi-CMS for this one project: you'll waste a lot of time on figuring out how to make a friendly UI, store and manage the content, sanitize input, etc. Those wheels have already been invented ;)

anschauung
the issue is that i want to fully manage and own the rest of the content. I have a full asp.net mvc site but there are just some views that i want to let the user edit . ..
ooo
again, i dont see there being any more pages besides the ones i have so i dont want an overkill solution
ooo
what good about opens source, is thaty you can just take what you want. Just find CMS that could be integrated to your site and twick it for your needs.
Mike Chaliy
i did some more research and embedding tinymce in my website seems like a simpler approach without the overhead of a full cms
ooo
@me: Glad you found a solution -- speaking from experience, be sure to do some checking and possibly some heavy sanitization on the inputs from TinyMCE. Unskilled users will throw some truly heinous formatting (or worse, copy-paste from MS Word) and you'll be held implicitly accountable for the result.
anschauung
A: 

Have you looked at the microsoft open source asp.net MyWebPagesStarterKit? [http://mywebpagesstarterkit.codeplex.com/]

+1  A: 

You need a Content Management System (CMS). You can combined published pages with programmed pages. Or place web controls on published pages so that you get a page that combines published information with programmed functionality.

If you go for a free solution I would recommend dotnetnke http://www.dotnetnuke.com/

Another alternative is to store the texts in a table. Allow the users to go to "edit mode" to change the texts. Each place where a text is used must have it's own ID which is the key used in the table.

We have used both of these approaches on projects, both have worked fine.

Shiraz Bhaiji
+1  A: 

You asked about best practice, and if you are interested in best practice I would recommend you download a decent content management system (Umbraco is a good .NET CMS) and use that.

If you want to do something quick and dirty, that's possible too. Like you said you can easily use something like TinyMCE or FCKeditor to knock up an app with the functionality you require, allowing users to update certain pages. (Note with a CMS you could achieve this by controlling access to certain pages anyway).

If you were after the simplest solution (that money can buy :P), you could even look at an out of the box solution like Adobe Contribute for example.

DrG