Chapter 1. Overview

This document describes the Macrotone Consulting IP Mapping component. It covers installation and usage of the component, along with suggested configuration options.

It also includes the planning, design and creation of the Joomla IP Mapping component for Joomla! 3.5 and above. The component has its origin in the requirement to present site intrusion attempts in a simple manner upon a map. Inspection of the available possible solutions already available on the JED did not yield anything suitable so a decision was made to write our own.

Inspection of current map applications indicates that Google Maps are probably the most suitable for implementation, with sound support available.

The completed IP Mapping component is available on the Macrotone Consulting Ltd Website:

http://www.macrotoneconsulting.co.uk/index.php/Macrotone/joomla-extensions.html

The IP Mapping component uses the free IP to Location service of IPInfoDB. The resolution of this service is not always optimal and can change from time to time. This means the locations are not 100% correct but acceptable. If the location is not found by the IPInfoDB service then a check is performed on the GeoBytes service. This service has changed since the original implementation, and we now use the 'Get City Details' API which is free provided that you do not expect to exceed the services “Reasonable Free Access Limit” of 16,384 accesses per hour. The Geobytes lookup is also provided as a 'fall back' in ‘Visitors agent’ where the number of visits might well exceed the 'Reasonable Free Access Limit. The main aim is not to find the visitors exact position but to have an idea where they can be located.

IP Mapping was originally designed with the aim of displaying IP addresses upon Google Maps and experience has shown that although it works well it is very reliant upon the accuracy of the data held by the various IP to Location suppliers. In some cases the determined location is very accurate, but in other cases it can be many miles (kilometres) distant from the true location. HTML5 geolocation offers an alternative mechanism using information obtained from the web browser. If enabled a check is first performed to determine whether a user's browser is capable of supporting HTML5 geolocation and if so, a request is then made to obtain the information. If successful this is then used to display the location upon a map. If unsuccessful, or if the browser does not support HTML5 geolocation, the fall back, existing IP mapping is used instead.

Where ever possible the development tries to lever the supplied features provided in the Joomla core. This enabled the same ‘look and feel’ as supplied by the standard Joomla components, ensuring user familiarity and making for easier implementation.

Go To Top

Joomla! Debug Console

Session

Profile Information

Memory Usage

Database Queries