Migrating to the Mambo Content Management System

I spent the last few days migrating my old website to the Mambo content management system (CMS). My decision to move to a CMS structure was driven by the fact that it will allow easier updating of my website contents, since I often needed to list a new publication or add a new working paper. I also wanted to integrate my blog (currently on WordPress) into my own website. After spending more than 40 hours, my new website is starting to take shape. The short-term investment of time into the transition proved to be much more than I had initially expected. However, I can also see hours of time saved in the future because of this transition. Here I would like to discuss my experiences and a few things that I learned along the way.

Installation: Installation of Mambo was a really easy step. Rather than downloading and unzipping the package and then trying to ftp everything to the server, I found it’s much easier to do the downloading and installation remotely. You will need to be able to Telnet into your host server. Once there, go to the directory that you would like to install Mambo in. Then issue a command “wget http://internap.dl.sourceforge.net/sourceforge/mambo/MamboV4.6.2.tar.gz”, which will download the installation file onto your server. As the software gets updated in the future, you will need to change the link accordingly. Once the file is successfully downloaded, issue another command “tar -xzvf MamboV4.6.2.tar.gz”. (Again, you will need to change the file name if you are installing a different version of Mambo.) This will unpack the files onto your server. The rest of the installation process can be done easily through a browser, which is described in the Mambo’s installation guide.

Look and Feel: The original Mambo package contains a few reasonable templates. You can also download additional Mambo templates for free. If a preset template is all you need, you can handle the look and feel part very easily, which is a real virtue of the system. For me, since I had much more specific ideas of how I want my website to look like, it took me a little while trying to tweak the CSS file.

Architecture: This is the part that took a lot of my time. I wanted to design an architecture that is user-friendly and at the same time will allow me to update the site easily in the future. Being unfamiliar with a CMS style of thinking, I had to spend quite some time figuring out how to separate a page of stuff into content items and then how to assemble the items back into a seamless page. So I would recommend anyone who is about to go through this same transition to plan out the architecture ahead of time and to read more about CMS before starting. Mambo Administrator Manual would be a good starting point.

Adding Contents: Once a proper architecture is set up, adding contents is very easy, involving mostly repetitive copying and pasting work. One thing to keep in mind is that Mambo requires all dynamic contents to belong to a category within each section, but the administrator interface does not allow on-demand creation of a new category or section within the content creation page. Therefore, I would recommend opening the administrator interface in three separate windows, using one for actual content writing, one for section manager, and the third one for category manager. Alternatively, you can also plan out all your categories and sections ahead of time and add them all at once to avoid switching back and forth.

Menu Items: This should have already been figured out in the architecture design stage. The most difficult part of this step is to understand the terms Mambo uses for different types of menu items, with each type creating a different type of page when it is clicked on. I found it helpful to simply add the different types of menu items into the menu bar to see how each one behaves. It helped me determine which type suited my needs the best.

Blog and RSS: Setting up the blog page is very easy and is not too different from setting up the other pages. The only problem that I encountered and which I have not been able to find a solution for is to have a RSS feed only for blog entries. Mambo comes with a syndication module that creates an RSS feed automatically for your site. However, the RSS feed is based on new contents that are added to your front page. I found a useful page that shows how to limit RSS to only blog items on the front page. However, as my blog resides on a different page, that did not help me.

Overall, the transition from old HTML to Mambo CMS was a challenging and at the same time fun process. The benefits that I foresee from using this CMS is the dynamic way it generates page content, so that changes in a content item can be automatically reflected in the site structure. I can also easily change the category or section membership of a content item to move it around. For example, if one of my working papers gets published, I can easily reassign it to the publications category to show up in the publication list instead. This is something that would have involved much more work in the static HTML environment. Although too early to tell, I have the feeling that the time spent on this transition will be well worth it in the long run.

Good things are better shared!