Content Management Systems have become one the internet's most powerful web developer tools since PHP.
In a market where websites need to be built faster and easier, many developers are turning to Open Source CMS to get the job done. Unfortunately there are now thousands of CMS's floating around the web and finding the right one has become somewhat of an ordeal.
This article will discuss how developers can find the right CMS for any occasion and will give a review of some of the best CMS's I have discovered, as well as recommendations on which CMS to avoid like the plague.
What is a CMS
A Content Management System (CMS) is a Web application that uses a database (usually MySQL) or other methods to create, edit, and store HTML content in a manageable way. Content is created and edited on the web in an administration portion of the web application (referred to as the Backend). The resulting content is then displayed to the viewers on the regular site (referred to as the Frontend).
Why should I use a CMS
There are several possible reasons for using a Content Management System, but the main reason for using a CMS is to make creating and editing of content simple and easy. Often developers forget that this is the main purpose of a CMS and in search of more and more functionality, they cripple themselves (or their customers).
Content doesn't just include text however. Sometimes the content you need on a site is a contact form or user authentication system. The trick is to find the CMS that provides the functionality without sacrificing ease of use for yourself or, depending on the situation, your customer. A good CMS will allow you to spend more time focused on the design of the frontend then on implementing extensions or functionality.
5 Most Common Mistakes
Mistake 1: Choosing a Geek Friendly CMS
First and foremost it is imperative for those developers building sites for customers that they remember that not everyone is as tech savvy as you are. Even if you've found a CMS that you like and work well with, it doesn't matter unless you're making the site for yourself. The most important factor in the site should be whether or not the customer can use the site like they imagine it should work. So, in the long run, it will be better for your health if you pick a CMS with a simple admin interface, even if you have to customize it more to meet the customer's needs.
Mistake 2: Bigger is Better
Beware of any CMS, open source or not, that cites its huge following as reason to use their system. Don't be taken in by the promises of a huge, helpful user community, and all the beautiful extensions or plugins the systems already have to offer. It's a TRAP!
Just because many people are using a CMS, does not make it good. Take for example the huge amount of people who insist on running Linux. I still have no idea why people wish to inflict that kind of pain on themselves. Similarly, picking a CMS based on a following is an extremely bad idea.
Another reason why people will choose these types of CMS's is because they see that there is a huge community of developers or amount of money behind a certain web application. To this I turn to a favorite quote of mine:
"I wish developing great products was as easy as writing a check. If that was the case, Microsoft would have great products."
If you haven't guessed, that's a quote from Steve Jobs explaining why it's better not to be the behemoth. What really matters is the people behind the product and that they are the right people for the job. Not how many people you have working for you.
When it comes the open source CMS's, often we find that there is nobody tracking development or finding the right people to make what others need. The average community member becomes the main source of functionality and the result is a huge jumble of average extensions and functionality with a few nuggets buried so deep you'll never find them. So I repeat my advice to beware of the behemoths.
Mistake 3: Going With the Little Guy
Again, this is the same as #2, where in an attempt to recover from an unfortunate run in with a behemoth you pick an overly simplistic CMS. Always make sure to check that the CMS you are looking into does include extensions with the functionality you will need. Many times you may stumble upon a promising CMS, but do not invest in it until you have found that it offers what you need. Unfortunately some of the best CMS's out there are still developing.
Mistake 4: Not Doing Research
Always, always do research before settling on a CMS. Check sites they give as examples. Email the administrators of those sites and discuss the pros and cons of the CMS. Talk to developers and keep an open mind.
There does come a point however when you must invest some time in testing out the system and attempting to build a site. Do so for yourself before ever promising to use the system for a customer. Sometimes you may believe you have found an extension or module that will work and upon testing will discover it is seriously flawed. Other times you may discover that the only way to get a module that functions properly is to purchase one.
Mistake 5: Allowing an IT Guy to Pick the CMS
Never, ever, ever allow an IT guy to choose your Content Management System. It is a rare breed that understands both code and a friendly user interface. Whether you are a big company or small group of freelancers, it is imperative that whoever the Mac guy is among you, sign off on anything that the IT guy presents. It may be a headache, but making sure that the CMS you use has a good user interface is essential and will save you a lot of pain in the long run.
If you find yourself in the situation where you are allowing a coder to build your functionality for you, first provide a list of requirements and then have them present you with your CMS options. That way you may make the decision that best suits you or your customer.
What to Look for in a CMS
There are many things to look for in a content management system but here are a few of the more important ones:
- Quick and easy installation
- Simple administration interface
- Quick and easy extension of CMS for extra functionality
- Simple template manipulation
- Helpful user community
Although this may seem counter intuitive, look for the CMS with the best design appeal for you. Having an appealing design is one of the best indicators that the interface will be user friendly, though always remember to do your research before investing your time and energy into any particular system.
The 3 Most Promising CMS's
The development of open source Content Management Systems is continuing at an increasing rate. There are new systems emerging constantly and many of these systems are beginning to show promise. Behemoths of the CMS world such as Joomla! and Drupal have been unable to break from a cycle of inadequate change. Perhaps the new generation of CMS that is emerging may be able to change things for the better.
So here's a list of the most promising CMS's that you should keep an eye on, as well as the best working options, and those CMS's that you should spurn:
1. Frog CMS
It's an absolute winner in this category with a new PHP CMS based off of Radiant CMS. Frog CMS shows the most promise of any CMS that is currently in development. The extremely friendly administrator interface is its golden gem. The community for Frog remains small, but despite this the project is developing quickly, while plugins are constantly being produced at high standards to fill the gaps.
Frog's strength lies in its developer community which is committed to producing an extremely functional CMS which maintains its user friendliness. The 1.0 version is currently in development and should arrive soon. Frog CMS
2. Concrete5 CMS
This CMS does something very different from other systems in that it integrates the administration with the frontend seamlessly. The only other CMS that does this is LightCMS. Concrete5, however has the same advantages as Frog CMS and is much less complex than its counterpart. Concrete5
3. iWeb
Technically it's not an open source CMS, but what it represents is a step in the right direction. This program was Apple's first attempt at a web publishing system and works in unison with the .mac (now MobileMe) system. If Apple ever spent any time focusing on delivering a fully outfitted program by adding more to what is already a fantastic system with iWeb, there would be no need for any other CMS. I would keep an eye on Apple in the future for just such a program in their iLife suite. iWeb
Top 5 Content Management Systems.
1. Drupal
Drupal is easily the most functional open source CMS available today. It allows for the editing of content directly on the page, and is easily extended through the use of modules. Themes can be developed easily with CSS and though it has a few issues, it is the least frustrating CMS of any available. Drupal
2. Wordpress
Wordpress began as a simple blogging system but has grown into one of the most powerful CMS's on the Internet. The administration interface which has become so easy to use for millions of bloggers translates over to extended versions of Wordpress.
As developers have realized its potential to act as a user friendly CMS, many plugins and extensions have been produced. With the release of BuddyPress for Wordpress MU, it matches most other open source systems available in functionality and far surpasses them in user friendliness. Wordpress
3. Radiant CMS
A simple CMS powered by Ruby on Rails. It's simplistic design and method of content management makes editing content easy. The focus of this CMS is to offer minimum functionality for small development teams, which allows those who know how to write Ruby on Rails to easily customize their own systems. Radiant CMS
4. Magento
An especially effective e-commerce content management system. Offers features above and beyond normal e-commerce systems such as virtue-cart. A must have for online stores. Magento
5. Silverstripe
A simplistic CMS, with a growing community. Easy to customize and change. Shows potential to match other systems such as Drupal, but not quite there yet. Great user interface. Silverstripe
Avoid Joomla
Joomla is evil. That's all there is too it. The only way to get the functionality you would ever really need beyond basic content management is to pay large sums of money for commercial modules. The community is huge in the worst possible way. There are a million modules for one problem and it is near impossible to find the right one.
The interface is deplorable. None of the methods of content management make any sense, and it is obviously not meant to be user friendly considering the top dollar training offered for the system. If there were ever a CMS to avoid, this would be it.
That's the end of the list. If you know to avoid Joomla! you'll know how to avoid anything else that might hinder your experience creating and managing a website. Whew! There! Joomla!
Summary
Always remember to research a CMS before investing time in it. Never forget that the main purpose of a CMS is to make creating and editing content simple and easy. Never sacrifice the user experience for functionality. Remember these things and it will drastically improve your experience with Content Management Systems.
Written exclusively for WDD by Jason Mosley. The article reflects his opinion only and doesn't necessarily reflect WDD's position on the subject.
Have you used these systems successfully? Which ones do you like best?