# Joomla Modules and Plugins

Joomla has literally thousands of extensions that add various bits of functionality to a Joomla based website. This article covers those Joomla extensions that I find particularly useful or well put together. You can find these and other extensions are the Joomla Extensions site.

# Plugins and Modules

NOTE: I’m phasing out my use of Joomla in favour of the simplicity of WordPress so it’s unlikely this page will see any updates.

What’s the difference between a plugin and a module in Joomla? Many extensions have both plugin and module versions which is confusing to the beginner because they appear to offer the same functionality. There is a subtle difference though: plugins are used to modify content, modules are content. So for example, if you wanted to in-line adverts into an article you would use a plugin to modify the article as it was being sent to the client. If you wanted to display adverts in the right hand template position you would use an advert displaying module. With some work you could probably use a plugin to display adverts in the right hand template position but you would need to assign and article to that template position first – it would be an awkward solution at best.

I’ve long wanted to include comments on this site but until just recently I’d never found the time to actually pick a commenting system. Browsing though the extension directory I came across JComments which seemed pretty popular and after installing it I can see why. Quite simply it’s one of the slickest extensions I’ve every used. Everything just works straight out of the box and the end result looks good too. Unlike some extensions this one is so good I keep looking for thing that are wrong – so far I’ve found one confusing instruction (which I suspect is a mis-translation) and that’s it. The comments system is a plugin and there are modules that can be used with it.

I decided to change the way Google Ads were displayed on the site because the previous system I was using is currently being investigated by Joomla for fraud – typical. Rather than go with another plugin I decided a simpler module based approach was called for. I set up a couple of custom HTML modules only to discover that they stripped out all the JavaScript. A quick search turned up this module which doesn’t strip out JavaScript and allows you all to be bombarded by Ads that will hopefully now generate me some revenue.

## ShowPlus

ShowPlus is simple you use slide show module that can be used to show a directory of images in a set location in a Joomla template. I often use this module to display rotating images on the home page of a site to provide some visual interest but that is just one of many possible uses for it. Configuration couldn’t be simpler, it installs cleanly and the settings are straight forward – essentially you just point it at a directory and off it goes. There are several transition options but by far the best in my opinion is the default fade.

## SigPlus

SigPlus is an image gallery plugin for Joomla which will take a directory of images and display a tasteful gallery of them. The plugin supports all the usual features such as lightbox, carousel and captions and does it all in a simple to administer way. I’m a real fan of this plugin, it just works and does exactly what I want.

## JL Highlighter

What can I say, all this plugin does is load Syntax Highlighter for use in the page. Saves modifying the header in the template I suppose.

## Mavik Thumbnails

See SmartResizer below.

There are a number of thumbnail generators for articles but very few have so far been ported to Joomla 1.6 (I fear that as they are starting work on 1.7 already we won’t see many 1.6 plugins ever). Fortunately this one is surprisingly good at what it does getting on with the task of creating thumbnails with no fuss and little configuration. There’s no manual for it and the website it points to is in Greek or some such language which is a shame because it’s not immediately obvious how to make it work but once you figure it out you have a doh! moment. To make it thumbnail an image simply set either the width or the height of the image when inserting, the plugin will pick up on this when the image is loaded and create a thumbnail if needed. It will then put the thumbnail in the page with a link to the larger image.

## SmartResizer

I’ve recently been setting up a new site dedicated to my CNC hobby. Being a new site (and one that I don’t care about all that much at the moment while it’s got no content) I decided to gow ith Joomla 3 which is still very much under active development. Several key plugins such as JCE have already been ported over to Joomla 3 but the one that I really need, Mavik, hasn’t and it doesn’t look like it ever will be. Cue the search for a Mavik replacement. SmartResizer is almost a drop in replacement for Mavik, it does basically the same things and you can get it working in almost the same way. It has a wider range of features and is more sensible about where it stores the thumbnail files (well sort of).

