-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
List files processed but excluded from multiuser stats and leader boards #71
Comments
This issue came back to mind as I traveled a route this week that previously had 0 TM travelers. But since it will show up in both terescoj.list (my overall travels) and jt2021.list (my 2021 travels), it will look like 2 users once I add it to both (I'm just adding travels on this trip to terescoj.list for now). I am pretty sure there are several "users" like this - in fact I have three extra users for subsets of my own travels. I'm not sure how best to go forward on this. An extra file somewhere listing .list file names that should be excluded from rankings and traveler counts? Can it all be done in the site update and DB or will there need to be some web front end fixes as well? |
Or some kind of delimiter pattern like _jt2021.list, __jt2021__.list, +jt2021.list, etc.? |
Thinking back on this issue a bit, trying to decide if using such a pattern for these kinds of lists might mean this could be entirely a web front end issue. Maybe it's a matter of modifying the SQL queries to ignore traveler names that have the selected pattern. |
The DataProcessing contribution here might be to introduce a new DB table for the travelers, with a column indicating if this is a "real" user or one of these users that should be excluded from stats and rankings. This could also be an opportunity to store some other user info in the DB if there are things we wanted to store during site update. |
I might try to tackle this one soon. Summarizing options for how to indicate that a .list file is not a "real user":
When a non-real user is identified during the site update process, a new table would need to be introduced into the DB to make this information available. |
I like option 2. I dislike Option 1 since it is a potential source of error. |
Advantages of the extra file listing these kinds of things (option 2): that's much easier to undo or ignore, and nothing else in the repository needs to change to implement it, and new "normal" files can be created without needing to do anything with the file. |
Here's how I'm thinking of it: the site update program will read in a new file in the traveler;real defaults;1 6lane.list;0 6lanetest.list;0 futureinterstates.list;0 jt2015a3;0 jt2020;0 jt2020q5;0 jt2021;0 jt2022;0 jt2023;0 jt2024;0 The site update program would read this file, then use its contents to add lines to the generated This would mean additional fields could be added later without further modifications to the site update program. Once this information is in the DB, it could be used by the web front end in the implementation for TravelMapping/Web#741 to exclude the non-real users from rank counting. @yakra (or others), any thoughts? |
I liked the augmentations idea of option 2. I‘d minimum add a description column to name what the user refers to eg 6lanetest |
Definitely on the description column. |
We'd still need to get all the For turning the .csv data into an SQL line, maybe use Sanity checks:
|
The sanity checks are definitely important. Especially doubling up the single quotes. I would have forgotten that. For determining types of each field, maybe another "special" line? So the format could be: Line of field names |
In the |
To do: omit unranked users from traveled-format graphs. |
Want to find a way to do this that retains the performance benefits of using Best way to do that is to sort the ids/usernames before constructing the objects, which means doing this before this. This looks safe to do per my first quick glance at the new code, as we're just setting up Hmm. Exact mechanics TBD. The big advantage of doing this: Disadvantage: Should we also omit unranked travelers from stats CSVs? |
Thanks for the thoughts on this. Please feel free to make this a very low priority. Maybe it deserves to be spun off into its own issue. |
Does the .csv file exist anywhere? |
Do we need any check for https://github.com/TravelMapping/UserData/blob/master/list_files/listfileinfo.csv to avoid crashing the site update? |
^ Jim's new code has a few errorchecks.
I haven't looked closely enough too see whether anything else is necessary. |
Invalid characters? |
Has this idea been abandoned? DataProcessing/siteupdate/cplusplus/functions/sql_file.cpp Lines 397 to 399 in a4d1d07
The number of fields is hard-coded at 3. DataProcessing/siteupdate/cplusplus/classes/TravelerList/TravelerList.cpp Lines 240 to 244 in a4d1d07
For this errorcheck, we may be better off making sure the number of fields in each line is the same as a constant, e.g. DBFieldLength::listEntriesNumFields .TravelerList::read_listinfo could compare each field against DBFieldLength::listDescription .
Difficulty here is that by the time we're writing the DB, we've already checked for ErrorList entries, found none, and failed to abort.To do the TMBitset stuff, something has to happen earlier in the program. Makes sense to combine this stuff. Maybe something like...
|
I don't think it's worth pursuing the more generic .csv idea. If we come up with more fields to add some time, we can update the site update code to handle. Also, I have no objection to combining/moving around how and when the .csv is read in o help with error checking and efficiency. Thanks! |
This has been merged into master and was used for a morning site update on 7/4/2024. Closing this issue. Please open new issues for feature requests and bug reports related to this new functionality. |
We have a user who has submitted a second list for travels in an app in addition to his real travels. He asked to remove it from the system to keep the site's stats and leader boards legitimate. A task to consider is how to allow such a list file to be processed for a user and to be able to see maps and stats for such a user but exclude them from multiuser stats and leader boards. These kinds of list files might be useful for some other purposes. One way I might use them is to see stats and maps for a single trip for which I'd submit a list file.
The text was updated successfully, but these errors were encountered: