Monday, 10 February 2014
How-to: Choose a CMS Part One
I was recently sent a query about whether to use WordPress or Drupal.
It was from a non-technical person in the voluntary sector, so there was no point writing a technical article. I couldn't assume anything about their level of technical knowledge. I did throw in Joomla as well, as it's another website tool that is often mention in the same breath, often by the same kind of line manager (knowing just enough to be dangerous) who raised this question to my poor correspondent.
Which is why I told them this...
All three of them are Content Management Systems for building websites. The CMS provides tools for entering and maintaining your web content which it stores in a database (commonly MySQL database, "my sequel" as everyone pronounces it). The CMS allows you to structure and arrange your content which it then displays as pages using a set of page templates - this is the layout, colour scheme, look and feel of the site.
WordPress, Joomla and Drupal all offer a free 'core' set of tools and templates to get you started, but from there, the sky's the limit as to how far you want to go in developing your site, plugging in extras like shopping carts, bulletin boards, mailing list management, collaboration tools and the like. There are lots of software houses and consultants who will sell you everything from add-in's, to complete sites; you could host it on your own webserver in-house, or have a hosting company do that for you.
So the first question is, who is going to build and then maintain the site, can you pay for some or all of it, or will this be a do-it-yourself site?
If the solution is to pay someone to build and maintain your site and web-server, you needn't worry about which CMS to use; as long as you can update the site as an author/editor, the technology can be someone else' problem.
As soon as you opt to 'do it yourself' in any measure, which one to go for?
Look at what you need your web-site to do and how you intend to support it - financially and technically, then consider what each CMS is good for. If you want a plain site with a dozen 'flat' pages, you could do without any of them, there are plenty of free website builders that will give you some page templates, a colour scheme and a place to put your logo.
Anything more than that, where you are likely to post new content frequently onto a lot of pages, from a number of user, you need a CMS.
You could set up a small personal blog or business site on WordPress.com which WordPress will host for you, but the service and site designs can be quite restrictive. At the very least you will likely want a paid upgrade to allow you to develop a snazzy site design. The advantage is, anyone can do it. I have several WordPress sites which I have customised within the standard templates; I've hit the limit of what I can do with them, but none of them have cost me any money...
At the next level, you can find hosted solutions for all three of WordPress, Joomla and Drupal, where you only need to understand how to use the editor and the site administrator tools. It is possible in all three to add plugins, or extensions, or modules (terms vary) to add extra functions. You can get a long way on not a lot of technical knowledge if you have a clear plan for your site structure, the navigation and some good content to go in it. However...
If you’re setting up a site which you believe will grow rapidly and require extensive features for users, you're on to another technical level. You will need a little understanding of how websites and servers work, even if you have someone else installing and maintaining your server for you. You will need a deeper understanding of how each of WordPress, Joomla and Drupal pull components together and probably a better understanding of how they interact with the database containing your content underneath.
You can dive down the rabbit hole and produce the most spectacularly accomplished sites in all three, but the technical knowledge you need at that level goes deep, too.
At the basic level, WordPress leads the pack; over 140 million installed instances (the likes of Forbes, Sony, CNN), versus Joomla's 30 million (Harvard Uni among them), or Drupal's 15 million (The White House and Warner Brothers). There are a couple of thousand free themes each, and many thousands of free plugins, before you get to any paid products.
You can get one-click installers which will do the set-up given the right answers to some moderately technical questions - database name, server name, users, administrator & a few more). These only take a few minutes to install. Getting a site up and running can take more or less time.
Inside the admin panel of the CMS, things vary.
You can get going in WordPress quite quickly, it is simple to administer; building menus and creating pages is very quick. Joomla and Drupal are quite a bit more complex, as they are much more flexible for building whatever structure you want. There are also many more settings available in the control panel for Joomla and Drupal, so it takes a while to find your way around even the simplest things.
The size of the WordPress community means there is a lot of experience and support out there to call on when you get stuck. Joomla and Drupal are used much more by software developers for large-scale, feature-rich sites. You have to find your way into programming much sooner to get these two to work and also to understand any tutorials or discussion forums. That said, if you start modifying your own WordPress site, you will eventually need to know HTML and style sheets for page layouts, and PHP for any other fancy features.
Where I currently work, our two main sites are powered by Joomla. The largest of these is being outsourced to a software house to rebuild and host under contract. Their chosen technology, which they will maintain for us, is another CMS called Modx; very programmer-centered. Don't go there. I don't have to, so I don't care.
The Joomla site we're keeping has recently been rebuilt by an external agency. We may have to go back to them to unravel various layers of design, configuration and code so we understand enough to make changes of our own. This will involve re-coding the page templates and adding a lot of new plugin’s.
We have a couple of WordPress sites which hold a lot of content, have users in the thousands and are quite robust. I am about to build a couple more Wordpress sites because I can get something quick and basic that is visually appealing up and running quickly. I also like the WordPress editor better than the other two; it's been built more like a word processor than a fancy web tool. I can embed video and audio, upload and display images, format my page text easily. But in order to get it to look exactly how I want, I am going to have to re-code some of the page templates.
So I came, perhaps unhelpfully, back to the question: what’s your plan for what you need to build, who’s going to maintain it and will you pay them anything? Because in the end, unless you are CNN or the White House, you're not going to choose a CMS on it's high-end technical merits. RC