Joomla - An Open Source CMS worth looking at.
Joomla is an open source CMS system (CMS stands for Content Management System). I'm currently using Joomla to develop a number of themed web sites. There is a Christmas site, a recipe site and a travel site. Joomla has adapted nicely to each of these themes.
Generally CMS systems are extremely pricey and somewhat complex to use. I've found Joomla to be quite easy to use and now a month into using it I am really starting to appreciate it. If you don't feel like using a simple page development tool and binding pages together by hand, then you should look at a CMS system. From what I've found, Joomla seems to be moving forward the quickest. I am currently using version 1.0.11 which is the latest of the 1.0 line.
Never use 1.0 software, that's what people will tell you and for the most part, that's true. However in the case of Joomla we must remember (or perhaps it's my job to educate you) that Joomla's roots (at least the 1.0 version) are in another CMS system Mambo. In fact, if you are familiar with Mambo, Joomla will be second nature (and the other way around).
Joomla is organized in menus, sections, catagories and items. It fits together kind of like this (general, remember this isn't a book, it's an article). A menu can link to a section, category or item in a number of ways (table, list, etc). A section can link to a category. A category can link to a number of items. So, if you need to organize your website by menu's or tabs, this is ideal. Of course there is much more to joomla than that, but that is the first thing you'll end up doing...just like I did.
Joomla extensions, templates, plug-ins, components One of the things I love about Joomla is the wide assortment of plugins and templates available for it, both commercial and free. I found a site, joomlahacks.com which has a ton of these things (over 200 freely downloadable templates). I found one that was appropriate for each of my sites and with a little modification (you are allowed to modify most templates as they're part of the GPL) GNU Public License, or LGPL (lesser GNU public license).
Components that I am using are the metataggenerator component (downloaded) and the SEO component (allowing more google readable url's for my web site. Also, like I said I'm using a differently downloaded (and personally modified) template for each of my sites. My sites are Christmas, Recipes and Travel. There are a couple more, but why go into those details.
If you go to joomla.org, you can actually test drive the software. I did this before setting up the christmas site. I wanted to be sure that joomla was right for me.
They've set up a joomla based server and give you a demo account to play with. This is great to get a feel for the software. I think the site gets reset every 30 minutes or something, so don't expect your content to stay there. Also, please please refrain from spamming on this website! The joomla folks have been good enough to give us a great product and let us try it out live, please don't take advantage of their good nature by putting spam up there.
Which technologies does Joomla use You could also call this section "what does my webserver/hosting package need to run joomla"?
- PHP, joomla is a PHP based system. If you don't know what PHP is, you should search around a bit. It's a language for web development (I believe loosly based on perl) which can have html embedded in it. I personally compare it to Java jsp's. I needed to do a bit of PHP modification on the travel and recipe sites to make things fit properly, but this is not the fault of the original templates or Joomla, I just wanted a bit of a different look.
- MySQL, joomla needs access to a mysql database. It's installs will create it's own tables, but of course you need to have the appropriate permissions to do this.
That's it...although, if it is running on an apache web server it also makes the SEO stuff work better as you can (possible depending on your hosting) change the .htaccess file to rewrite urls appropriately.
Linux makes a nice joomla platform, but there's no reason why it can't run on any platform which has the above capabilities.
On my host (godaddy) it was dead easy. I just downloaded joomla to my pc, uncompressed the zip file, then uploaded the joomla stuff to the appropriate directory on my server. From there, I tried to acess that directory via the web browser and voila! Up comes the installation screen. I simply followed the instructions and there it was. Perhaps I'll write another article on installing joomla on godaddy (a more current one than the old ones I found which scared me away from doing this at first).
Performance I don't have much of a frame of reference for this. Also my templates are a little heavy on the glitter. I'd say it's reasonable for what it's doing and obviously the faster the cpu and the more bandwidth your provider gives you the better joomla will perform.
Future Joomla 1.5 is now in beta, when it's considered production ready you can be sure I'll be installing it (on a test site) and seeing what's new!
Here are some websites that I've done with Joomla, feel free to kick the tires (from an end user perspective).
Try Joomla out for yourself. Keep checking back here for future reviews on the other free products I used to put gocurious travel, gocurious christmas, gocurious recipes and gocurious books on the net.
Short note about the author
John Childs is a software engineer with 30 years experience. He has seen the landscape of computing change from the days of no personal computers and mainframes which took up entire rooms to the ipod shuffle (the clip on one)...amazing stuff. He's spent the last 10 years working on the Java platform and is a strong advocate of Java technologies.