Using MooTools and jQuery Together in Joomla!

Framework conflicts are a common problem people run into when using jQuery. While jQuery provides some tricks you can use to get around this, you may still run into issues when Joomla! generates MooTools effects. While writing the second edition of Learning Joomla! Extension Development, I decided to do a chapter on JavaScript and look into this problem a little bit more closely. It turns out you have to make sure MooTools loads before jQuery, then use one of the tricks detailed on jquery.com.

Fortunately, this can be done in Joomla! consistenly, so I documented it. Packt decided to release the entire JavaScript chapter as the sample PDF for my book, so you can read everything you need to know about implementing this technique for free!

Chinese New Year’s resolutions

In January, my New Year’s resolution was to make more resolutions today: Chinese New Year. Solely because Chinese New Year is more than a month later.

So here goes:

  • Go electronic/automatic with as much of my record keeping and business handling as possible. There are a lot of things I could be doing electronically but have still been doing on paper or through the mail. Also, I need to come up with a better system for handling recurring tasks and scheduling. If it comes down to it, I may end up with one of these or these. (sigh)
  • Rewrite the Daily Message tutorials, Podcast Suite, iWebCal, and my book to catch up with Joomla! updates. The latter should come out first.
  • Validate all of the markup on jlleblanc.com. Last year, I finally got on the whole semantic web bandwagon and haven’t fallen off yet. What was the catalyst for all of this? jQuery. When I saw how it was all CSS selector-based, DOM programming and the benefits of validated markup simultaneously made sense. The pursuit of validation is also helping me maintain Section 508 compliance at work.
  • Blog more and worry less about writing essays. When I started blogging, I actually wanted to start a site where I would keep a repository of opinions on specific topics, refined over time. This doesn’t really seem to work as people are much more familiar with off-the-cuff blog posts.
  • Incorporate.
  • Launch a major web-based service. Oh, so you’d like to know what’s cooking at Chez LeBlanc? You’ll just have to wait and see ;)

Some software I’ve been using recently

Flot – Want to build dynamic graphs without using Flash? Flot is ready. It’s lightweight and pretty quick to pick up. I’m using it for a project where people can add and remove as many data series as they wish. Throw in some JSON calls and the results are pretty impressive. Although I can’t show off that project here, take a look at some of the posted examples. It’s based on jQuery and produced by a Danish firm.

MacFUSE and SSHFS – One of the biggest problems I’ve run into with using Macs is that Finder cannot mount FTP and SFTP sites as writable volumes. While you can get clients like CyberDuck that will allow you to do transfers, editing the files for an entire website this way can be tedious. Using MacFUSE and SSHFS together can get around this limitation. SSHFS is still in a very early release and I did run into some stability issues when mounted all day long, but the core functionality is there.

Selenium IDE – Testing and debugging web interfaces has always been a bit of a pain, but Selenium IDE can make the process much, much faster. Open up the IDE, click record, then start filling out forms and clicking on elements. Then you can save your test and reopen it later to run it whenever you wish. I did run into a few issues where Javascript generated DOM elements confused the debugger (might be a timing issue), but overall it is a very powerful and easy to use Firefox extension. You can also use Selenium Core on other browsers. I haven’t tried this, but it appears that you can record the test using the IDE in Firefox, then use that same test with Core with the other browsers. Thanks to Laura Thomson for mentioning this one at the DC PHP Conference this past fall.