Well, as the name says, content management systems, or in short CMS, are builds (custom or platform based) that provide content creators, editors and content managers the ability of managing the content in a structured, easy to use way. For example this post is being written using such a system, specialized for blogging and general presentation websites called WordPress.
WordPress is an open-source CMS which is freely distributed for usage through WordPress.org.
This particular CMS has an easy to use interface, great community, thousands of add-ons and themes so it's usually the simplest way to have a website up in a few minutes with minor investment. Of course having your own unique website build using WordPress can be as costly as with any other platform but generally it's the best alternative for small presentation websites or blogs, maybe even small e-commerce shops using Woocommerce or WP E-commerce. I personally don't recommend it for anything else and you will see why:
Now as the category says, I like to order my main CMS platforms into three groups: the good, the bad and the ugly.
The main platforms I am using are:
WordPress – which can be categorized as part of the good platforms group. It provides some of the features you would like in a very good CMS, although some are quite at a low level concerning user account control, content types (which are built over the main post object so it's difficult to extend with scalability in mind), but it also provides a great media manager, categorization, general posting features and a good collaboration environment.
Drupal – which can be categories as a very good CMS, albeit an ugly one. Drupal as WordPress has a very big community which provides around 95% of exiting modules free of charge as specified in Drupal's licensing material. It provides an almost unlimited way of scaling your content types over the more general main node object. Can use database views through it's Views project supported through the Chaos Tools Suite. What's so great about Drupal is the user account control which makes the platform great for subscription sites, membership sites and high level portals. What's ugly about it? Well the templating engine is quite problematic and Drupal is not the best in using MVC concepts (not even the faux-MVC like WordPress uses). Also it's very procedural in concept using name based method definition hooks. Development is quite costly but the end product is stable and secure (at least a lot more secured compared with others).
Joomla – this one, in my opinion, can take the bad platform group by itself. Why:
- It uses a very heavy components system, which are required to do even the most basic things for extending the functionality
- The templating system is also extremely heavy and generates issues in extending premium or new themes
- The user account control system, although more diverse than the one found in WordPress is extremely difficult to manage in custom coding or extending components.
- Basic features as internalization or handling Search Engine Friendly URLs require the touch of a developer.
- New feature development is costly and time consuming.
- A community which is decreasing daily and a lack of proper components for many features.
Most readers which are developers might ask what is the bad thing about costly? For us developers only means more cash. Guys, the bad thing is that you have no satisfaction in providing a good product and it might haunt you financially and from an image point of view on the long run.
All systems described above (and others, of course) deserve their own article and I will be glad to write one soon for each of them as well.
image source: kidakaka.com