David Mytton

Interview – Robert Castley of Mambo Open Source

Published (updated: ) in Uncategorized. Tags: .

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

Having just won the LinuxUser & Developer Award 2004 for ‘Best Linux or Open Source Software’ and with a new version on the horizon (4.6), I talked with Robert Castley who is the Project Manager of the Mambo Project about the system and the future of CMSs.

1. Firstly, Robert, can you tell us a little about yourself, and your involvement with the Mambo development team? What first got you into software development and what is 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 am currently involved in writing a 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 am recently married to Debbie and have a 10 month old son called Alfie. These recent changes have had an interesting impact on my time spent in the Open Source world. 
Back in 80’s I attended college and took a diploma in Computer Studies which involved programming in COBOL and Pascal, but at the age of 17 there were other 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; I tried all the usual suspects! It was only then did I start to learn about PHP and MySQL. I started creating minor add-ons and enhancements and putting them out for everyone to use.  The rest as they say is history.  

2. How long has Mambo been running and 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 version before discontinuing.  Once I discovered they had no further plans to release any 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. It was then the name changed from Mambo SiteServer to Mambo Open Source (MOS).
We have now more or less abandoned SourceForge as we find the reliability these days does not meet the project needs. It was in April this year I started MOSForge.net which uses GForge 3.2 and is now the main hub for MOS development along with over 240 other projects which are all MOS based. 
The sole aim and goal of MOS is ‘Power in Simplicity’ – being able to easily add and manage content on your site. The great thing about Mambo is that it can be used by 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. 

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

Again, ‘Power in Simplicity’. It does not take Joe User more than 10 minutes to install MOS and create some content. Converting existing sites is usually a simple process, mainly a cut and paste of content, followed by a bit of tweaking. I know that some members of the community have already started writing converters from other CMS systems to MOS.

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

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

4. 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? What is it that you like so much about PHP?

 PHP was inherited when I took over the project and because PHP is widely used and accepted in the ISP arena then there was no reason to move to another language. PHP is becoming more and more popular, hopefully so will Mambo. 

5. 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 now, that was part of the pre-nuptials!). With regards to ’24 hours a day just isn’t enough’, it is so true, my tip is that this is open source and it will be ready when it is ready and by that you can relieve a lot of pressure of timescales and deadlines. 

6. 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. In my spare time I love to spend QT with my new family. For those reading this that do not yet have a family it is the best thing you will ever do.  MOS is not top of my priorities but it is not far off: first is my family, second is myself, third is my Kite Buggying, fourth is friends and fifth is Mambo.

7. 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.

8. 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 also pride ourselves on our template engine. Templates in Mambo can be created in WYSIWYG HTML editors e.g. Dreamweaver. Also because a template could be comprised of one file then the job of creating or modify 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 out there for Mambo.

9. The same question for the modifications/plugins system. You have a components and modules system. How does this differ to, 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 are introducing 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 and Mambo takes care of the rest. 
There are many CMTs available today for Mambo including: forum solutions, e-commerce, bug trackers etc. There are also many commercial offerings springing up now. 

10. What are your plans for the current version, the version in development and the future? How will Mambo try to 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 in the future easily and this would not be possible with current versions. We have consolidated the CMT installer into being able to handle multiple uploads in one file. Historically you had to upload CMTs individually. We have also strived to make the frontend xHTML compliant. We have also made some significant performance improvements as well. One of the most welcome changes is the introduction of language support for the backend, we have had language support for the frontend for some time now.

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

We have also been playing with some new toys, most notably XML-RPC. We have 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 use of the DOMIT XML parser is playing a major part in the MOS 5.0 engine. DOMIT is being used for currently being used for the XML-RPC client/server, parsing of templates and building menu structures.

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

Also MOS 5.0 will provide the ability to be able to easily display core content from other MOS 5.0 sites 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 therefore hopefully reducing the common confusion between a module and a component. This change will mean designing a template will be even easier.

XML-RPC will open the doors for many exciting developments of MOSETS. A couple of possibilities could be (please note the following are 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 (cross marketing and fertilization).
  • The admin interface need not necessarily be written in PHP anymore. You could have Java, ASP, Perl, KDE or Python one.
  • A Windows based content editor to add/submit/edit content. Create content offline and then synchronise 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.

12. 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

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

I started out doing it because I needed to, that then faded into because I liked to and now it is because 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 miracles that takes us a bit 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.

13. Finally, is there anything else you would like to say or add?

4.6 will be ready when it is ready 😉 5.0 will follow … trust me!