2019 enhancements in a nutshell

Discussion about the Geocaching Australia web site
Post Reply
User avatar
Posts: 16437
Joined: 17 May 04 12:11 pm
Location: Melbourne

2019 enhancements in a nutshell

Post by caughtatwork » 18 December 19 12:57 pm

What did we do at Geocaching Australia this year? A lot? Not a lot? You choose whether you experience was enhanced or degraded with these changes. I know the development team enjoyed what they built for you to enjoy.

Add new graphs to Cacher Stats for dragonZone trophies.

Add GGZ (Garmin GPZ Zip File) as a downloadable file type from a My Query to send directly to the Garmin GPS without having to use a 3rd party app.

Update to use a slider that than drop down on the cache edit / create page for difficulty and terrain. Update site to use style of border-box across the site and remove individual class attributes and values.

Commence removal of select_cache_by_waypoint in favour of select_gca_caches

Make the importer "look nice" because ... Remove vestiges of sendto Remove $gca_reviewer as unneeded

Launch dragonZone research tasks.

Prepare dragonZone research quests.

Add other described items, crafting and trading (which ended up being the same thing) to dragonZone. Controllers, Disruptors and Enhancers can be traded for research materials (boosters can still be only traded with points). Other virtual items can also be traded form research material and will be released over time.

dZ Research Tasks and Research Materials launched to BETA testers. Trading is not yet complete.

Blitz game coded and released for one game in 2019 and one in 2021. Showdown game coded and released for one game in 2019 and one in 2021.

The vestiges of the old API have been removed. There is still one remaining which is the GSAK call to get your list of queries. This will remain until the macro is updated to use the new API and the apikey. This significantly cleans the code base and reduces the number of branches in common logic reducing the ongoing need to maintain multiple branches depending on the API being called. There is no obvious user impact as it's all behind the scenes however if there are any strange results please raise a bug for analysis.

Consolidate multiple functions into a single class for user selection by cacher name, username, id or case insensitive cacher name with a simple selector to make code maintenance easier.

Add a bearing (sortable where applicable) to the geocache lists to facilitate new functionality to come soon. The bearing is true north and is the "floor" of the bearing from your home co-ordinates. i.e. 145.5 degrees would display at 145 degrees.
Upgrade the function to select geocaches which match certain log criteria to a new class, similar to the recent change to simplify the code base and continue the journey to minimise GLOBAL variables by explicitly passing them to the class setter.
Removed an almost duplicate of the gca_distance functionality by combining the function and using a more precise Earth radius (even though we know the Earth is an oblate spheroid).
Add Finds by Degree Bearing (for all, GCA and dZ) to the geocacher statistics pages to facilitate new missions yet to be announced.

In the MyQuery form there is now a selection for "I have logged a DNF", "I have not logged a DNF" or leave the radio button unchecked to ignore any DNF flags. If the user selects "I have logged a DNF" then the selection will be restricted to those geocaches that have a DNF logged. Combined with "I have found" or "I have not found" the user can then identify those which have been subsequently found by them or have not yet been found and a ripe for a "retry". The output can be any of the standard MyQuery outputs including a Google Map. Remember to check 3rd party geocaches if you want the ones from GC includes as well.

Downloadable hotlists (csv, gpx etc) e.g: http://geocaching.com.au/my/hotlist/firsttofind.gpx - All hotlists (with the exception of First Day Finds which are not a true hotlist) can now be downloaded in GPX or ZIP GPX form directly from the hotlist page.

Geocacher Heatmap of Finds - A new map has been created to view a heatmap (a heat map (or heatmap) is a graphical representation of data where the individual values contained in a matrix are represented as colors) of all of the geocachers finds. Hotter, more densely found areas are colored more red with blue being those areas which are colder or fewer finds in density and a gradient used in between to reflect the density of finds in an area.

