Ladies and Gentlemen, this is Mambo

Posted by Justin on July 13, 2005
Websites

A long time ago, on a continent far, far away, I wrote a custom Content Management System (CMS) for a website in three weeks. Needless to say, when I closed the website, I decided I never wanted to do anything like that again..

After re-branding the website, setting up the template that I wanted to use and knowing what content I wanted, I decided it was time to start the daunting task of looking for a CMS. After a few hours, I just about gave up to recode one, but then I found OpenSourceCMS. This was a great website that allowed me to look over all kinds of Systems that had user reviews as well as reinstalled demo’s of each system they reviewed - talk about awesome!

The Decision
After looking at a few CMS’s, I narrowed it down to 3. Geeklog, Mambo and Drupal. Geeklog quickly got eliminated due to its bulkiness and narrow minded nature - it just wasn’t for me (you can flame me if you want…). Drupal looked pretty nice and it had a great user following, but it just didn’t have the features I required. This left Mambo. I did a heck of a lot of research on it to determine if it was right for me. If it didn’t work, I would write my own - again…

My Requirements:
Templating was my biggest required feature. Most systems had a templating system of some sort, but some where more complex than others. Mambo’s system is so much easier than, say, WordPress’ system. As a “for instance”, Mambo doesn’t require me to cut my template file up in tiny pieces like WordPress would.

Plugins are a requirement since the user community will no doubt create something that I can use. On top of that, I should be able to create plugins that I can throw out to the community. Mambo also offers a Dreamweaver plugin so I can just push buttons to help setup the Templates - awesome! Don’t get me wrong, I love to hand code, but after awhile, hand coding HTML and PHP just takes too long. Since the tags are standardized, this is a perfect time saver.

Ease of use should be an obvious requirement. As a for instance, Mambo offers template uploads via webpage - no FTP, SSH or SFTP client needed, I can literally upload a zip file and I’m done. I don’t even need to use an FTP client. See problems below…

Large content blocks are required. When I say “large”, I mean thousands of pages. I’ll also be utilizing sub-domains, MySQL content, etc… I’ll also need to use the system to insert HTML content, Banners, and all kinds of other stuff.

Installation
Installation was pretty straightforward. I downloaded the Zip file (sorry, my main development box is Win2k for the time being) and uploaded it to my webserver. After doing this, I went to http://mywebsite.com/installation and proceeded to follow the prompts.

Problems
While the install went flawless except for a MySQL problem caused by myself, there where a few problems later.

Lack of proper template documentation
The first problem was pretty easy to get around, I found a site called MamboSolutions that had a nice tutorial that included a DreamWeaver plugin to help speed along the whole process of setting up my template.

Directory Ownership
The second process was caused by Mambo entirely. I may decide to contribute to the project to fix this bug, if I have time. Basically, after using the Upload Template feature, it decided to CHOWN (change ownership) to “nobody”. This basically means that nobody but nobody has write access to the files it uploaded… Well, even though I have SSH access to my webserver, this caused a support ticket to be opened to change the ownership back to “me”. After doing so, it didn’t break the process of displaying the template.

No way to test your template
For the third, this would be a nice feature, but isn’t there. Again, I may contribute if I have time. I cannot test a template I have for looks and feel without it being completely public. This means if I decide to look at it while people are browsing, one second they’ll be looking at the current site and with the next click or refresh, they’ll be transported to a new template.

Now, I do have a few test servers as well as the MSAS (Mambo Stand Alone Server), but duplicating content on both is more than a pain I wish to endure, which leads me to the next option.

Note: Fixed 07.23.2005

No true backup mechanism in place
By default, there is no way to backup the entire website you have created other than manually FTP’ing the data back to yourself and grabbing all the data out of the MySQL DB. Even then, restoring may not work if you change server variables and such. There should be a backup and restore wizard that helps with all of this - again, if I have time…

Arg! I have to customize my data input screens!
Once again, I have to design a content system, at least its only partially this time. While Mambo is powerful, it does not contain the options necessary to input specific data. Again, unlike most, I’ll just design a component instead of bailing on the install and starting from scratch with something else that won’t work either…

In The End
I could go on listing features of Mambo, but that isn’t needed, you can get Mambo features from almost any website that talks about it.

Its been a good fit, but can have a pretty steep learning curve. My main problem after installing was disabling all the content blocks that the example site has. There where so many, it took an hour to figure out all of them.