Last update sorting bug

popescu shared this problem 4 years ago
Solved

When I want to sort my geocaches by the last update date, the caches are sorted by the date they were hidden instead.

Comments (9)

photo
1

Good day popescu,


this is quite an old "problem". Maybe not exactly a problem, but rather "mess in times" in Locus.


Current situation:

In case you import new caches that were never updated in Locus, "Create date" (of cache) is used. Once you update your caches in Locus, then "Update time" (this is the time in moment, you updated certain point in Locus) is used.


Caches has also own "Update time" that is visible in cache details screen at top. This time is downloaded from Groundspeak web page, but this time is not used for sorting. In most cases (import over GPX, PQ files, import from c:geo, and some others), this value is not known, so I do not use it for sorting at all.


So generally I see this as a weird problem, and because I do not use this function, I'm now not 100% sure, what to expect from "Last updated" sorting. I'll have to discuss with one colleague, who use Locus for GC a lot more then me.

photo
1

Well, the problem is that in case you have let's say 3000 geocaches in Locus stored for a long period of time, you will want to see which ones might need to be updated, because many of them are outdated by now, might've been disabled, enabled or even archived. You naturally don't want to update 3000 caches as a time, that's crazy. You just want to know which records in your database are out-dated by now. You need to sort the geocaches by the date they were last updated or simply by the level of obsoleteness of the data.


Using the date-hidden for caches imported via the G4L addon instead of the date of their import is making this task impossible. Can you drop using the cache-hidden date in time sorting and replace it with the date of the import instead? I see no reason why date-hidden should be use for the sorting. It's a completely unrelated piece of information that makes the whole thing messy.

photo
1

I was thinking about it and I think there is one big problem. Currently Locus use two times - "created" and "last updated". Unfortunately these times are generally for a points created in Locus. In case of caches, there are three more times - "created by owner on gc.com", "hidden/published" and "last updated". "Created" is not quite useful I think, but two others are.


So to clear this mess, I think that best solution should be following. Sorting menu:

  • sort by name
  • sort by dist.
  • sort by "Created date"
  • sort by "Last updated"
  • Geocaching

Where geocaching menu contains now:

  • sort by "Created date"
  • sort by "Last updated"
  • sort by size
  • sort by Diff.
  • sort by Terr.
  • sort by Fav.
  • sort by GCVote


So I think, that best should be keep "Created" and "Last updated" times same for all points. So "Created" is time, when point was for this first time stored in Locus. "Last updated" then time, when point was updated for the last time directly in Locus (something changed and stored to database).


Where "Created" in "Geocaching" menu will be time, when cache for published for the first time on a web and "Last updated" in "Geocaching" menu will be time, when owner did last update on gc.com site.


So what you think? I'm sure, it makes sense a lot more, then mess that exists now.


Only disadvantage here is, that it's required to re-save points to generate correct times for geocaching. So until you update caches over Geocaching4Locus or PQ files, times won't be correct.

photo
2

For me it would be better / easier if you call the menu item

  • sort by "Published date" instead of sort by "Created date"
  • sort by "Last Owner update" instead of sorty by "Last updated"

in the "Geocaching" menu.


The rest of your suggestions sounds good for me.


c.s.g.

photo
1

Very good suggestion, thank you!

photo
photo
1

This is getting confusing :)


First, let's get the terminology straight:

Non-gc menu

Created = when the cache was imported and "created" as data stored in Locus, not related to GC.com at all

Updated = when I opened the cache and manually updated it in Locus, so it downloaded new logs and possible changes in the listing and other info


I need to know how old the data is for my geocaches stored in Locus. I don't need the distinction between import and update.


How about this: When you import geocaches to Locus, besides the "Created" date the "Updated" date value is written as well and is set to the same time as the "created" date. Only in the future, when I manually update the cache, the "updated" date will differ, but untill then it will be possible to use the "last update" to sort by the age of the data and include caches that were only imported, but never updated in locus.


Does that make sense?

photo
1

Řeknu to ještě česky. Potřebuju vědět, jak staré jsou údaje o keších, které mám v Locusu uložené. Představ si, že máš 2000 bodů a některé z nich mají data stará dva roky. Je docela vysoká pravděpodobnost, že už jsou za tu dobu archivované, nebo prostě jenom jsou tak staré, že si zaslouží update, abys měl přehled o současné situaci.


No a ty teď chceš z těch 2000 bodů tyhle staré kešky odhalit, tak si je necháš seřadit podle "poslední aktualizace" .... no a ono ti to místo toho, aby ses dozvěděl, jak máš stará data, vyplivne že některé kešky jsou z roku 2002, protože to je datum, kdy ta keška byla schovaná. Vůbec nechápu, proč je datum ukrytí použité jako datum poslední aktualizace.


Navrhuju, aby funkce řazení podle poslední aktualizace řadila kešky podle dvou údajů:

1) datum importu pro kešky jednou importované a nikdy neaktualizované v Locusu

2) datum posledního manuálního update v Locusu pro ty updatované


Nechápu, k čemu by mohlo být dobré řazení podle posledního owner-update na webu a dělá mi problém vyznat se v tom, cos napsal, protože používám Locus v češtině a nejsem obeznámenej s názvy těch položek v anglické verzi, a když do toho ještě začneme uvažovat ve dvou rozdílných rovinách pro položky stejného názvu, ale různých funkcí v non-geocaching menu a geocaching menu, už tomu nerozumím vůbec.

photo
photo
1

It's not so "simple".


1. You have to take a cache as normal point in Locus - it should work in exactly same way. Then "Created time" should be time, when you firstly stored this point in Locus. "Updated time" then should be time, when you for last time did any update and stored such changed point in database.


2. I'm thinking about "Last Owner update". Oki, does it have any usage or should I remove it?


3. Some virtual time of "last update" - sorry, this is not possible. Mainly because Locus has absolutely no idea if any change is simple change of any value or whole update of point over any add-on. There is no difference.


And about issue you mentioned, that some caches are sorted by "Published date" even that you wants to sort it by "Last updated" - currently, if you import cache, it's "Published date" is used also as "Created date" in Locus. When you never updated such cache, then "Last updated time" do not exists. Then Locus for sorting use this incorrect "Published date". This should be solved in next version anyway keep in mind, that will be needed to update all points to make this work correctly.

photo
1

1. I got this. That's why there is (or will be) the different "created" date for the non-geocaching menu (treating the cache as every other POI in Locus) and in the geocaching sorting menu (focused on geocaching data). That should work in case I understand your previous post right you intend to split the two.


2) I can't think of any use of Last Owner update and I'd vote for removing it. But I cannot speak for other users.


3) But it doesn't have to differentiate between an update that changed something and an update that just checked that everything is still the same. The main thing that is needed is to know whether an update/check was done, not whether there is something new (you wouldn't be able to notice the minor differences that happen in listings anyway).


You know what I mean? Just update the "last updated" data everytime the user hits the "update geocache" button. And let this date be created while importing the cache and set to the date of import so that the age of the data is always visible and possible to be used as a sorting criterion.


Can this be done? What is your solution for the next version?

photo
1

I wanted to say, that Locus do not do difference between press of "Update cache", between adding a waypoint, between change of coordinates etc. These all are "changes". And once you do some change, "Last updated" time will change also (because of new write to database).


So I still think, that such solution will be ideal:


Basic menu:


  • sort by name
  • sort by dist.
  • sort by "Created date" (first time, point is stored in database)
  • sort by "Last updated" (last time, when any change in point happen)
  • Geocaching

Geocaching sub-menu:


  • sort by "Published date" (time, when owner published cache)
  • sort by "Last Owner update"
  • sort by size
  • sort by Diff.
  • sort by Terr.
  • sort by Fav.
  • sort by GCVote

photo
1

@menion: +1

@popescu: To be honest, I do not see any difference of your request how menion should change the behavior of handling these different dates in locus and the suggestion how menion will be handle these dates in the future!?


Or do you want to be sure that "Created date" and "Last updated" set to the same date value when the geocache is stored in database the first time? In the future "Create date" is never been changed. Only "Last updated" would then be updated by any change of that geocache, for example by hitting the "update geocache" button.

But if I understand menion aright this is exactly what he suggest as probably the best solution.


c.s.g.

photo
1

It might be so. The problem is that I did not understand what Menion was suggesting, that's why I was asking again and even resorted to Czech.