The current version of the plugin (1.18 at the time of writing) stores it’s cache files in the root of the cache directory which is not what Joomla 3 expects. This leaves you with no way to clear the thumbnail images from the cache other than logging into the server and deleting them by hand. This wouldn’t be that much of a problem except SmartResizer is unable to detect the fact it should produce a new image when you resize a custom thumbnail. What’s that you say, I don’t understand.

Depending on the settings SmartResizer will simply thumbnail every image you put on the site, that’s what I like as I can’t remember the last time I inserted a full sized image into an article (if you do want a full sized image you can override the behaviour). The problem is this: insert an image into an article but don’t change it’s size. On first viewing SmartResizer will create a thumbnail (of medium size) and replace the image in the page. This is awkward because now the editor is showing something different to the page but it’s not a show stopper because I always specify the image size I want in the page. So, you’ve spotted your mistake and now go back to the editor and give the image a size. You’d expect a new thumbnail to be created of the correct size but no, SmartResizer doesn’t detect that the image tag is requesting a different sized image so it does nothing. The only way to get a new thumbnail is to delete the old one so a new one has to be created of the correct size and that’s where the problem comes, you can’t easily clear the cached images. Clearing the whole cache of thumbnails because you need one re-created is harsh though so it’s not a great solution. The best work around I can come up with is to use the “store thumbnails in smart_thumbs” folder option. It’s not great but it means you’ll be able to find a thumbnail quickly when you need to get it re-created.

# Editors

## JCE

After much swapping and changing between JCK and CKEditor I decided to look against and came across JCE. After using it for nearly a year I think I’ve finally settled down on JCE as my editor of choice. It’s probably not quite as feature rich as CKEditor but it handles pasting in code better and the image manager is free. It’s not without it’s faults, every now and then something strange will happen but it’s rare enough that I’ll put up with it. Like the other editors I’ve noticed it often struggles with the read more break, normally I’ll end up with an empty paragraph above and below the read more line.

## JCK

This is a really nice semi-commercial editor plugin that replaces TimeMCE. TinyMCE is the default editor that ships that Joomla and it’s alright for a simple site but I find though that it’s quirky at best and impossible to use if you want to insert code examples into a site as I do. Having said that JCK isn’t perfect, I have to pre-escape all the code examples using this tool and then paste them into the source HTML, when I switch back to the editor display for some reason it inserts a ton of extra white space into the pre and following p elements. If I try to just paste the code into the pre all hell breaks lose! On the plus side JCK is pretty to look at and seriously fast compared to other editors I’ve used.

I call this editor semi-commecial because the basic editor is free but all the plugins are subscription only. It includes a fairly good spell checker which unfortunately spams you wit ads but they are easy enough to just ignore. Over all I don’t think you’ll find a better editor but JavaScript editors still have a long way to go before they start threatening MS Word!

## CKEditor

Move over JCK there’s a new guy in town called CKEditor. CKEditor is a fairly new addition to the Joomla extension library but it has been around in the past under the name FCKEditor. It has all the speed of JCK but it’s a bit less quirky and generally more user friendly. It still has some seirous issues with pasting XML and code into pre elements but pre-escaping and pasting into the source seems to work well and doesn’t totally screw up formatting as it does with JCK so I’m happy enough with it for now – beats typing in HTML anyway. One thing is doesn’t seem to have is an expansion handle for the editor window, there might be one in the settings. I actually find that an annoying feature of Joomla in general – the one bit you look at most of the time is crammed down into the corner of the screen.

# Other Stuff

In addition to the above plugins I also use MathJax to display equations as text in the page. There isn’t a Joomla plugin for this utility at the moment but it is simple to add by hand. Just open the templates/[current_theme]/index.php file and add this line into the head section:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

This is also described at the MathJax website.

# Update 2014-01-11

I’ve just started testing out the Ads Elite, Social Buttons and Donate Elite. They are all written by the same developer (as far as I can tell) and so far all is looking good. All three are available for Joomla 3.x and they offer all the functionality you would want. At the moment I’ve very impressed, I’ve been bitten by extensions like these in the past though so I’ll be keeping a close eye on them.