Website designers for recruitment, real estate and small business

Interview - Robert Castley of Mambo Open Source
Interview - Robert Castley of Mambo Open Source

Mambo Open Source is one of the many hundreds of content management systems (CMSs) that are available to help Website owners manage the content on their sites. Well known systems include Post and PHP Nuke, the upcoming Xaraya, and Drupal. Like other PHP systems, Mambo aims to allow site owners to spend time improving the content of their sites rather than coding the systems that manage that content.

Having just won the Linux User & Developer Award 2004 for 'Best Linux or Open Source Software', and with a new version (4.6) on the horizon, Robert Castley, the Project Manager of the Mambo Project, was pleased to talk to us about the system.


SP: First, Robert, can you tell us a little about yourself, and your involvement with the Mambo development team? What first got you into software development? What's your programming background? What got you into developing Web-based applications?

I currently work for Macro 4 PLC as a Group Consultant specialising in Output Management. I'm now writing an XML-RPC Web Interface in PHP for our flagship product, Columbus OM. With regards to the Mambo Open Source Project, I am the Project Manager of a dedicated team of 8 people from around the world.

I recently married Debbie and have a 10 month old son called Alfie. These recent changes have had an interesting impact on the time I spend in the Open Source world.

Back in 80's, I attended college and earned a diploma in Computer Studies, which involved programming in COBOL and Pascal, but at the age of 17 there were more interesting things to do! I only really started programming when I discovered Mambo SiteServer, as it was known back then. I wanted something that made my personal site easier to manage and I tried all the usual suspects. It was at this point that I started to learn about PHP and MySQL. I began to create minor add-ons and enhancements, and put them out for everyone to use. The rest, as they say, is history.

SP: How long has Mambo been running? What made you decide to start developing this open source CMS? Did it just start off as a few people working on a small system? How do you manage the project now? What aims did you have when you initially set out?

Mambo has been around since May 2001, although I discovered it at release level 3.0.5. Miro International (the original developers) released two further versions before discontinuing. Once I discovered they had no further plans to release further open source versions, I contacted them and asked if I could continue developing the open source version. They agreed, and I took over the project on SourceForge and continued with development and recruiting. At that point, the name changed from Mambo SiteServer to Mambo Open Source (MOS).

We have now more or less abandoned SourceForge, as we find its reliability does not meet the project needs. In April this year, I started MOSForge.net which uses from GForge 3.2 and is now the main hub for MOS development (along with over 240 other projects, all of which are MOS-based).

The sole aim of MOS is 'Power in Simplicity' -- being able easily to add and manage content on your site. The great thing about Mambo is that it can be used by anyone from Joe User all the way up to Joe Corporate. There are thousands of sites out there running Mambo, some of them household names (e.g. Mitsubishi and DevShed).

SP: There are many, many CMSs available for almost every programming language. How does Mambo set itself apart from close competitors such as Typo3, Postnuke and Xaraya? How could a site owner convert their current site to using Mambo? Why should they think about doing so?

SITEPOINT BOOKS The PHP Anthology: Object Oriented PHP Solutions
By Harry Feucks

Save hours researching solutions to common problems with The PHP Anthology -- your complete guide for practical solutions for common problems.

 Download the free sample now!
Again, it's about 'Power in Simplicity'. It doesn't take Joe User more than 10 minutes to install MOS and create some content. Converting existing sites is usually a simple process – usually a cut and paste of content, followed by a bit of tweaking. I know that some members of the community have already started to write converters from other CMS systems to MOS.

MOS is very quickly gaining popularity in the world and is being adopted by some really interesting large projects. The dedication and the support of the community is huge, and new users are always welcomed warmly.

I hear some great stories about people who demo MOS to others and get them hooked. I'm sure a lot of people download MOS, install it and then wonder what to do with it. We do provide a demo server to allow people to have a play with the software before they proceed to download MOS.

SP: When did you first come across PHP and what made you select it over other technologies such as ASP and JSP, or even Perl/CGI, for the development of Mambo?

I inherited the PHP-centric approach when I took over the project and, because, PHP is widely used and accepted in the ISP arena, there was no reason to move to another language. PHP is becoming more and more popular; I hope Mambo will, too.

SP: How do you prefer to work when developing: long hours broken up by long breaks, steady daily progress, or otherwise? Can you offer any tips to PHP developers with that feeling "24 hours a day just isn't enough"?

I develop as and when I can. My role is split between coding and managing the various MOS sites, and answering questions in the forums. Sometimes I work until 1.00am, but my golden rule is no MOS at weekends (or Friday nights -- that was part of the pre-nuptials!).

That feeling that '24 hours a day just isn't enough' is so true. My tip is that this is open source and it will be ready when it's ready! That mindset can relieve a lot of the pressure caused by timescales and deadlines.

SP: Is Mambo a full-time job? When you're not coding or managing the project, how do you like to spend your time? Does programming impact on your social life in any way?

