In At The Bleep End
Sunday, October 16, 2005
Hey! Mambo I've spent the past few weeks investigating the open source CMS (content management system) called Mambo, as a potential quickie solution to a problem. The idea behind this and other similar systems is to provide an instant, professional looking website, with many advanced features easy to add by plugging in 'modules'. Some are just glorified blogging tools, but others can be pushed quite a lot further. The 3 big boys in the free CMS stakes are currently Plone, Mambo and Xoops. I can't tell you much about Plone or Xoops, not having tried them, except that Plone is supposed to be the most flexible but also tricky to learn and Xoops is well supported but apparently slow on bigger sites or when many users are present at once. Mambo has its admirers and detractors. After working with it over the last week I'm an admirer, with some reservations. I'm not going to go into every step of installing and working with Mambo, just point out a few issues and hopefully save you time if you try this yourself. Installation: To begin with you need a site which will support PHP and has a MySQL database as part of the package. I used a valuehost account at Supanames.co.uk and it installed fine. I unzipped the "Mambo 4.5.2.3-stable" package, made the required changes to the configuration.php file and uploaded it to my space. When editing the config file, the absolute path is the most likely to cause problems. I got this wrong but was able to deduce the correct absolute path from the error message I got when trying to run it! Once the absolute path was input correctly I ran straight into this error... "DB function failed with error number 1146" Turns out some of my configuration.php still wasn't right, but this error led me to an easier way of setting up this file. Once you have uploaded your files try opening the www.yourdomain.com/installation/install1.php file in a browser and following the setup screens. Components and Mambots: Once you've installed Mambo the first thing you do is dash off to mamboforge to find some juicy components to plug in and play with. Pay close attention to the current status of each project. This will give you clues as to how stable it will be. Make sure you have a nosey at the Bug tracking notes also. These can quickly give you a heads-up about any serious unresolved problems with a component. Simpleboard is a good forum component which seems to be stable Glossary does what it says, sort of. You'll find the up-to-date version here. Also there are a couple of niggling bugs (at time of writing - version 1.7) where you can't add a description when adding terms in the administrator control panel and apostrophe's are given a backslash (just use the other apostrophe under 'Esc' on most PC keyboards). Out of the 2 document management components I have to go with Docman over Remository. Docman's handling of permissions for custom-defined user groups wins the day. Couple of things to note about Docman: Version 1.3 of Docman has a serious bug which stops more than one document being uploaded. To fix this... in When using certain document upload components you may get errors like this... "Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes) in /var/www/html/mambo/administrator/classes/minixml/classes/doc.inc.php on line 598" This may be fixed by adding this command at end of configuration.php... ini_set("memory_limit", "16M") ; ?> The default contacts manager is pretty basic. Peoplebook is a reasonable alternative, but attaching/uploading images to contacts can be broken. It needs 'gd library' installing on the server to do this apparently. I'm not too bothered about this, but if you are then maybe try another component first. Always take a backup of your files and database before making changes. I installed various update files to fix an annoying problem and found it knackered the whole thing. Big Ape Backup is a handy component for this. Make sure you give full 777 permissions to your administrator/backups directory or you won't get everything. There's a Google Maps component that allows you to incorporate a Google Map within your site and add your own annotated markers. Before you can use this you need to sign up for a Google Maps API key (these are free) otherwise it won't work. To add a marker you will need the latitude and longitude of that place. If you find the map always starts centred on somewhere in the southern states of America (Texas I think it was) then you need to scroll through the code of each file in this component until you find the latitude and longitude default value - change this to the lat/long of the desired start location. US users have a few free tools on the web for finding lat/long of US locations. UK users can use www.streetmap.co.uk - you do a postcode search then hit the small link below the resulting map to convert this into latitude and longitude. Group Access is a very useful component which can give you more control over which groups of people get to see what information on your site. It does this by giving you a flexible way of assigning group permissions, which control what appears in the navigation menus for each user. It is only a makeshift solution however. If the restricted user knows, or can guess, the URLs of the items hidden from them, they can still access them directly. TMEdit is a wysiwyg editor you can plug into Mambo, so that non-techies can have layout control of the stories they add (pretty much essential for a CMS as this is one of their major selling points). It is better than the populat TinyMCE in my opinion because it allows the colouring of selected text and the placement of the same image more than once in a story. Other Minor Bugs: Many of the sections can be edited from the front end, as long as you have the correct permissions. Off the bat I was unable to add or edit news items from the front end however. This turned out to be an issue with the PHP/HTML code at the beginning of the template index.php file. If you need to change permissions on certain folders and files to fix parts of mambo that aren't working, you may find you get errors when trying to do this using CHMOD via your FTP program. If this happens, search for a file called foo.php on the mambo forums. You upload the file, launch it from a browser and tell it which folder to unlock permissions for. Don't forget to delete it from the server as soon as you have finished using it, because it is a major security risk. To install a wysiwyg editor manually, if auto install errors, see the first reply here for a rough idea. Where Mambo isn't so good: User permissions grouping is quite basic. You need to plug-in components like 'Group Access' (mentioned earlier) if you need more flexibility. The session timeout function behaves strangely. It isn't an 'idle timeout', it will just kick you out after a fixed period regardless of whether you are active or not. Also, you usually login to the front end in order to then login to the backend. This results in you being logged in twice at the same time. If you get timed out and have to log back in again, you often find it still lists the previous version(s) of you. Then, a few minutes later you get booted out again, probably because one of your other selves timed out? It would be good if you could have personal calendars, contact management etc for each user rather than just versions shared by all. Some of the developer community seem to be in dispute with the team now running Mambo and are deserting to an offshoot of Mambo called Joomla, which is made by some of the original Mambo team. You can find more on this in the forums. At the moment, Mambo seems to have much more going for it, mainly due to the large number of mature components compared to Joomla. This may well change over time if the developers all leave! |