Smart IP settings explained

The following is the explanation of each Smart IP settings in Drupal 7.

Database Update Status

This Smart IP section setting will only appear if your Data Source is either MaxMind GeoIP Legacy binary database or MaxMind GeoIP2 binary database or Smart IP database (Maxmind's CSV). It display the status of database update process from manually executed or automatically during cron run. If the database update failed, you ca manually force the database update by clicking the "Update database now" button.

Smart IP database status

Manual Lookup

This allows to query the geolocation information of IP address associated with it.

Smart IP manual lookup

Smart IP Source

Smart IP needs a Data Source to query the IP address' geolocation and we have several options to choose from. Each Data Source option has its own settings and we will take a look at each of them.

IPInfoDB.com web service

This is a free web service that uses the IP2Location free version database and it requires API key. In my opinion this option is slow because it is free and it has more users are using/querying its database service. The "IPInfoDB API version" setting enables you to select which version you want to use. Populate the "IPInfoDB key" with the API key you've got after registering here.

Smart IP IPInfoDB.com web service settings

GeoIP Legacy web service

It is MaxMind's first version web service. This is not free and it requires a license key. There are four "MaxMind GeoIP Legacy Web Services" options: Country; City; City/ISP/Organization; Insights (formerly Omni). You can check here for more details of these services. Populate the "MaxMind GeoIP Legacy Web Services developer key" with the key found here.

Smart IP GeoIP Legacy web service settings

MaxMind GeoIP2 Precision web service

This is the next version of MaxMind's original web service which is now called GeoIP Legacy.. This is not free and it requires a license key. There are three "MaxMind GeoIP2 Precision Web Services" options: Country; City; Insights. You can check here for more details of these services. Populate the "MaxMind GeoIP2 Precision user ID" and "MaxMind GeoIP2 Precision license key" which can be found here.

Smart IP MaxMind GeoIP2 Precision web service settings

IP2Location binary database

This is the binary database of IP2Location (only free version of this data source is tested in Smart IP module). This requires to manually download the IPv4 and IPv6 binary database files here (for free version) or here (for paid version) (Note: IP2Location will require you to register an account first). There are three options in "IP2Location caching method" setting: No cache; Memory cache; Shared memory. The "No cache" option will directly query the binary database and the "Memory cache" or "Shared memory" options will speed up the query/lookup process but it requires that your system has sufficient memory.

Smart IP IP2Location binary database settings

Smart IP database

This is actually uses the MaxMind's CSV. It will parse and save the data to the Drupal's SQL database, the process is very expensive as it requires huge extra SQL database space and it will took more time to complete the process. The "Automatic Smart IP database update" allows the site owner to use automatic database feature or it can be manually updated at "Database Update Status" section.

Smart IP Smart IP database settings

MaxMind GeoIP Legacy binary database

It is MaxMind's first version of binary database. There are two "MaxMind GeoIP Legacy binary database version" options: Licensed and Lite. The Licensed is the paid version and Lite is the free version. Selecting "Licensed" option will require you to enter your license key at "MaxMind GeoIP Legacy license key" field (you can view your license key here). You can select Country or City at "MaxMind GeoIP Legacy binary database edition" (Note: The binary database file of City is larger than Country. For performance, it is recommended to select Country if your application only requires Country level).

Smart IP MaxMind GeoIP Legacy binary database settings (licensed)

The "Automatic MaxMind GeoIP Legacy binary database update" setting allows the site owner to use automatic database feature and the binary database will be saved in your Drupal private folder. Choosing to manually update the database will allow to set the "MaxMind GeoIP Legacy binary database custom path" to where you uploaded the binary database file in your server. Lite version binary database can be downloaded manually here and the Licensed version binary database can be downloaded manually inside your MaxMind account.

Smart IP MaxMind GeoIP Legacy binary database settings (lite)

MaxMind GeoIP2 binary database

This is the next version of MaxMind's original binary database which is now called GeoIP Legacy. There are two "MaxMind GeoIP2 binary database version" options: Licensed and Lite. The Licensed is the paid version and Lite is the free version. Selecting "Licensed" option will require you to enter your license key at "MaxMind GeoIP2 license key" field (you can view your license key here). You can select Country or City at "MaxMind GeoIP Legacy binary database edition" (Note: The binary database file of City is larger than Country. For performance, it is recommended to select Country if your application only requires Country level).

Smart IP MaxMind GeoIP2 binary database settings (licensed)

The "Automatic MaxMind GeoIP Legacy binary database update" setting allows the site owner to use automatic database feature and the binary database will be saved in your Drupal private folder. Choosing to manually update the database will allow to set the "MaxMind GeoIP Legacy binary database custom path" to where you uploaded the binary database file in your server. Lite version binary database can be downloaded manually here and the Licensed version binary database can be downloaded manually inside your MaxMind account.

Smart IP MaxMind GeoIP2 binary database settings (lite)

Smart IP Settings

The "Roles To Geolocate" setting allows which Drupal user role will have geolocation process. The selected role(s) will have their IP address queried for geolocation. Enabling the "Save user's location details upon creation" will query the IP address for geolocation of all new users registered and stored these geolocation data to Drupal $user->data object with array key of "geoip_location_original". All Drupal page paths listed at "Acquire/update user's geolocation on specific Drupal native pages" will have the geolocation process logic for Drupal role(s) selected.

Smart IP settings

Device Geolocation Settings

We know that Device Geolocation uses the W3C Geolocation and Google geocoder to get the geolocation of the visitor. Both are processed in javascript, and if this is enabled in a page, it will prompt a user "Would you like to share your location with this site?" alert box and if the visitor choose cancel, this alert box will prompt again every time he visit that page. One of the Device Geolocation feature is the "Frequency of user's geolocation checking" this prevents to prompt the alert box if the visitor choose cancel for a period of time specified in this configuration. Now if the page is cached, this feature has no effect, because the logic of checking the period of time is done in backend so we need an AJAX call to make this feature "Frequency of user's geolocation checking" works too in pages that are cached and ticking the checkbox "Use AJAX in user's geolocation checking (useful if the site or pages listed above are cached)" will do this AJAX call job. The "Google map API key" is needed for using the Google geocoder service and you can get your API key here.

Device Geolocation Settings

Smart IP Debug Tool

This allows the admin user to assign himself any IP address in Smart IP context for testing purposes. Tick the "Admin debug" checkbox and populate the "IP address to use for testing" field with your desired IP address to spoof.

Smart IP Debug Tool

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.