[Vtigercrm-developers] Introducing GeoTools - Geo Location module for vtiger 5.4.0

Alan Lord alanslists at gmail.com
Fri Jan 25 08:07:17 PST 2013

On 25/01/13 15:42, Adam Heinz wrote:
> Awesome is right!  The reverse search data integrity check looks
> especially useful.  We have some of this sort of stuff implemented, but
> with nowhere near the level of polish and configurability that you have.
>   I'll definitely have to look at how difficult migrating off our
> existing stuff would be.

Thanks Adam,

I *know* I made a few bad design decisions when I put this together for 
a client. But time was against me. I'd really like to refactor some of 
it so it will be a moving target for some time yet...

> I notice that the reverse search data embeds a Google Map, which means
> that the Google Maps API TOS are also in effect on top of the Google
> Geocoding API TOS?

Er, not sure I understand this. Each entity record that's been geocoded 
has a matching record (by crmid) in a geotools table which stores the 
lat and lng vales. Doing a reverse search is as easy as changing ASC to 
DESC and ">" to "<" in a query. (In fact I want to split these into 
*two* options rather than just the one currently on the search interface).

Google's Terms of Service allow you to cache lat/lng as long as you use 
their map to display the results.

> Our original feature that required the Google Geocoding API was address
> autocomplete.  We reordered the address field sequence so that street
> and zip code are first, so when those are set we look up and fill the
> other address fields (and the lat/lng, since we have them).  It works
>  >99% of the time -- we've found that the API gets confused by spaces
> easily "100 Still Water Ln" vs "100 Stillwater Ln" can produce very
> different results.  If that's interesting to you, I'll see about pulling
> it out and submitting a patch against your project.

That's awesome too! This would be a very cool new feature - in vtiger 6 
the UI will probably lend itself better to auto-fill as well... I'm not 
sure how well this works in different countries but it would be good to 
have it certainly.

Some other ideas, things I want to do (in some kind of order):

1. Bring the Advanced Search feature set, common in the standard 
modules, into the GeoToolsView so users can filter on more than just 
location. (Our customer is regularly getting ~500 plus results in a 4 
mile radius! and needs to be able to limit the result set further). This 
is going to be tricky because that is not a standard ListView and it 
spans multiple modules)

2. Directions. Add another view probably to allow you to add (limit is 8 
points in the free service) records and get back a travel route.

3. on the admin side:

  3a. provide a method for the admin to install (and remove) an Action 
link for Radius searches to their chosen module(s)

  3b. On each modules' configration show the number of entities geocoded 
vs the total number.

  3c. On each module that's configured, add a read only checkbox 
automatically that would indicate on each record if it has been geocoded 
or not. This way you can then report and fix records with crappy data. 
Our customer has ~10% of 20,000 records that can't be successfully 
geocoded - this area really needs fixing.

4. Add the "Send Email" and "Send SMS" buttons to the GeoTools ListView. 
Again hard because it is non-standard...

5. Abstract the geocode and map APIs and work with other providers too, 
e.g. OpenStreetMap (as long as you play nice there is no real rate 
limiting like with the big G).

Have a good weekend.



More information about the vtigercrm-developers mailing list