Why Drupal, Joomla, Wordpress and similar software are so popular and 20 things to look for
What are Drupal, Joomla, Wordpress and similar software?
Drupal, Joomla, Wordpress, Gallery, Plone/Zope, Postnuke (and other nuke variants), Dotnetnuke, mediawiki, Alfresco and other similar types of software are Content Management Systems (CMS).
What is a CMS?
One of the key disagreements about CMS is what is a suitable definition of one. I define a CMS as a system (including software) that separates style and content systemically for ease of use (by both content creators and users), and manages content, users, maintenance and output on a consistent basis. Or to put it another way, CMS are systems to manage and produce content that is easy to find and use. CMS can be for the web, or not.
An example of what a CMS does is that most CMS automatically generate navigation and store content in order to allow you to find material. You create content (say a webpage) and a CMS makes it look like other content generated by the CMS that is similar (e.g. same look as other webpages) and it automatically shows up in the navigation system as you and the CMS have defined it.
What problem are CMS designed to fix?
Lots of users (or an area or publishers) can generate difficult to find content with varying styles, formats and ease of use. Relying on people to make sure that everything that gets published is consistently styled is resource intensive and prone to deviation. Also, maintenance and security can be an issue (including inadvertent changes/deletions to the systems by user(s) with inappropriate permissions). CMS are designed to fix this by separating content from style and automating a lot of administrative tasks such as navigation, style, user access levels, search, maintenance and security.
Why are Drupal, Joomla, Wordpress and other CMS so popular?
About five years ago an enterprise CMS could easily cost hundreds of thousands of dollars. Now there are some open source CMS that have better initial functionality than these that can be downloaded for free. CMS like Drupal, Joomla and Wordpress allow users to publish content consistently well, in a way that was not contemplated five years ago. You can get your message out to the world, photos to your family, build a community or do business internationally, all in an organised and efficient way with a CMS that may well be better than those that cost hundreds of thousands. If content is king, CMS can be disciplined royal press corps.
But just because there are quality tools available to manage your content, does not mean that the end product will be good. CMS such as Drupal, Joomla, Wordpress and others can be excellent tools, but the raw materials that they work with can be sub-optimal. In other words, if your content is ordinary, it doesn’t matter how good the CMS is, your content is still ordinary. Also, poor process will not be fixed by a good CMS.
20 things to look for in choosing a CMS.
- Coverage -A CMS can’t be all things to all people as there is no perfect solution for every case. Most things can be classified as content (text, email, music, software, video, images etc). Some CMSs are designed for (target) specific content uses. For instance, gallery is a CMS that targets online photo management (it also can be added to other CMS such as Drupal via a module). This site uses a content management system called Wordpress which targets blogging. There are a large number of website creation targeted CMS. Some examples are Joomla which appears to target designers and high ease of use, Drupal which appears to target large communities and Zope/Plone which seems to target big or specialised systems where coders are employed. Mediawiki is the software behind Wikipedia - the popular community based encyclopedia. If a CMS targets your intended use, it can be quicker and better to set up your use with that CMS. Note that some CMS are not well coded for any use, and that some CMS can be used for multiple uses. So a key thing to look for is - does the CMS cover the intended use well? Examples of the CMS in similar usages are a good way of checking them.
- Does it do what you want? Rather than having a million features, does the CMS do what you want? Do you have a clear idea of what you want the content to look like? Things that might be important include, allowing authoring by people who don’t know much about the system (such as by a ‘what you see is what you get’ (wysiwyg) editor), the time of publication and expiration of content (does the CMS have that information and functionality and is it easily used), supported languages, authentication of users, calenders, email integration, file and image management, metadata (data about data, such as who created the file and when) and tags (classification of data into categories), version control and granularity of content (for example, do you want each link, word or picture stored separately and can you show just the summaries?).
- Is it easy to find things? Google’s popularity has provided excellent evidence of how important it is to be able to find things. A good CMS should provide for logical content structure (information architecture), well thought out navigation requiring little or no explanation (including clear signals of where you are, such as breadcrumbs - a usable trail that indicates where the content is that you are looking at, e.g. section > subsection > article in a consistent clear place, and search facilities that are easy to find, intuitive to use and produce relevant results quickly. The use of tags is also aimed at finding things, where users, authors or editors classify content by topic. Tags can work well depending upon how they are used.
- Is it value for money? This is different to - is it expensive? Does it do what you want at a price that is proportionate and affordable to you? There are some free open source content management systems such as Drupal, Plone, Joomla, Gallery and Wordpress, but value for money should include your time to learn the system, not just the cost of the software. It should also include the cost of other people’s time if relevant, including development and support for the CMS. Is everything you need included in the price, do you need special hardware, software or services (such as hosting)?
- What underlying technology does the CMS need? Do you need specialised hosting or expensive software or hardware (and expensive support or training) to get your CMS up and running? Are there specialised underlying requirements or does the CMS use common components?
- Is the content consistent and reusable? Does the CMS work as you would expect? Does it allow you to reuse material if you want? For instance you might want to have a page title, a subtitle, an author, a summary, the body of an article, the content category used and be able to search by each. You might want to order content by popularity, alphabetically and by time of alteration or creation. You might want to provide a version of the content for mobile phones or some other device.
- What else do you have to get, change or do? Do you have to change the way you or your organisation work(s) (this may not be a bad thing)? What time have you allocated to working out how a CMS can make life easier for you (paying a consultant without a planned approach of your role and theirs is asking for trouble)? Do you have to pay more if the CMS is heavily used (e.g such as by the number of processors used or by the number of uses/hits)? What is the time and cost commitment of maintenance of the CMS? How much training is involved? What compromises are you happy with to use the CMS?
- Is the content easily usable by you and users from the start? A good test is, is it easy to install? Is the CMS efficient, such as how many clicks do you need to get to content even where you don’t know the CMS well? Does the CMS have breadcrumbs (do you know where you are and is the structure logical, for instance on a web site can you go up a level without using the back button on a browser?) Is input of content easy? Can you work on drafts in the CMS and then publish things later? Can a user be granted access to some things but not others? Should some of the features be turned off to increase usability?
- Does the CMS look generic, does it look like what you want? A lot of early CMS’s all looked the same (and worked the same). Huge amounts of money, time and effort can be used to make something distinctive. Presentation can make a huge difference to people’s confidence in the content, or it might not matter if the CMS is used internally to store printer drivers.
- Is the content easy to find? Some CMS can damage your ability to promote the use of content (such as by affecting search rankings of websites) through search unfriendly features (such as providing URLs for a website that are illogical, temporary and long, e.g. http://site.com/6729827163115648948312992216486648548363.php?session4712.htm). Try using that from a letter, email, user guide or advert. Some CMS’s are much better at providing logical and useful references for content e.g. site.com/112. Standards can enhance accessibility by allowing everything and everyone to get to your content.
- Does the CMS track usage and provide decent reporting? Knowing what is popular with users can help you fine tune your content structure and delivery if you want. You can also have a good idea of who is doing what (x produced y content at z time). Even knowing what area the majority of users are from can help tailor content. Perhaps spending time on the most popular content might be useful?
- Can new bits have to be added or old bits subtracted easily (is the CMS structure good)? If everything or one thing changes (such as a computer hard drive fails or a new content structure is more appropriate) do you have to rebuild the thing from scratch or is it modular enough to make change easy? Can you tweak the content easily after testing or in response to feedback?
- Can you change technology, services and support over time and remain with the same CMS? Are you able to change hosts, outsource the site, insource the site, do you have to relearn everything in a few years if the CMS is not around? Does the licensing constrain you? Is there a big pool of developers and are you likely to have an additional component built by an external developer at reasonable cost if you need it? Is it important to use the CMS with other systems and are they compatible (e.g. do you need to use the numbers from your CMS in your accounting program)? Some of these things won’t matter to you, but some might.
- Is the CMS extensible without major development? Can you easily add functionality/features that you are likely to need in the future? Are basic features well supported (in ‘core’ code)? Can you let x only do y on the site (restrict user roles) without altering the fundamental software (which has security and upgrade implications)? Is the CMS and are a lot of the additions to it modular? Does it automate some of your routine tasks, like link-checking, making thumb-nails of images, and spell-checking? A well chosen CMS can improve the usability of your content without you thinking about it.
- Fast access? Is the CMS going to be fast enough for easy use by content creators and users? Is it going to be attractive to use at that speed? If the content, CMS or supporting infrastructure are slow to use, then people will lose interest very quickly in the CMS. Attention spans matter to a successful CMS.
- Is it a low maintenance solution? Life is too short to continually upgrade and maintain CMSs. How much work is it to update the site (low modification of the CMS is easier to update than more modifications of the CMS)? How much attention is paid to the security of the CMS? Does any CMS update break existing functionality? Are unwarranted radical changes made to different versions of the CMS?
- Is there good support? Is there good instructions on installation, manuals and other documentation? Are the forums helpful, are other users generally helpful, can you find information on what you want? What issues are not dealt with quickly? Is the surrounding community active and/or growing fast enough for your purposes? How long has the CMS been actively supported and is it likely to be supported in the future?
- Is the technology robust? I did not use a CMS for my main website for years because the CMS’s I had used for that purpose were not mature enough for my usage. Stability of the CMS affects usability. Stability should be compared with existing alternatives, not future planned releases as they may not eventuate. For instance, the html language (browser language) was much more stable than the CMSs that I was looking at, so I stuck to html.
- Does the CMS save you time and/or produce a better end result? All the comparisons in the world do not matter if the CMS does not save you time and/or work better. A test use of a CMS and an assessment of an existing project that is similar to what you want can be worthwhile.
- Is there appropriate redundancy? Does the CMS have appropriate backup, versioning, auditing and archiving? Is the CMS and underlying content likely to be quick and easy to get back up if a tree falls on a critical piece of hardware or your software becomes corrupted?
Be particularly wary of:
- Workflow diagrams - vendors pushing roles dealing with content that don’t reflect what you want.
- Features that don’t help you.
- Excessive technical jargon that is not related to your activities.
- Fees that don’t transparently relate to the activity that you are paying for.
- Similar reference projects using the software and /or services you are evaluating that don’t work or are not what you want.
Useful references
CMS info - CMS news
CMS matrix - compares CMS by feature.
CMS Report - lots of CMS news.
CMS Review - provides CMS reviews.
CMS Wire - CMS news
CM Pros - organisation for CM professionals
CMS News - CMS News
Open Source CMS - use open source CMS demos on the site
What do you think makes a good CMS? - post from open source community.org
Don’t let your CMS get a bad rap - post from CMS Watch
Goodbye vBulletin, Part 1: Reasons to Switch - post from a padded cell
Making a better Open Source CMS - post from Jeffrey Veen
Open source CMSes prove well worth the price - article from Infoworld
I’ve never met a boxed cms i like - post from Sitepoint
Seven criteria for evaluating open source management systems from Linux Journal
Jargon buster - terms you might come across in looking at CMSs
API (application programming interface) - a defined method for software to communicate with other software and/or hardware. Organisation, modulartity, ability to use custom code if needed and flexibility are possible benefits of a good API.
CSS (cascading style sheets) - a web standard applying to presentation. This is generally a good thing, as it allows separation of form and content that is supported by most browsers. Even if a CMS does not produce internet content, many applications including CMSs still use a browser as an interface.
LAMP (Linux operating system, Apache server software, MySQL database and PHP programming language). A common mix of software that is needed for many CMS.
Core code of the CMS is generally the base level of software in the CMS package that is distributed. While core can normally be supplemented by add-on software, usually core software is heavily reviewed, should be the most polished code and should therefore perform the best of any code.
About the author
I welcome comments as I’ve almost certainly missed things.
I’ve used at least five CMSs in different contexts. From my point of view, the CMS software can be hosted, in a box or downloaded. While I use open source examples, these comments would apply equally to closed source CMSs.
A lot of commentary is written with only coders or sales of a specific CMS system in mind. I understand some web languages and have designed and used some databases but I am not a coder and I don’t sell any CMSs. I write this from a user perspective. This is why there are not as many acronyms in this post as there could be.