Psst... Want to hear about the technology that's been giving web geeks rock-hard nerd-ons? It starts with a J and ends in an exclamation mark...
Joomla! (available at joomla.org, pronounced "Joom-LAAH," and with emphasis) is an open source server-side Content Management System (CMS) that has several really unique aspects to it. As opposed to a visual WYSIWYG development tool like Adobe Dreamweaver, Joomla! is an integrated web framework that is accessed and maintained entirely via the Internet using preselected template designs. While it might be a bit more effort than it's worth for people just wanting to keep a blog, Joomla! is a revolutionary system that lets you add insane levels of functionality to your website with (almost) no coding skills required. Want a forum? Just go to extensions.joomla.org and look through the variety of open source and commercial add-ons available. Installing one is as easy as logging in to the special administrative interface, going to the module manager and using a form to upload a zip file. Multi-user blogs are also possible, as are image galleries, feed readers, instant messaging systems, online shopping carts, statistical analysis packages, event calendars and tons more.
I've done a bit of freelance coding in the past (including the present design of thegauntlet.ca) and I can quite honestly say that Joomla! has totally blown apart my approach to implementing web technologies. I used to try to mould blog systems (such as WordPress) to fit the needs of whatever I was doing and it would take me several hours to get even a basic design out. Joomla! allows the creation of functional multi-user websites in an absolutely insignificant amount of time. When asked to create a website for one of my classes, Joomla!'s simple installation and ease of configurability allowed me to have it partially online before even the announcements were over. I managed to create over seven websites in the last semester alone while taking a full course load, largely because of this technology. Though it might take a little while to get the hang of it (especially if you're foolhardy and tend not to read documentation, like myself), Joomla! essentially opens up high-level web development to ordinary people. While being able to design in HTML/CSS is a skill that definitely translates well to Joomla!, the large number of templates allow administrators to find a layout that works and then easily customize it to preference.
This is a dramatic advance forward in democratizing the Internet. Well-designed Web 2.0 technologies such as Joomla! (and its close rival, Drupal, available at drupal.org) enable ordinary people to implement their ideas online without having to pay anything for software acquisition or implementation. Joomla!'s open source philosophy allows users to install it on their webserver free of charge; users pay for support and for unique modules released by companies that are specialized for that purpose. However, it is its ease of use that makes Joomla! truly revolutionary. Say you have a small calendar module that sits in the right sidebar of your website. Using the administrator interface, you can enable and disable its visibility, change its order in relation to other modules in the column or even move it to a different spot -- all without ever having to look at anything resembling HTML code. Doing any of that manually is not an insignificant task, with the potential to screw up the entire layout of the page. Furthermore, because the user never has to look at the code, it's far easier to undo mistakes and not make them in the first place. Many hours have been wasted by many good people hunting down errant semi-colons in PHP code that cause the entire page to error on load. The Joomla! community is full of awesome programmers; they essentially do all that work for you and usually release it for free. It totally defies logic at times, but goddamn if it ain't cool.
That said, there are some hardware requirements. Your webserver needs to have a recent version of PHP and you must have permissions on a MySQL database. Often the best way to do this is to chip in with a few friends and buy some space at a commercial webspace provider like Dreamhost (around $120 per year, though they have a script to install Joomla! with one click and give more space and bandwidth than you'll ever know what to do with; dreamhost.com). However, Students' Union clubs can apply for free advanced web-hosting from the university in place of the standard, HTML-only version they get by default, provided there's a demonstrable need for it. Clearly, those snazzy forum and image gallery components designed to display drunken photos from your club's last camping trip fill a massive institutional void, and thus you are more than justified to read the requirements at wcmprod2.ucalgary.ca/it/web/hosting/application and send a message to email@example.com requesting, nay, demanding that your club be allowed access to the latest and greatest collaborative software the Internet has to offer.
Next column, I'll go through a listing of the most useful (and free) Joomla! modules out there. There are loads publicly-available modules covering a ridiculously wide range of functionality, and sometimes it's a bit daunting to install six different news scrollers to see which one looks nicest. Read next time, and you won't have to.