If I understand right what Menion suggests, then okay, that's super under the condition that

  • A) The "Last updated" date is recorded when the cache is created and set to the same value

OR

  • B) In case of sorting by "Last updated", for caches that have never been updated the "created" date is used for this sorting.

This is what I'm talking about the whole time and I'm not sure whether it was understood. Because without this it's not possible to sort geocaches by the age of the data in Locus. If you have some fortoggen cache in your database in Locus that you just imported a long time ago and never updated it, there's no update date for it and it cannot be sorted.

photo
1

Don't worry, this is something so essential, that it should work on 100% :).


If you want to spend some time on this, I can prepare version (release is planned on friday), so we may tune some possible problems if any occur.


Otherwise, we will see in friday :)

photo
1

You have my full confidence, let's see on Friday :)

photo
photo
1

my problem is similar:


When I want to sort my geocaches by they were hidden, the caches are sorted by the date they were the last update date instead ....

photo
1

Hi,


I'll try posting in this thread first before opening a new topic. popescu couldn't think of any use for the time a cache was published / hidden. Well, the thing is: I want to sort the caches according to the date they were hidden, because I want to find certain caches to complete my matrix for "day placed". But the date you see in the list overview is not always the date a cache was hidden; rather, in (recent) cases it's the date I exported the cache to Locus. I use c:geo for storing caches (the fastest way I currently know to get many caches onto my phone from the map): i use the browser plugin "Send to c:geo" to get the caches onto my smartphone. Then I export them to Locus. Many caches are displayed correctly, but not all... does anybody have a solution for this?

photo
1

Hello,


hmm I have never used c:geo for this purpose, but I think problem should be more in export from c:geo. Anyway why do not you use Geocaching4Locus? It downloads a caches a lot lot faster then c:geo and no such issue should exists there.

photo
1

The thing is, usually I use my PC to send caches to my phone first. I have the G4L plugin installed, but I only use that when outside and checking for a few single caches. When I want to load a bunch of caches (for example, a trail of 20 caches) I quickly send them from my PC with a few clicks, and then export them to Locus. But that has to happen via c:geo as far as I know. Or am I wrong there?

photo
2

I do not know any direct (better) solution web > Locus, so you are probably right.


Did a quick test. Loaded 20 caches into c:geo. Then

- menu > show on map > Export to Locus - after import display incorrect date (current)

- menu > export - after export, manully imported GPX into Locus, display correct date


So issue is in Locus API used for communication or in c:geo implementation. Because same API use also G4L and there are no such known issues, I believe it is a problem in c:geo. Btw. if I remember, c:geo use few years old version of Locus API, so expect that they are not much interested in any updates ...

photo
1

As far as I know c:geo never used any API. Instead it gets / steals the information of the geocaches direct from the geocaching.com-webside.


c.s.g.

photo
1

I was talking about API used for communication between Locus and some external programs or add-ons. Not about API used for getting information from geocaching.com. Sorry that I wasn't enough precise.

photo
1

First of all, thanks a lot for your quick responses! I'll try to make this work... what makes it so complicated is the fact that some caches are only stored in Locus (saved via G4L plugin). So, if I delete my Cache Folder in Locus, export all the c:geo caches to a GPX and import that, I'll lose some caches. But what I think is a solution here: export all the Locus caches to a GPX as well, and after importing the GPX from c:geo import the Locus GPX and skip the caches which are already stored. That way it should only import caches which are not available in c:geo, and thus have the right data.

photo
1

Okay, I found out it seems unnecessary to import the c:geo GPX. After exporting the Locus caches, deleting the folder and reimporting the GPX the dates are also correct. Overwriting the existing caches might also be enough, but it's more or less the same as deleting them, I guess. So, currently the only way to make sure the "Cache placed" date is correct when transferring caches from c:geo to Locus is to export the GPX from c:geo, as Menion already mentioned.

photo
1

So you found a working workaround, fine.


Just for your information, overwriting is not same. Main difference is this settings http://docs.locusmap.eu/doku.php?id=manual:user_guide:settings:misc - "Check duplicates". If you have some own waypoints, notes, changed coordinates etc., they may be preserved with this settings enabled.

photo