Aditya Nag
Thursday March 24, 2005

This review was first published on Newsforge.com.

Managing even a medium-sized Web site can be a real headache. If you are tired of manually managing content, updating news, and keeping track of old items, then you need a content management system — software that makes it easy to handle the mundane administrative duties of a Web site. A good CMS lets you divide the task of posting content among many relatively unskilled people. The Mambo CMS, released under the GPL, is designed to handle the largest of Web sites, and, in my experience, does so admirably.

I used Mambo 4.5.2 to set up a Web site for my university. The site is used by teachers and students to keep track of schedules, tests, and other information.

The toughest part of using Mambo is the installation, though this is most difficult for those who have never used Linux before. You can also run Mambo on Windows, as long you have Apache, MySQL, and PHP 4.1.2 or higher installed, but the developers recommend using Linux or BSD. I won’t go into the details of the installation here; there is ample documentation on the Web site.

Mambo is not a portal-oriented CMS. You can use it to run a portal, of course, but Mambo is much more versatile. In fact, Mambo is targeted at the corporate market. All content pages are dynamically generated from a MySQL database.

The look of a Web site running on Mambo is defined by a template. Three templates are provided with Mambo, and there are many free templates that you can use, which you can find at sites such as MamboHut and MamboPortal. If you wish, you can pay a designer to design a custom template for your company. There are many design shops that specialize in Mambo templates.

There are two parts to Mambo. The front end is the Web site itself — what visitors see. The back end is where you go to make changes to the site. The back end is complex, and has many features. The good thing about Mambo is that you do not need to visit the back end often. You update content from the main page of the front end.

To handle content management, Mambo has five categories of user. A public user can view only some of the content on Web site. A registered user can view all the content. An author can add content. Editors can add content and edit other authors’ work. A publisher can add content and approve content for publication. This access control system makes it easy to define users. In the Web site I set up, students are registered users, most faculty are authors, the heads of department are publishers, and there are a few specialized editors.

The back end handles the general configuration of the Web site. You can define the look of the site, add RSS syndicated news, access visitor statistics, add newsflashes, mass mail your registered users, and manage any advertisements you may have. You can add additional capabilities to Mambo by downloading components from the Internet.

Mambo allows you to set automatic publishing and expiration dates on your content. This means that you do not have to worry about content staying up after it’s outdated. Simply define the dates on which it should be visible, and Mambo handles the rest. In an academic setup this is useful; old notices that are no longer relevant automatically disappear, and faculty can pre-publish content and have it appear on a particular date.

Mambo lets you insert custom metadata for content, to help search engines rank your content highly. Another excellent feature is the search tracking feature, which keeps track of the searches made on the Web site. You can easily identify what your visitors are looking for and change your site accordingly. Mambo also tracks the usual statistics, such as browser data, date and time, and pages visited.

Mambo uses the concept of sections, categories, and items to organize your content. Sections are containers that hold one or more categories. Categories are containers that hold one or more items, which are the articles that make up your site content. For example, if you were running a technology Web site, you might have a section called Reviews, containing categories such as Hardware and Software. Within the Hardware category, you could store items relating to that category, such as Motherboards or Video Cards.

When you add a new article to your Web site, you assign the article (or item) to a category, and the category to a section. This means that you must think carefully about what sections and categories to create before you start adding content. It is possible to move things into different categories and sections after you have created them, but if you define your content structure at the beginning, it makes for better management of your site.

Mambo includes multilingual capabilities. It is freely available in more than 30 languages.

If you wish to manage your Web site with Mambo, but do not have the resources for your own server, you can find hosting services that provide Mambo. Prices range from $15 per year to $50 per month; you can choose a package that suits your budget. If you need help finding a host, a good place to ask questions is in the Mambo Forums. You can look up this thread for a quick heads-up.

All in all, Mambo is a versatile and robust CMS that is easy to use. It scales well with demand; sites like DevShed, which gets millions of hits per month, run on Mambo. Even if your needs are simple, Mambo is very usable.

Mambo is a sterling example of a successful open source project. It is fully capable of duking it out with the big boys of the CMS world for a fraction of the cost.