Centroid Over Time - http://forum.geocaching.com.au/viewtopi ... 65#p217365 - A new maps section has been created on your cacher page that will lead to this (and in the future more) map based statistics based on a geocachers find and other log and geocache information. If you are logged in, then on the top right, click your username, then click on the "Maps" tab and select "Time Centroid".

The "Find a Geocache Zone" page has "Warning Zone Checker" where you put in GPS co-ordinates and click 'Check'. Awesome! Simple request: can you add this "Warning Zone Checker" onto the page used to create new cache, please? - A new standalone zone check page has been created and linked from the zone finder and the page where you start to create a new geocache. The page opens in a new tab so you don't lose your place and you can check as many locations as you like. If a warning zone is detected there will be a dropdown that will take you to the zone on a map and a marker to show exactly where the geocache is positioned. This gives you an indication as to whether the zone boundary is accurate or whether your geocache would be best moved a little distance to be outside the zone.

A number of changes have been made in the background.
We have simplified the call to decide which geocaches to get for a number of different scenarios. e.g. List of caches, map of caches, searches of caches, etc. This was a nasty sprawling mess of global variables, set, then "hoped to be valid" when the function was executed. This is now a slightly less nasty, sprawling mess by having the call to the selection wrapped up in a new class to ensure that wayward variables are not accidentally included. This also means parameters need to be explicitly set so there is a possibility that I have forgotten to set a parameter in the 50 or so calls that have been updated. If you notice this, please add to the bugs thread. viewtopic.php?f=1&t=19288 and provide information about "what may be missing" rather than just "hey this list is wrong". As much information as you can provide would be appreciated.
The MyQuery functionality has been simplified behind the scenes. We have three places we use the MyQuery capability. The normal MyQuery you can run interactively, a mailer than runs overnight and emails you your GPX or ZIP file and via the GCA API to provide the same query results to any app that calls it. When the API was written we created a new function to extract your specific MyQuery parameters and construct a query that would be used to identify the geocaches to be selected. That has now been applied to the interactive MyQuery generator and the overnight mailer removing duplicate "cut and paste" style code and consolidating it into one. This means future MyQuery capability only needs to be updated in one location saving time and reducing the chance of bugs due to a mistype of code.
The Route lists wasn't working. I guess no-one uses this :-( It's now been fixed.
A set of new code to be able to draw a polygon (zone) on a map and save that to create a Zone of Interest has been pushed live and I'll be looking for a Beta Tester or two in the not too distant future. This allows you to draw a polygon on the map, grabbing and moving "handles" rather than having to construct a KML file and upload that for to create the zone. So if you were looking for a set of geocaches that were near to you, but "on this side of the river" you could draw a polygon, create a new zone with the boundary running up the middle of the river and then add that to a MyQuery to get just the caches with attributes you want AND only on the right side of the river.
The old API code has been mostly removed. We wrote a new API some years ago and we have waited for everyone to be on the new code before removing the old. If your favourite app stops working, then please contact the app developers as they will need to move to the new API. GACacher and Geocube both use the new API so there should be no issues.
The old "mobile" site (geocaching.com.au/mobile) has been decommissioned as the site is now responsive and the two apps take care of 100% of the mobile needs. If you still use the old mobile site, then, sorry, but you'll need to move to the other solutions in place.

Forum Upgrade
Upgrade forum software to cater for php7 upgrades
Requires major change to timezone handling due to changes in the new forum software
Bugs in upgrade disallow Global Moderators to post without posts going to approval queue
Forum data conversion software confuses migration of timezone offsets to new timezones (all users to be encouraged to update their timezone)
5 stage internal conversion process to unload the GCA specific user data, drop the columns, do the migration, add the columns, add the data, correct timezones.
New authentication process in the forum software changes GCA login (internal, no external issues) to require substantial amendments to hashing algorithms.
Upgrade all date handling internally to handle new timezones.
Allow internal switching between old and new forum software to allow for rollback.
Forum DB now splits user data across multiple table, so internal GCA changes to cater for additional table joins / updates / inserts

