views:

115

answers:

4

I want to create a content-driven website. The two points that get to the heart of my question are:

  1. It will be a small and relatively simple site
  2. It will have custom data requirements

This will be done in ASP.NET, preferably C#.

Since I have the programming and database experience, I could roll my own without much problem. Given that, would it be worth the effort to learn and customize a content management system? What are the trade-offs, particularly in the long-term?

Either way I go, it will be a fun learning experience, so I'm essentially neutral on the issue right now.

Edit: I'm most concerned with being able to customize the underlying data structures of the site. Yes, I do need to do some research into CMS, but haven't had the time yet.

+3  A: 

Most of the commercial content management systems out there have a big learning curve as well as a big footprint.

I would recommend something like N2 for small projects. Content management systems are an interesting beast - they are deceptively complex and if you can I would recommend using something small like N2 to prevent you from getting caught up in wasting a lot of development time in building your own CMS.

Andrew Hare
I agree about the difficulty of using a CMS. You will spend as much time learning it and then trying to get to do what you want as you will writing the code yourself. Then, when you inevitably run into a limitation of the CMS, you'll be stuck. With your own code, you won't be stuck.
DOK
+1 for N2. Great for small projects and really easy to define your own content types.
Luke Lowrey
Another +1 for N2 - I've deployed a couple of sites using their MVC implementation, very nice, clean and easy to customise (but then I'm used to Enterprise level CMS's from work) but it's biggest plus was the ease with which I've had getting the site owners up to speed with the editing toolset - it's very clean, and easy to use.
Zhaph - Ben Duguid
+2  A: 

If the website is primarily content, then yes, by all means, use a CMS. Many open source CMS are really simple to setup, and generally, you will have no problem adding your own functionality. Since you are using .NET, you could try out Umbraco, which in my opinion is very easy to set up and get started with.

If the website is more like a custom application with little content (ie. pages that need to be edited and the like), then the question becomes a bit more blurry. But as a rule of thumb, if you need to edit and add content often, choose a CMS; you don't want to re-invent the wheel. (Unless of course, you do it for learning).

driis
A: 

I was in a similar situation and chose Telerik Sitefinity after reviewing many of the others. There's quite a learning curve on the development side but the API and customization possibilities are extensive. I was also able to apply CSS custom designs easily enough.

The question is not so much the size of the particular project you are working on now, but how many more such content-heavy sites you may want to turn out quickly in the future. From that point of view, I think Telerik trumps the others when it comes to features and API.

IrishChieftain
A: 

If you plan to implement them in the future, try an existing product/framework for sure!

Remember, you'll be responsible for maintenance and fixes for the life of the software. Why not make that easier by using a tried and tested product with regular updates and contributions from other gifted developers?

And the interaction you get from being involved in a new developer community is well worth it.

Perhaps there is a little known project out there that's looking for contributors and shows promise. Get involved, be an early adapter of something new and your career options will increase in a few years when everyone wants that particular skill set. Kaching!

Or you could start a project like that yourself of course :)

All the best!

Rimian