Recently I had to pick a CMS for building a new website.  Here are a 
few observations and ideas I ran across.

If you're planning to dust off your PHP chops and build a new site 
from scratch, you should consider using a CMS (unless you're being 
paid by the hour).  A flexible CMS can take care of many mundane 
details and give you a stable framework for developing something 
specific.

The main issues I've had with choosing a CMS are:

 - Platform/Language : I considered using Scoop because I love the 
setup and workflow of kuro5hin.org (for which it was written).  Too 
bad it's written in Perl, and uses a tonne of Perl modules that I'd 
have to install myself, something I can't do with cheap, high 
capacity shared hosting.  Go for something standard - PHP, MySQL, 
Apache, etc.

 - Not quite plug-and-play : You typically get a core CMS with very 
limited functionality, and you can choose from a large collection of 
packages (components, extensions, modules, etc.) to add more 
features.  I spent a lot of time tracking down and installing 
packages to do specific things.  Beware : not all packages will be 
compatible with the latest version of the CMS core.

 - Roll up your sleeves : You'll probably have to do some hacking to 
make things work the way you want them.  It's not quite like Lego.

 - Template engines : Your CMS probably uses some sort of template 
setup to turn data into HTML, with enough markup (div, span, id 
stuff) to allow CSS to style it. You'll probably end up modifying 
templates to make things look the way you want them.  Some template 
engines have their own language (e.g. Smarty) you'll need to learn, 
while other sites use PHP or just hardcode (ouch!) the HTML.

 - Components : I ended up changing several modules, and also writing 
one.  Have a look at some of the source code before you commit 
yourself to a CMS - if it looks like hieroglyphics, just run!

 - Themes : A decent CMS will have CSS-based themes that you can pick 
from and modify.  See if anything tickles your pickle (unless you're 
a CSS nerd).


I almost convinced myself to go with Joomla, then chose Drupal 
(http://drupal.org/).  At the time, I wasn't aware of all the points 
above, but I'm still happy with my choice.  Drupal is written in PHP 
and works with MySQL/PostgreSQL, has a great user community, lots of 
modules, uses straight PHP for templating, and has decent free 
themes.  Drupal also lets you build custom content types using a 
mixture of fields (images, text boxes, radio buttons, etc.).

Note : I haven't done an exhaustive comparison of Drupal to other 
CMSs - it just seemed a better fit at the time.

There are lots of CMS demos here:
  http://opensourcecms.com/
Don't be distracted by the visual styling - that seems to be the 
easiest part to modify.



Daniel R


Reply via email to