When changing co-ords on the Search for a Geocache (Home or Current Location) box on the home page, update the query string for the map. There is now a Map Now button which will take the entered co-ordinates and map the result. The original static map and link from that map will not change.

20th Anniversary 2020 Game of Games
Add ability for "NOT=Tag" in My Query function so as to ignore things like cache race entrants. You may now select the Excludes Geocache With Tags on your MyQuery to exclude all geocaches that have one or more of the supplied tags. Note that using wildcard searches is slow and your MyQuery may run slow if you use too many tag combinations.

Create map of archived caches by lat and lon search. By entering the lat and lon of a location, you can now see archived geocaches on a map. 1,000 geocaches will be returned to the map and will not increase even though you may pan the map. Copy and paste the URL / Internet Address for sharing between friends and to show locations of archived geocaches.

For My Queries when you use a ZONE ID to restrict the caches archived caches are excluded due to the function that gets caches from the zone. Include archived caches if they are wanted. The MyQuery "Is Available", "Is Unavailable" or "Is Archived" checkbox will now exclude them based on the user’s selection.

Develop log interactions into a single class - log delete are now all done by the new gca_log() class.

Develop log interactions into a single class - log updates are now all done by the new gca_log() class.

Develop log interactions into a single class - log inserts are now all done by the new gca_log() class. This is a background task that cleans up the code bases making for slightly easier access and understanding of simplified code.

Add new game code for upcoming games.
Change .png state flag images (header) to use SVG images as part of an overall move to SVG for everything.
Update hotlists, ratings API and confirm for API availability.

Add API for Q&A answer submission / codeword return for any geocache with a Q&A section.

Add API for Cache name search e.g. Android app (for authenticated users)

User avatar
6500 or more caches found
6500 or more caches found
Posts: 4176
Joined: 04 February 04 10:55 pm
Location: Waitara, Sydney

Re: 2019 enhancements in a nutshell

Post by Richary » 18 December 19 8:28 pm

Even though I have been fairly quiet (on both sites) this year, I think a lot of good things have happened. Thanks for all the hard work.

10000 or more caches found
10000 or more caches found
Posts: 344
Joined: 19 January 10 7:54 pm
Location: Ulverstone Tasmania

Re: 2019 enhancements in a nutshell

Post by 2y'stassies » 18 December 19 9:30 pm

You don't realise how much has been done to make our use of the site easier and to provide what we wanted until you see a summary like this. Thanks caughtatwork for the summary and also to the team who put in the hours of hard work behind the scenes to make it all happen.

User avatar
10000 or more caches found
10000 or more caches found
Posts: 440
Joined: 08 September 07 5:50 pm
Location: Innes Park QLD

Re: 2019 enhancements in a nutshell

Post by oldfella » 19 December 19 7:55 am

I really appreciate the effort and hard work behind the scenes to enhance the joy of GCA experience. Thank you very much. Merry Christmas and a great 2020 to all those who keep me/us enthused to promote and continue the GCA joy.

User avatar
850 or more found!!!
850 or more found!!!
Posts: 108
Joined: 21 May 10 9:57 pm
Location: The Channon, NSW

Re: 2019 enhancements in a nutshell

Post by mattyrx » 22 December 19 12:22 pm

Thanks for all the work done this year. Love that the site exports GGZ from Queries. Also, thanks to all the cache owners out there that put some of their hides on this site, rather than the other one. I hope in 2020 that more cachers hear about the crazy bunch over here in GCA land and decided to come join us. Merry Christmas!

User avatar
6500 or more caches found
6500 or more caches found
Posts: 278
Joined: 05 February 11 6:39 pm
Location: Sandford

Re: 2019 enhancements in a nutshell

Post by whitewebbs » 24 December 19 11:21 pm

Yes thanks for all the behind the scenes work that keeps GCA running. May have to have a look at downloading direct to gps from my query as sounds a good option. Merry Christmas

Post Reply