views:

104

answers:

4

I know HTML, CSS and .NET pretty well, but I've only ever built static sites. A lot of my clients are small businesses whose sites are made up of 5-10 pages. Even though the sites are small, the business owners want to be able to edit the content themselves.

Question: should I code up the pages myself and pull the content from a CMS like Wordpress or tumblr via Javascript and APIs? Or should I use the CMS to generate the site and hack in my styles?

What if I want content that doesn't conform to the "post" data structure or to include multiple data entities on one page in a layout that isn't your classic top-down 1-2 column blog format?

Essentially, I want to be able to churn out dynamic sites that look just as custom as my static ones, but w/ the power to edit the contet easily.

Thanks!

+1  A: 

A lot of them allow you to create custom templates and styles, so the CMS will apply your themes to the content.

IT's also possible to move them away from the standard post-based blog look, but it might take a little tweaking. Wordpress is the big one I've seen this done the most with, but there are many many others that are all probably just as capable.

FrustratedWithFormsDesigner
+3  A: 

Have a look through http://php.opensourcecms.com/ it gives you a bunch of them to try. My favorite is modx at http://modxcms.com/ as the cms doesn't have the templating system get in your way.

you essentially create your doctype and layout and add [*content*] and it puts the content of the site in the "shell" you have created. You can expand this by using snippets and chunks. Chunks are simple html chunks that you can reuse across multiple pages (like a navigation menu that needs to be the same across all pages). Snippets are chunks of php code that you can execute within your page.

This is the simplest of the introductions, but once you start working in it you would get an idea of how simple or complex of pages you can make.

This is my cms of choice, as it doesn't have the rigid structure that the usual suspects sport. But the best is to look at the first link and do a bit of a test drive.

Daniel
+1 for modX - using the import static html function I transferred a 10 page static site into modX and got it all working in just under 1hr.
Adrian
+4  A: 

I think you could probably achieve your goals with something like Wordpress. The real issue is a trade off between flexibility, optimization for the task at hand and the complexity of the job.

You essentially have three options (in order of increasing flexibility and steepness of learning curve):

  1. Use a blog engine like Wordpress. It is very customizable and you can move quite (even very) far from the traditional blog format. The further you stray, the less optimized WP will be (mostly in terms of the number of SQL queries it does in the background). The learning curve is very forgiving though.

  2. Use a more flexible CMS like Drupal or Joomla. Here you will have more control and flexibility, but still some constraints. And it will be harder to get going in the early stages.

  3. Use a general web application framework like Zend, Cake PHP or CodeIgniter. Like the blog engine and the CMS, the framework will provide a lot of the foundation (database abstractions, forms management, sessions management, etc.), but it will be much more flexible. It will also be much harder to get something basic up and running relative to a blog or CMS.

All of the examples above are PHP based, but someone with more .NET experience might be able to point you to equivalents in that world.

Also, for #3, there are some frameworks that have exploded in popularity over the last several years: Ruby on Rails, which uses Ruby, and Django, which uses Python as the programming language. I have recently started using RoR and maybe its just the honeymoon, but I'm loving it.

Finally, there is a #4, which is just code everything yourself from scratch, but that seems like a crazy choice these days, given the enormous amount of solid, secure open source code that is available (and with a community to support it).

Greg
+1  A: 

Check out CushyCMS, it's a free service that lets your customers login and update content that you choose. You define a special css class on div tags with the content you want them to edit. Your customers don't need to install anything on the server, its all handled by CushyCMS in a web browser.

Crackerjack
Looks pretty nice... I'm going to check this out.
vg1890