Why some web applications are more usable than others (part 3)
April 4th, 2008 | by David |So I had my local Joomla! test installation and it was working fine so far. The next step was to transfer the installation to my public web host. It’s a classic LAMP multi-user host with PHP4 and MySQL. Nothing to expect any problems from…
Copying the files and database worked just as well as expected. I had the CMS up and running on the external host after 10 or 15 minutes of uploading, checking and adapting the configuration. The performance was ok, too. I added some further content and was satisfied with the results so far.
Extending Joomla!
The frustration followed when I tried to install additional plugins. My web host uses the inglorious Safe Mode and it cannot be deactivated (and I cannot switch the web host so easily either, so I’m kind of stuck with it), so there is no way around it. I would also accept the fact that Joomla! just does not work with the Safe Mode – but the documentation does not say so! In fact there are some hacks and plugins that allow installing Joomla! in Safe Mode, but they do not seem to work for everyone, and they are apt to be pure pain.
What bugs me even more than the fact this is not working is that it handles the failures extremly badly in my opinion. Let me give you an example of a simple plugin installation that goes wrong:
- I started by uploading a package file through the weg interface – this just didn’t work at all, probably because it could not be decompressed or whatever. Ok.
- I tried to manually upload a package to the web host and install it from there. This resultet in some error messages telling me that this or that folder had no write permissions.
- Creating the folder and providing write permissions would not work either – then the installer complained that the folder already existed
- You truly have to give write access to nearly all folders of your Joomla! installation to allow the installation of extensions! Now it could create the folder and copy the files, but failed to copy another plugin package because it was already there!
- Deleting this other package became very interesting too, since deleting files created by the web server does not work through FTP in safe mode. The solution was a quick deltree-like PHP script.
- After some further failed tries I decided to give up the automatic installer take a look at the installation script.
The installation script is quite simple: some uncompressing and copying of archives with folders inside and a few lines to be added to the database.
Doing it manually
As someone who has been used to installing phpBB MODs just the manual way for years I have absolutely no aversion to copy a few files and add a few lines to the database (this could even be done easily through a provided little script). But Joomla! just does not allow to do this – at least not officially. They seem to be so proud of their error prone Extension Installer, that it does not come to their mind to allow anything else.
An extension installer that is not failsafe (e.g. providing fallback mechanisms if something goes wrong) is bad. Some unexperienced user could ruin their whole installation just by trying to install an extension the way it is suggested!
This makes Joomla! maintenance just a little better than DotNetNuke maintenance, but they are close. I don’t know what I had done if my Joomla! installation had gone down the drain too. Perhaps I would have tried typo3.
After this experience the way to upgrade or extend your Joomla! installation on a Safe Mode web host is clear:
- Copy your Joomla! installation to a local XAMPP or whatever environment with less restrictions
- Install everything you need
- Move it back to the other server
- Don’t forget to do backups!
Fortunately (at least they got this right at Joomla!) the database and path configuration is stored in a single text file, so you can move everything else and it will keep working.
Software that does this better
By the way this was my first bad experience with Safe Mode during the last 4 or 5 years. Just recently I installed phpBB 3.0 on another web host like this (it was even an upgrade from 2.x) and it just worked. IT JUST WORKED. The phpBB guys make sure that their software works on nearly any web server configuration and this is what makes their product so successful. Joomla! looks great and has lots of useful features, but in that respect the maintainers still have a lot to learn. Learn about why some web applications are more usable than others.