There are so many Open Source systems for websites out there, that I thought I would take a moment to explain a bit about when to pick each one, they all have their strengths and weaknesses, pros and cons.  There isn’t one “solves it all” type system, so if someone is telling you that, its because they would rather work with what they know, than what you need…

We’ll talk about a few of the big boys here (WordPress, Joomla and Drupal being the most obvious), and a few of the up-and-coming (ModX and Concrete5) here.  Basically, when selecting an open source system to run your website there are several things to take into consideration:

  1. What does your site need to do for visitors?  What features do you need, like a store, or login system?
  2. Who will manage the site?  How much will ease of use impact them?
  3. What growth can you anticipate?  What features might you want down the road?
  4. How important is custom design and layout?

If you want a site that primarily communicates to visitors, provides information, you are not too concerned with additional features, like a web store, mailing lists, forums or providing custom information to a selected group, then that’s one set of requirements, if you need a site that provides login, user accounts and gives people information customized just for them (like a site that looks up account information for them), that’s a whole other set of needs.  Throw design and layout control into it, and it can be hard to pick the right system.

Picking the wrong system can hamstring your web site functionality, cost you $1000’s and delay you significant calendar time.  As with most of our posts, if you would like some help, just contact us.  We do requirements gathering and analysis, and can help make sure you pick the right system.

Here’s our take on a few different systems – don’t get caught listening to a technophile who loves one particular system and thinks it can be used to solve every problem.  That’s not reality.

WordPress: Fantastic blogging system that’s got a bit of content management to it and literally thousands upon thousands of plugins, themes and extensions that allow it to do more.  At its core, WordPress is designed to do one thing and to do it very well, manage a blog.  Its concepts and design from the ground up is focused on managing posts and communicating about posts.  It does that exceptionally well, and if that’s the core of what you want, posting information in a blog structure, WordPress is your platform, hands down.  If you want something else, like control over page organization, user control to limit access to areas by group, changes in how information is presented, or a site that’s not generally “blog-feeling” then using WordPress to do it can get complicated and feel like a hack.  For ease-of-use in setup, WordPress is a good pick.  They’ve made plugin management and site management simple enough for a novice, but with that ease of use, comes limitations; its very hard to make WordPress do stuff differently.  If you expect to run a site that communicates information, where posts can serve as news updates, you don’t mind that information model, and ease-of-use is a factor, go with WordPress.

Drupal: This is a *great* content management system and its track record is undeniable.  Large scale sites like whitehouse.gov (yep, them), economist.com (yes that one) and fastcompany.com (no?  Ok, so you’re not a business geek) run Drupal.  It performs well, has an excellent cache system that sustains performance on large scale sites, has against 1000’s of extensions and has user-access control that can be find-tuned to allow person A to edit this set of pages, and person B to edit those without touching each other’s work.  But the interface is confusing, the information model is challenging, and you need to understand code and website basics to install themes and extensions.  In short, its a professional’s CMS.  You can have someone set it up for you, but unless you know what model-view-controller (MVC) is and know how to link a CSS file to a PHP template file, you’re likely going to have trouble upgrading, extending or re-skinning it.  Its a favorite or us freelancers who set sites up for clients, because content entry can be easy enough, and its very flexible, powerful and robust.  If you expect to run a large-scale community site, need customizations, user access control, a powerful system that can handle large-scale sites, and you anticipate having good tech skills, go with Drupal.

Joomla: For a long time, Joomla was our “favorite” content management system at Techivity/VorpalJack and with good reason.  Joomla bridges ease-of-use between Drupal and WordPress, provides good site control over things like menus and objects on a page.  The template system is easier to customize than WordPress, the administration interface is more intelligible than Drupal, and there are again 1000’s of extensions and templates out there.  Again, it does have weaknesses.  It has a limited user-access model, so its very hard to control access to content items or other resources on a user or group basis.  The plugin and extension management system, while easier than the one in Drupal, is much harder than the one in WordPress.  Performance-wise it does well enough, but its not tested on the large-scale sites the way Drupal is – but ease-of-use…well, I’ve had clients whose computer skills were very limited managing their sites in Joomla.  If you need a content management system that provides more customized ways to organize and present information that WordPress, is easy enough for the uninitiated, and you are not concerned about controlling information by user, Joomla is a great choice.

Here are a few of the up-and-coming cms and website systems.  As a whole, the issue with this group is that there’s not enough community support yet to have the quality and breadth of extensions:

ModX: A great content-management system with really health engineering design, careful management, and next-gen tools, ModX is a bit confusing (like Drupal) on the admin side unless you code websites, then its a dream come true.  Uses Smarty for its template system, so if you don’t know what that is, you won’t be skinning it.  ModX is a good choice if you’re hacking together a website for a client that is a basic site, but has to be custom organized, and its a great choice as a foundation for acustom system.

Concrete5: Much like ModX but a bit easier to use, Concrete5 is a wonderful cross between open source and commercial.  The core system is free, but you can buy extensions right in the admin interface.  Its easier to use than ModX and Drupal, maybe even easier than Joomla, but its speed and performance comes into question on sites with higher traffic, so be wary of choosing it for a major site.  Again, a great system to hash something together for a client.

Ok, there’s a perspective.  Come talk to us if you want advice.