Learning Mambo: A Step/by/Step Tutorial to Building Your Website
上QQ阅读APP看书,第一时间看更新

Mambo as an Open-Source Content Management System

We used the expression 'open-source content management system' earlier in the chapter to describe Mambo. Let's take a closer a look at this term.

Open Source

Mambo is free, and it is also open source. After downloading Mambo, all the source code of the application is there in front of you. This means, if you are so inclined, you can dig around to see how it works, or check why something is not working as it should. Mambo is not a perfect application (what is?), and there will always be parts that do not work as they should. Since there are many people using Mambo on the Internet, the problem is usually spotted and the solution is posted on one of the Mambo forums.

Another advantage of having the source of the application (the code) available to you is that you can modify (hack!) it, or extend it in whichever way you choose.

Mambo is released under a license, the GNU General Public License (GPL). The GPL bestows much freedom in the way that you can work with Mambo, but it also brings along some restrictions. The ins and outs of the GPL are pretty complex, and we aren't even going to attempt an in-depth discussion of the consequences of this. For more information about the GPL visit http://en.wikipedia.org/wiki/GPL.

The GPL should always be respected. The GPL is one of the cornerstones of the free software movement, which was set up to promote rights to use, modify, and redistribute computer programs. The upshot of the license is that Mambo will not be going away. Even if some future version of it were to become completely commercial, the existing code could be taken and modified to create a new version, also released with a GPL license.

Content Management System

We have spoken a lot about adding and editing 'information' on a website. A broader term for information here would be 'content'. To summarize our earlier discussions of Mambo, it allows you to manage the content of your site. In other words, it's a content management system.

According to Wikipedia, a Content Management System (CMS) is a 'system used to organize and facilitate collaborative creation of documents and other content' (http://en.wikipedia.org/wiki/Content_management_system).

Well, it is difficult to define content management system and avoid the words 'a system for managing content'!

You can think of a content management system as playing three roles:

  • Capturing content
  • Maintaining and Organizing content
  • Serving content

Capturing the content is usually done by users entering data in forms in a web browser. This content is then stored in a database for later retrieval. Serving the content allows the right data to be selected, sorted, and ordered, and then displayed to the visitor in a coherent and consistent way.

Mambo achieves all of these. Users with special accounts can input content from either the administrative part of the site, or even the front end of the site. This content can be maintained and organized from the web-based administration interface by the site administrator. When a visitor requests a page from the site, Mambo will determine which content should be displayed and how it should be ordered. It then handles the output of the content, along with the rest of the page.