Colin Charles Agenda

Some notes: Joomla! Day Malaysia 2008

I would’ve written sooner about Joomla! Day Malaysia 2008, but I spent most of Sunday cringed in between the bed and the toilet. Here are a bunch of quick notes I took at the event, with some thoughts tacked on to it.

Overall impressions? It was good for a Joomla! beginner. While I would consider myself a Joomla! beginner, I’ve seen many a CMS and maybe am a tad bit jaded. There is a great amount of interest in Joomla! – about 200 people registered for a paid for event (not cheap either – RM70 for a Joomla! forum member, and RM150 for regular visitors). So there’s definitely money to be made in Joomla! and CMSes in general.

Location? This is the first time I’ve been to the rather infamous Cititel hotel, tacked to MidValley. Held at the 5th floor, I noticed that people were allowed to smoke within the corridors. I consider this a massive FAIL for a hotel – a smoke free environment within air-conditioning is so much better. I couldn’t find a single power socket, which was rather woeful considering I’d have wanted to write more notes had my battery lasted longer. WiFi seemed non-existent, but I had my broadband modem.

On to it. The day started of with Toby Patterson, from Green Mountain Information Technology and Consulting, a joomla.org developer for the last year and a half, and all round nice guy, who seems to be based in Thailand. It was an introduction to Joomla! 1.5, in where I learned that Joomla! finally makes use of UTF-8 by default.

The templating system is simple: it just makes use of HTML and PHP. I was wondering if it also made use of CSS, so a quick Google showed me that it did (duh to me!).

I then learned that Joomla! is really three separate, yet related applications:

Apparently, you can use the Administrative app, without ever touching the Site app. Interesting.

In Joomla! 1.6, access control lists will exist. I’m wondering, why not just use database GRANTs, but from what I understand they want some group grants and so on…

Today, you can authenticate against your GMail account. I’d also like to presume that OpenID is supported (a quick Google sort of tells me it is) . Apparently, there is also logging in against LDAP.

Next up, I found out that azrul.com isn’t actually a one man show, but an eight person company! They describe themselves as “The Joomla Expert” (really, should be experts now!), and one of their most popular products are Jom Comment.

Its interesting to know that the Joomla! community has got an active amount of extensions, and some are commercial while some are open source/free. A lot of the extensions also have a similar Enterprise/Community model attached to it.

There was a HOWTO install Joomla! which seemed easy enough. The guy from azrul.com, a Mark, mentioned that you could use ext/MySQL or ext/MySQLi, and mentioned that you get some benefits from ext/MySQLi, but didn’t go deeply into it. During the example, he went on to use ext/MySQL, so during the Q&A, I chimed in on why ext/MySQLi would rock harder.

Later on, I found out that Joomla! URLs by default are not human readable, so you have to use some form of plugin, to enhance your SEO. The speaker, Syed Ahmad Fuqaha mentioned that his site had a Google PageRank of 3 when he started, and its now moved up to a PageRank of 5 after using SEO tactics (kudos! I wonder if I should apply some SEO magic to my blog and get it up from a PageRank of 6 to maybe a 7? I wonder if I’ll even be bothered…).

The SEF-url engine comes with every installation of Joomla!, but it has no URL caching (so the server will take the load). It can work with or without Apache mod_rewrite. A cached URL is created and saved in the database… its faster, there’s a little overhead to parse the URL, and it requires a single database call. Apparently, the preferred magic is: sh404SEF.

There was good chat on security, and while I’ve not audited the Joomla! code, its safe to assume that an SQL injection means the code needs some fixing. There were suggestions for security through obscurity. There were also bits about configuring PHP, MySQL and Apache “correctly”.

Joomla! also has got compatibility issues between versions. There is some old compatibility mode that exists now in 1.5, with 1.0, but come 1.6, the old compatibility mode will only exist with 1.5, so if you’ve got a 1.0 site, its soon to become EOL – start porting your stuff now!

Lunch was provided, buffet style. Imagine competing with 200 folk… There were t-shirts, but surprisingly, no more Large ones available the moment I got to it.

A little later, @wariola Twittered that there was some interesting message on the Joomla! forums by a Sam. Interesting reading, but it was deleted (sigh!). Azrul has a good response, and I have a few quick suggestions:

  1. The entrance fee is costly, and can be made cheaper if it wasn’t held at a hotel. Do it at a university hall, or something.
  2. Community event vs. “training” session. If it was meant to be a community event (ala Barcamp), its usually free. If people fork money out, they expect to be trained. Its simple economics.
  3. I wish I had known about the CfP before. I’d have definitely submitted a talk topic.
  4. While Azrul totally expected speakers to suck at presenting, I didn’t find them to suck in general. But for first time speakers, some form of “speaker training” might have been appropriate. No harm, no foul, public speaking in front of 200 people even trips up experienced speakers from time to time.
  5. Google is useful. It was even more useful at the event, as I could not only learn from the speakers, but go on and absorb further via the Interwebs
  6. Assuming everyone paid RM70 (untrue, I’m sure), and there were 200 registrants, that’s RM14,000 (lowest bar – highest bar, RM30,000). Throw in sponsors, and if run well, there can definitely be a profit in there for the organisers. Naturally, I don’t know what the hotel costs, but a hotel tends not to be the best location for a community event…

All in all, here’s to the next Joomla! Day. Remember folk, there’s money to be made here (and in CMS’es in general). /me smells a DrupalCon, etc. coming up :)