What is Drupal?

Drupal is a Content Management Framework (CMF), which differs slightly from a Content Management System (CMS), such as Joomla. A CMS is a system that allows a developer to combine several modules together to create a solution so that admins will be able to add and edit content without knowledge of HTML or other programming languages.

CMF defined. A CMF is different in that it allows much more modification, but is slightly more unwieldy to an unexperienced developer. A CMF is built to allow greater customization, so the modules that make a system like Drupal are much more broad, which means they can be used for many more purposes. Drupal is designed with smaller building blocks, which offers much more flexibility and allows much more customization.

A comparison. A CMS is to a CMF much as Duplos (you know, those big lego blocks that toddlers can't swollow) are to Legos. Duplos make it easy to build a lot of things, and certainly allow creativity for small children, but what they lack is the ability to make much of anything that doesn't look rather blocky. Legos, on the other hand, allow older kids to create much more elaborate structures, models, etc.

Flexibility. While a CMS like Joomla can certainly get the job done, there are limitations to what it can do without a lot of modification and changes in the code. Drupal allows programmers to get much closer to the goal without coding, so increases flexibility and decreases cost. Joomla sites are easy to pick out by simply looking at them, because it is hard to change Joomla enough to fully create a theme that doesn't resemble Joomla. Drupal on the other hand is much harder to pick out, because it's flexibility allows the developer to change it's look enough to make your site look totally unique.

Joomla and other CMSs have their place if you don't have the budget to afford a better system. But if you have the budget and the vision to stand out or don't want to run into those darn “technical limitations,” a system like Drupal in the hands of a capable programmer will pay for itself quickly. If you're wanting to get the job done right, learn some things to help you make a good decision.