Mambo Open Source/Mambo for a beginner

This article/essay is an introduction written for a total beginner that has no experience with CMS systems at all. You should have some skills in web sites, however, to fully understand this article.

It is recommended to read the article from top to bottom.

What is mambo?
Mambo is a content management system, which, as the phrase suggests, manages content. Mambo manages the text, images, links, documents and interaction - the main elements of every website. This means that instead of using an application like Dreamweaver, FrontPage or a similar visual website management tool, you use Mambo to maintain and update a site. Mambo utilizes a browser based system to do this - the administration is a securely accessed back end of the website. You log in, and use the browser to add content, publish articles, approve submissions and perform countless other functions involved in maintaining an active growing website.

How does mambo work?
Mambo is based on three elements: a web server, a script language and a database. The webserver is connected to the internet and makes the site available there, the script language consists of the programs and functions, and the database stores the content.

First, a user requests the mambo page by entering the URL. The browser then connects to the webserver. The URL contains the parameters of the content - what section, which article and so on. Based on those parameters, mambo's script system contacts the database and gets the content. Then, the content and the template are merged together, and this returns as a plain HTML and CSS page.

Those terms..
Mambo has many special words and phrases that a beginner might not understand. They are used very often in the community and may not be self-explanatory, so knowing what these words mean can be very useful for a beginner.

../Components/
The Components are supplements and additions to mambo's core functions. Mambo can publish text, upload images, manage users, etc., but Components provide additional functionality that can perform specialized tasks. Examples include: download managers, forums, commerce, galleries, guestbooks, wikis, newsletters - the list is almost endless.

These components are installed with an installer in Mambo, found under "components > install/uninstall" in the Mambo Administration panel. This is how most of the Components are installed, but it should be noted that some of them will need modification to core files. However, that is very seldom needed, as the components installer is usually sufficient.

../Modules/
Modules are the side blocks in mambo. Among these are the main menu module, login, poll, syndicate - all the stuff around the content. Mambo has predefined positions for these Modules. The most common are the left and right positions. The designer of a template (see below) can place these positions wherever he/she wants, so there is no rule that says the left position will be on the left of the template. But templates are commonly set up so that this corresponds to the actual layout.

There are also more Module positions. There are top positions, which are usually over both left and right modules, and also content. This position is good for newsflashes etc. There are many more positions to choose from, and one can create as many as one likes - you can have 30 different positions if you want to.

../Templates/
The Templates are exactly the same as a skin. The Templates are predefined looks, which make mambo look a certain way. The Templates do not control the behavior, though, as in other systems that use Templates - it is a look-only definition.

Explained very simply, a Template is a HTML/CSS document that has code in it which makes it compatible with Mambo. For example, they contain is code for loading the modules of a certain position, code for loading the main body (main content) and so on.

../Mambots/
The Mambots are small scripts that act upon the elements within Mambo. This can be any elements - components, content and all other aspects of the site.

There are many forms of Mambots. The most frequent are content Mambots. These are used like this: you insert {mambot_name} into some content, and the Mambot replaces this tag with the functions of the Mambot. This can be embedding Flash, linking to other content, inserting images etc.