• BGitHub Feed

    GitHub Feed is a simple module designed to call the GitHub API so that you can display the latest commits to a repository on your Joomla! site. During development of the module, the ability to optionally display a list of issues was added, as was the ability to display a (very) basic profile for a single user.

    This documentation details how to configure mod_BGitHub_feed


  • Checking for Outdated Joomla Extensions on your server

    When you're managing Joomla sites it's reasonably easy to keep track of updates, especially if you use something like Watchful to help you. When you're running a server and only managing some (or none) of those sites, it becomes a little more difficult (especially on a busy shared hosting server).

    It's quite easy to shrug and say 'Not my site, not my problem', but the simple fact is that it is. The second someone manages to compromise one of the sites you host, they're going to try and find a way to run arbitrary code, once they've done that they'll try to run an auto-rooter. If they succeed, it's game over for everyone you host!

    The extension that always comes to mind, is the Joomla Content Editor (JCE) as they had a nasty vulnerability involving spoofed GIFs some time back. You'd hope that everyone would have updated by now, but there still seem to be a lot of sites running versions older than 2.1.1!

    In this post, we'll be creating a script designed to automatically check every one of the sites you host for a version of JCE older than the latest. Adjusting it to check other extensions is easy, so long as that extension has an update stream.

  • Dealing with Slow modules and Caching

    One thing I often come across is sites that load slowly due to a single module needing to load data from an external source. Caching helps with this considerably, at least until the cache expires.

    As a prime example, let's use a Twitter module. To load the feed data, the module needs to access Twitter's API. This happens when the page request is received by the hosting server, and one of two things will then happen. If the cache data exists and is still valid (i.e. hasn't expired) the page will load lightning fast.

    Unfortunately, if the cache has expired, or just doesn't exist, the module will need to access Twitter's API. Occasionally the API runs slowly and so the user has to wait for your homepage (or whichever page the module is on) to load. This provides the user with a bad experience, made worse if the module doesn't actually form part of the core content that the user is (im)patiently trying to view.

    This documentation details a quick and easy way to resolve this issue.

  • I've gone Joomla 3!

    Joomla! 3.0 was released in September 2012, and I've been planning an upgrade of the site ever since. As should be obvious by the change in layout, the migration is now complete. 

    There are quite a few changes that have been made at the same time, some obvious, some far less so...

  • Joomla and NGinx Reverse Proxy Caching: Keeping your dynamic content fresh

    We've placed a caching NGinx reverse proxy in front of our Joomla site, but haven't yet addressed the issue of the content that we do want to remain dynamic. We might, for example, have a module such as mod_GoogPlusFeed embedded on a number of pages, but with the configuration we've used so far, this won't update until the cached copy has expired.

    In this guide, we're going to walk through the few easy steps to ensure the content is regularly updated - without undermining what we were originally trying to achieve - fast response times.

    The primary basis of what we're going to do is very similar to Dealing with Slow modules and Caching, so much so that some of the set up is the same

  • Joomla Performance Tweaks for Busy Websites

    Joomla! now runs a fair proportion of websites, and it's interface obviously appeals to a great many users (over 30 million downloads as of April 2012). For big busy sites, however, the performance isn't always as good as it could be. It's not bad, by any means, but can certainly be improved upon.

    To clarify: by busy, I mean numerous visitors all hitting at more or less exactly the same time.

    Aimed at developers and owners of large Joomla sites, the tweaks in this documentation will help you improve the performance of your site. However, it should be considered advice, and not a step-by-step instructional, if your site is that busy, the database tweaks in particular may actually hinder performance slightly.

    If visitors are reporting long load times, especially during busy periods, then these tweaks may be of use to you.

  • Joomshopping OBRSS plugin

    JoomShopping for ObRSS is a plugin for the latest versions of ObRSS allowing you to create an RSS feed containing product information.


    The documentation details use and configuration of the plugin, however the basic feature list is as follows

    • Filter by one or more categories
    • Filter by one or more manufacturers
    • Filter by one or more Labels (e.g. 'New')
    • Display short or long description
    • Display (or hide) Price, SKU, Manufacturer
    • Include a button linking straight to the product
    • Include an Add-to-Cart button

    This product is no longer under active development (or support), however, as of May 2017, you can now download the plugin from Github

  • Keeping Hitcounts accurate when using an NGinx Caching Proxy

    In previous documentation, we've configured sites to use NGinx as a Reverse Caching Proxy, leading to hugely improved response times on popular content. We've also implemented a custom configuration so that we can refresh the cache periodically, ensuring that dynamic content (such as Twitter modules) updates.

    One thing we haven't done as yet, though, is to address the issue of internal hitcounts. We've looked specifically at using NGinx with Joomla, and noted that a side effect would be inaccurate hitcounts displayed within Joomla (which remains true even when using the internal page caching).

    In this documentation, we'll be implementing a small script to ensure that hits served from the cache are still recorded within Joomla (or Wordpress, Drupal - whatever you happen to be using), albeit a little while after they happen.

  • Making your Joomla Site Fly with NGinx Reverse Proxy Caching

    I've written previously about configuring NGinx to act as a reverse proxy for Apache, as well as some of the specific tweaks you need to make if you're serving a Joomla! based site. In this documentation, we're going to look at how to use NGinx's Reverse Proxy caching feature to make your site really fly.

    There are a small number of technical hurdles which we'll overcome to ensure that the user is experience is fast and smooth without losing interactivity on those sites which demand it. 

  • Microdata for Joomla

    Microdata For Joomla was a Virya Technologies project

    The concept was to provide Joomla extensions, template overrides and plugins in order to automatically generate semantic markup within a Joomla site - this was at a time when Joomla didn't generate any.

    My involvement was to create the products we'd be selling, including a plugin - Microdata Library - allowing Schema.org to be both manually specified, and automatically generated

  • mod CatImplode

    mod_CatImplode is a Joomla module designed to display all articles within a com_content category as one indexed article. It was designed to increase the manageability of API documentation for VehicleFuelTracker.

    This article forms the user documentation for the module

  • mod_BGithubfeed

    Mod_BGithub is a simple module allowing you to embed commit details in a Joomla! site. It uses the GitHub API to retrieve repository information including commits and issues. It can also retrieve user information and display a (very) basic user profile, including a list of the user's public repositories.

    The module supports both Joomla! 2.5 and Joomla 3.x and allows for filtering of all displayed information.

    There are three pre-configured styles: Chromed, Light and Dark. The latter two are very simple but provide a good starting point for those who want to style the module themselves.

    This module is available for free on Github, however the free version comes with no support. Purchase includes 12 months support

    The full feature list is below, (configuration options are detailed in the documentation


    • All layouts can be loaded individually, or all-in-one
    • 3 Preconfigured CSS styles
    • Limit displayed entries
    • Customisable date display format



    • Display of a commit authors Gravatar
    • Link back to the commit and the code tree
    • Link back to Commit author's profile
    • Displays the commit comment



    • Overview of issue displayed in a tooltip
    • Issue label (bug/enhancement etc displayed)
    • Link back to author's GitHub profile
    • Filtering by issue status (Can display all issues, open issue or closed issues)
    • Issue status displayed in front-end



    • Display user's Gravatar
    • Link back to user's blog
    • Display a link of the users repositories (including the primary language)
    • Exclude Repos by name


  • mod_btwitter

    mod_BTwitter is a simple module designed to embed a users timeline into Joomla based sites.mod_BTwitter logo At the core of it's design is the principle that there should be no un-necessary chrome and page load speed should not be adversely affected.

    This documentation details how to use mod_BTwitter

  • Mod_BTwitter

    NOTE: V2 includes an update to implement support for V1.1 of the Twitter API


    Mod_BTwitter is, by design, an incredibly simple Twitter feed module - Designed for Joomla 2.5 and Joomla 3.x The idea is that it contains sufficient to display tweets on a Joomla based site, without adversely affecting page load speed or insisting on lot's of un-necessary chrome. The three key aims when creating this module were to create a module that

    • Doesn't slow page loads
    • Doesn't contain un-necessary chrome
    • Displayed a users timeline, linking to all URLs, mentions and hashtags

    The documentation contains a far better description of what can be configured, however as a brief summary, mod_BTwitter supports

    • Light and Dark Styles
    • Use (or expansion) of t.co URLs
    • Customisable date formats
    • Display of Profile Pic (can be disabled)
    • Direct link to Status Update
    • Display of a 'follow' button
    • Multi-lingual support (partially implemented, no back-end support at this time)
    • Support for caching

    This module allows you to display your Twitter feed anywhere on your site, as inline HTML (although the follow button does require an iframe) allowing Search Engines to include that information when they crawl your site.

  • Mod_CatImplode for Joomla

    Mod_CatImplode is a Joomla module designed to display all articles within a com_content category as one indexed article. It was designed to increase the manageability of API documentation, as it allows each section to be maintained as a separate article (with the added benefit that users can choose to view a specific section, or the entire documentation).

    The documentation details the use and configuration of the module, however the basic feature list is;

    • Auto creation of a Table of Contents, including H3's within article content
    • Auto creation of named anchors for easy navigation of large documents
    • Inclusion of basic Schema.org microdata
    • Ability to add custom Schema.org markup through meta tags

    You can view mod_CatImplode in use on Vehicle Fuel Tracker

  • Mod_GoogPlus Feed

    Mod_GoogPlusFeed is a simple module designed to embed your (public) Google+ posts into a Joomla! site. It allows visitors and search-engines to see your latest posts.

    The core principles when building the module were

    • Shouldn't slow page loads
    • Shouldn't contain un-necessary chrome
    • Should display posts to Google+

    The documentation details the use and configuration of the module in more depth, however as a summary the module supports

    • Light and Dark themes
    • Customisable Date display formats
    • Direct link to Post
    • Direct link to Google+ profile
    • Support for caching
    • Display of posts within a Google Community

    The module comes with a pre-configured Google+ API key, however it is recommended that you follow the steps in the documentation to create your own.

    You can view Mod_GoogPlusFeed on my About Me page.


    New in Version 1.4

    • Version 1.4 merges the Joomla! 2.5 and Joomla! 3.x versions, so the same package works on either version
    • The module can now send a RPC Pingback to Google whenever your Google+ feed changes (see documentation for more information)


  • Mod_GoogPlusFeed

    mod_GoogPlusFeed logoGoogle+ Feed (Mod_GoogPlusFeed) is a module designed to embed your Google+ posts into a Joomla site in the way that mod_btwitter does for Twitter. The core principle of the design is that it shouldn't contain un-necessary chrome and shouldn't slow page load.

    The module can also display all posts within a Google Community - Simply specify the community ID instead of a user ID!

    This documentation details how to configure mod_GoogPlusFeed


  • mod_livingstreets for Joomla 1.5 (Free)

    LivingStreets is a national (UK) charity that "stands up for pedestrians", working to create safe attractive and enjoyable streets.

    This free module interfaces with the Living Streets Site to capture walking statistics for display on a Joomla website. Stats for individuals are not currently available, though they are planned for a future release.

    All that's required is to set your Company name as it appears on LivingStreets.org.uk and to set how you want your company name to appear on your site.


    To download the Joomla 1.5 Version click here.

  • mod_livingstreets V1.1 for Joomla 2.x and 3.x (Free)

    LivingStreets is a national (UK) charity that "stands up for pedestrians", working to create safe attractive and enjoyable streets.

    This free module interfaces with the Living Streets Site to capture walking statistics for display on a Joomla website. Stats for individuals are not currently available, though they are planned for a future release.

    All that's required is to set your Company name as it appears on LivingStreets.org.uk and to set how you want your company name to appear on your site.


    To download the Joomla 2.5 Version click here.

    To download the Joomla 3.x Version click here.

  • mod_lotto

    mod_lotto (AKA LottoPredict) is a module for Joomla 2.5 onwards. It fulfils a range of functions including the display of recent results.

    This documentation details how to configure the module to suit your needs