- Choosing an Open Source CMS: Beginner's Guide
- Nirav Mehta
- 409字
- 2025-02-23 09:38:13
Understanding CMS technologies
We haven't discussed the technical aspects of CMSs so far. Let's quickly review them here.
Web-based CMSs have a simple three-tier architecture, just like any other web application: Browser → Web Server → Database Server. Internally, different CMSs may have different system designs. However, the overall components and flow still remain the same. Take a look at Joomla!'s architecture in the following figure:

And here's Drupal's execution system flow:

Most CMSs will have similar design, which consists of a few core components, plug-in systems, and template handlers. The flow will be similar too—process templates, permissions, content blocks, and actual content.
Note
You can learn more about Joomla! architecture at http://dev.joomla.org/content/view/1137/80/.
Find how Drupal's flow works at http://drupal.org/getting-started/before/overview.
Apart from the system architecture similarities, you may have noticed another similarity in top CMSs—the backend technologies that they use. Most are written in PHP with MySQL as the database.
PHP is most popular for CMSs
PHP (http://www.php.net) was designed "to solve the Web problem", and it is no surprise that most CMSs are written in PHP. PHP is easy to learn and is very powerful. It allows building solid frameworks and writing elegant business logic. On the other hand, PHP also forgives badly written code. So when you select a CMS, make sure to go for one that has good code. Popular CMSs typically have high-quality code, so you can rest assured.
If PHP is not your preference, you can find CMSs in .Net, Java, Ruby, Perl, and Python too. All of them have their own strengths.
But why does the technology choice matter?
A technology choice matters because you will host your CMS on a web server, and it needs to support the technology your CMS is using. Especially if you are on shared hosting, you must check if your host supports the programming language (that is, PHP, or Perl, and so on) and database (that is, MySQL, MS SQL, and so on) that you are going to use. There may be other system requirements such as the GD library for a photo gallery. Ensure that your existing infrastructure supports those requirements. Otherwise, you may need to change the server configuration, service provider, or the CMS.
That's enough of technical background for us. In the next few chapters we will learn how to select a CMS for which we will revisit the technology. For now, let's summarize what we covered in this chapter.