Book Image

Learning Mambo: A Step-by-Step Tutorial to Building Your Website

Book Image

Learning Mambo: A Step-by-Step Tutorial to Building Your Website

Overview of this book

Mambo is a mature and fully featured open-source Content Management System (CMS). Mambo is easy to use at the entry level for creating basic websites, while having the power and flexibility to support complex web applications. Mambo implements the core requirements of a full-featured CMS. It has a powerful and extensible templating system, user access control, content approval, rich administrative control, and content display scheduling. New features and extensions are added to the core system, with many more being available and supported by the community. This book targets the 4.6 release of Mambo, and takes you through creating an example website. Beginning with a discussion of the requirements for the example site, the site unfolds as you progress through the chapters, learning more about Mambo, and how to complete the tasks needed to build the site. You'll see the basic configuration options for setting up your site, and learn about Mambo's main elements as you work your way around its web-based administration area. As soon as you're familiar with the general principles and behavior of Mambo, it's time to pile on the features for your site; adding modules and components, uploading images and other resources, and managing templates. You will learn to use Mambo's powerful Universal Installer to effortlessly install add-ons that are not part of the standard distribution. The pages on your site, how they are displayed, and who can see them, are determined by Mambo's menu system. With many examples of the different types of menu items, the book will lead you through the important tasks of creating menu items, and help you understand how these choices structure the pages on your site and ease your visitors' navigation. You will see how to organize and enter your content into Mambo, and how to manage and edit this organization and your pieces of content. As we tackle user management, you will see how Mambo allows you to set up user accounts with different permissions, including a set of special users who can author or edit content. We also take a detailed look at the notifications that occur when content is submitted by these users. This analysis reveals how the Mambo publishing workflow process works, and how you can exploit it effectively. Moving on from the standard Mambo features, we look at some third-party extensions that add powerful discussion forum, event scheduling, and image gallery features to your site. To create a new look for your site, you create a new template. We cover this, and even if you're no expert in web design, you will be taken through a number of basic tasks to create an impressive new design for your site.
Table of Contents (18 chapters)
Learning Mambo : A Step-by-Step Tutorial to Building Your Website
Credits
About the Author
About the Reviewer
Preface
Installing XAMPP

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.