MOS can be a full time job if you let it. You just have to be strict with your time management and not get caught up it 24 hours a day. I love to spend my spare time with my new family. For readers that do not yet have a family, it's the best thing you will ever do. MOS is not at the top of my priorities, but it's not far off. First is my family, second is myself, third is my Kite Buggying, fourth is my friends and fifth is Mambo.

SP: What are your favourite development tools (e.g. text editors, project management, source code maintenance)? What operating system do you use most and why?

I love 'vi' and I use the Zend IDE (Personal Edition) on the Mac and Windows. We use CVS for all source management. My favourite OS is shared between FreeBSD and Mac OS X (see the connection there?). I use FreeBSD for all my server needs and Mac OS X for all other needs. The remainder of management of the project is handled by MOSForge.net.

SP: One of the core parts of any CMS is the templating system. How is this implemented in Mambo? Have you followed the examples of well known systems like Smarty?

We pride ourselves on our template engine. Templates in Mambo can be created in WYSIWYG HTML editors such as Dreamweaver. Because a template can be comprised of one file, the job of creating or modifying is made even easier. Usually, templates are comprised of the layout, CSS, preview image and template images. To my knowledge, there are over 200 templates available for Mambo. If you visit mambohut.com you'll find an excellent resource for MOS templates.

SP: Mambo has a components and modules system. How does this differ from, or how is it similar to, PostNuke or Xaraya's systems, for example?

Mambo does have a components and module system and, in 4.6, we'll introduce a plug-in system as well. We also have a web-based installer for CMT's (Components, Modules and Templates), whereby all a user has to do is point at the CMT zip/tar.gz file they have downloaded -- Mambo takes care of the rest.

There are many CMTs available for Mambo, including forum solutions, ecommerce, bug trackers and more. There are also many commercial offerings springing up now.

SP: What are your plans for the current version, the version in development, and for the future? How will Mambo stay ahead of the rest?

We are working really hard on 4.6 now, to try and get it to a beta state. 4.6 is the stepping stone to 5.0. We want people to be able to move to 5.0 easily in the future, and this would not be possible for those using current versions. We have consolidated the CMT installer, which is now able to handle multiple uploads in one file (historically, users had to upload CMTs individually).

We have also strived to make the front end xHTML compliant, and we've made some significant performance improvements. One of the most welcome changes is the introduction of language support for the back end (we have had language support for the front end for some time now).

SP: 5.0 has been heralded by some as the most revolutionary CMS solution available today. 4.6 includes some of the 5.0 technology but there is more to come. What can you tell us about 5.0?

We have been playing with some new toys, most notably XML-RPC. We've been working very closely with John Heinstein helping develop and test the DOMIT XML-RPC client/server which will be core in MOS 5.0.

The DOMIT XML parser plays a major part in the MOS 5.0 engine. DOMIT is being used for the XML-RPC client/server, the parsing of templates and building menu structures.

XML-RPC is initially being implemented so that multiple sites can be administered remotely from a single location. This basically means that installations of 5.0 will involve the installation of the front end on remote Web servers, and the installation of the administration (Codename RAMBO – Remote Admin for MamBO) part on a local computer.

Also, MOS 5.0 will provide users the ability to display core content from other MOS 5.0 sites easily via XML-RPC.

Another significant change is the introduction of MOS Elements, a.k.a. MOSETS. MOSETS are the merging of components and modules and aim to reduce the common confusion between a module and a component. This change will make designing a template even easier.

XML-RPC will open the door for many exciting developments of MOSETS. A couple of possibilities are listed below (please note the following are provided for example purposes only):


A Systray application for Windows that monitors your sites using a simple ping methodType set to, for example, every 10 mins (small impact).
Elements could interact with each other: e.g. a shop element could bring in products from another site (allowing cross marketing and fertilization).
The admin interface need not necessarily be written in PHP any more. You could use a Java, ASP, Perl, KDE or Python interface.
A Windows-based content editor could be developed to allow users to add/submit/edit content. Users might create content offline, then synchronise it with the site at a later date.

MOS 5.0 will also bring with it better user and group management (Access Control Lists – ACL) with the integration of phpGACL. As phpGACL also relies upon ADODB for the database abstraction layer, this means the 5.0 will be able to support other types of database (e.g. MS SQL and PostgreSQL).

SP: You have spent endless hours coding and supporting customers for free. What is your motivation for doing this? Do you plan to ever make money out of this project?

Pride and sense of achievement! We were recently recognised when Mambo won the Best Open Source Software at the Linux Expo in London earlier this year.

I started out working on this project because I needed to, then I did it because I liked to; now, I have to. Many, many people rely upon MOS and that in itself is a huge honour. We have a saying: the impossible, we can achieve; it is the miracle that takes us a longer. 5.0 will be our miracle.

The subject of money is always being raised. There are plenty of ideas floating around and maybe one day something will become of them.

SP: Thanks for your time, Robert. Is there anything you'd like to add?

4.6 will be ready when it's ready, and 5.0 will follow... trust me!

< Prev   Next >