Technology

Joomla!: 'So awesome, they spell it with an exclamation mark

Publication YearIssue Date 

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 www@ucalgary.ca 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.

Tags: 

Section: 

Issue: 

Comments

Unfortunately, you appear to be misinformed. Joomla(!) is not giving "nerds" like me hard-ons, but *headaches*. As soon as you try to do something slightly complex with Joomla - such as columns, or navigational menus or god forbid things like IM systems like you mentioned - life becomes an absolute hell. Joomla's interface is not intuitive at all, and unless you really have the hours available to spend riffling through the documentation, it's never going to make sense. Even then, it's still convoluted.

Joomla(!) also encourages very bad HTML... I can see with this site you're using tables and nice tags. For those of us who are concerned about having our code be standards-compliant (meaning it adheres to the currently widely accepted standards for HTML code and thus has the greatest chance of being compatible with all browsers for some time in the future), Joomla is pretty unacceptable.

I recommend CMS Made Simple for simple projects. It has a significantly better online interface, and has a better-written, less buggy collection of plugins you can mod it with. On a technical note, it uses Smarty Templates to great success, meaning that the code is clean and simple, easy to write and easy to mod.

Great article.

I'm a designer at heart and started using Joomla! for it's ease of use and ability to install basically any functionality I need via extensions, modules and plugins.

Since my beginning with Joomla! I've taken on a lot of larger web projects that require very specific functionality not available from existing extensions. So I jumped into learning the core framework. It was very daunting at first, especially since my background is in design and not development. But I have to say, now that I've learned the basics of the J! framework I can build sites that I never would have been able to without the framework.

Joomla! is an amazing project lead by some of the smartest people on the web.

I really wonder why Joey said that the Joomla "interface is not intuitive at all" -- it is actually very straight-forward and well documented in the online manual. While there is a learning curve to understanding the core framework of Joomla, that's only required if you've got to create a customization for your website which may not be the case at all times.

Why is the Joomla(!) UI not intuitive at all? Let me illustrate:

How is it *intuitive* to have four different things that all use a word that effectively mean the same thing to actual web programmers (modules, plugins, extensions, and components), and throw in one word (that is apparently an old word but still used) - mambots - that no one can figure out on its face?

How is it intuitive to have to add pages to a menu before they can be visible to the public, even if you don't *want* the page in a menu?

How is it intuitive to have *both* Categories *and* Sections, when ONE would do combined with a hierarchical page structure? (I have a feeling that pages in Joomla aren't hierarchical because its a tough thing to code.)

How is it intuitive to have to have a page in the back end for "All Content Items" where it doesn't display *all content items* such as "Static" content items and "Modules", which apparently (and counterintuitively) could be considered "content" items themselves.

Just because you can eventually figure your way out of the labywrinth, doesn't mean you should go into the labywrinth in the first place.

Well, I gotta say I like it. I am very web-design illiterate and have no desire to spend time learning the ins and outs of it. I use Publisher a lot and have found Joomla! to be somewhat similiar. Being a small business owner and wanting to have a presence on the web, Joomla! has made it possible for me to have a web-page with as much functionality as I need. I'm able to manage, change it, update pictures anytime I want without having to get someone else involved. I think it's a great tool for anyone who wants to be on the web, but doesn't have the resources or the time to invest in complicated web-design -especially when that web-site is not a big part of who they are. I'm sure I haven't tapped into all it can do, but for now, it's been a fast, effective way for me to get started.

I would also have to disagree that Joomla! is a good product. WordPress or Drupal are much better and less buggy.

I have developed a few Joomla modules myself that have become popular with previous versions of Joomla. However, with the most recent release it has become overly complex to create simple search engine modules and components.
It may be easy for those just using it for simple websites, but if you'd like to build a fully developed website it's a lot less stressful to develop one yourself.

I have been involved with web design for over 12 years and I have come across many opensource projects that make creating websites much easier for the man in the street.

Joomla is my number one choice for one simple reason.

Support for anything you ever want to do is easy to find and readily available.

Other than that, it's one of the longest lasting, fastest growing projects out there and it only gets better by the day.

Joomla! Because making your logo comply with standards used by the standard Open Source GD library is so hard using Open Source tools.