PDA

View Full Version : Default "Name" feature for the club


ChiMiniRc
2011.04.11, 10:18 AM
Perhaps there is a better way to do what I'm going after.

What I'd like, is the ability to reassign a name to a racer. Preferrably at the race screen instead of going into edit racers. But in the end, I want to hit a reset button to go back to a default. Here is the logic behind this.


At the club, I provide all the cars but the preference is to switch the name from "Nissan 350z" to the racers name so they can see their own name on the screen. If I did this now, I'd have to switch it back to the generic name or another racers name and it can be time consuming. It would be cool if I could hit a reset button and have all the cars go back to a default name (it could be a "Default name" field in the edit racers screen).

Of course, now that I think about this, I suppose I could write a query against the racers database and just do an update query to assign default names back to to specific transponder #'s.

From a software design point, If rewrote the values in the racer table, at what points do those values get read by the software? If I updated the racer name in the table directly would it.
A. Change the name as soon as the next lap is registered
B. Change the name as soon as I end the race and start a new one?
C. Change the name if I exit the race screen and go back?
D. Would need to reload the software?

pinwc4
2011.04.12, 02:38 PM
While I need to come up with a way to handle shared/guest/loaner cars within the software I do have one important note about managing this.

If it can fit with how you are loaning out the cars I would recommend creating a separate racer for each person instead of renaming an existing car.

The reason is that each races results is linked to that particular racer. So for example if you have a car that is named Bob and it runs in a race named Race 1. After the race has completed and you go look at the results you will see Bob's results when you select Race 1. Now later you give the car to Zed so you rename the racer record to Zed and he runs in Race 2. After the race is completed and you look a the results for Race 2 you will see Zed in the race. But if you go back and look at Race 1's results it will also say Zed. This is because the results are tied to that specific racer in the database. Each racer has a unique ID that is independent of the name or the uid so the results can be tracked.

The software will let you have multiple racers with the same transponder ID, but only 1 of them can be enabled at a time. You can also easily change transponder ID's using the UID popup menu. It will list all the transponder ID's when you click it.

So I would suggest each person having their own racer on the edit racers screen. At the beginning of your race day you could set the appropriate transponder id for each person. If people are sharing a car throughout the night then when they swap you would have to enable the other racer. But this would be quicker than having to change the name of a car over and over plus would keep all the race statistics data consistent. You can enable a racer pretty quickly by clicking the check box on the Edit Racers screen (if you do it on the table you do not need to save, it takes effect immediatly).

Now if a person is changing cars throughout the night I will have to give this more though on how to simplify it.

What are your thoughts on this?

In regards to modifying things directly in the database for the racer records this currently would not work. The database table is only fully read when the application opens, after that it only performs updates to and queries specific records that have been changed. I have the data from the database in memory that is during races for speed instead of depending on slower database calls. So right now if you modify the racer data using an external program those changes would only be read when the application is reloaded. If usefull I could add some logic so that it rereads the database during the countdown or some other time. Though I would want to test the speed of the operation with a lot of racer records in the database first before committing to anything specific.

Oh, and btw I hope to be able to race with you guys sometime soon. I am only 3 hours away in central IL.

briankstan
2011.04.12, 02:46 PM
I have a question on this. if you have a tag in multiple times, and are using the same tag in different races. how does it treat it in the reports.

I did this the other night and came up with an issue. the car (tag) was being shared by 2 different drivers. I enabled the tag with their name on it for the race they were in.

However when I did my reports. One of the drivers showed up blank in the report. I think it was the ones that was currently disabled. Might be something to check into.

pinwc4
2011.04.12, 03:54 PM
I have a question on this. if you have a tag in multiple times, and are using the same tag in different races. how does it treat it in the reports.

I did this the other night and came up with an issue. the car (tag) was being shared by 2 different drivers. I enabled the tag with their name on it for the race they were in.

However when I did my reports. One of the drivers showed up blank in the report. I think it was the ones that was currently disabled. Might be something to check into.

The tag itself is not what matters for the reports, the reports reference a specific racer record from the edit racers screen. So if you have multiple racers on the edit racers screen that have the same tag the race results are linked to whatever one of those was enabled at the time the race was ran. I hope that makes sense? And by blank I assume you mean the name was missing but it still showed lap times etc?

In regards to your problem with the report showing a blank racer I am not sure what is going on there. The report generation does not check the racer status at all so this should not happen. When you selected this race on the Statistics screen did it show the racer name their just not in the report when you clicked the view report button?

The only time I had seen this behavior before is if the racer was deleted, not disabled. And with 0.58 I changed the delete racer behavior to prevent this from occuring though it will only effect racers deleted after 0.58. Racers deleted before 0.58 would cause the name to be blank on reports generated after the racer was deleted.

If this is a problem you can duplicate could you zip up your database file and send it to me with steps I can follow to duplicate it. I tried on my own system but was not able to duplicate the problem.

briankstan
2011.04.12, 04:18 PM
the name was blank also on the statistics page, it only happened with the racer that was using a shared tag. it was always the same racer name that was missing. the rest of the results were intact. When I exported to HFAY submittal format, the information didn't transfer for that driver. I had to go back and look at the statistics page and enter it manually. I should have been more clear. the report came across fine (missing the name still), it was the HFAY export that was missing the info.. this is what it put.

,,0:00.00,Salt Lake Mini-Z,,

this was also using version .57 I've sense upgraded, and everyone has their own cars and transponders now.

ChiMiniRc
2011.04.12, 05:27 PM
In regards to modifying things directly in the database for the racer records this currently would not work. The database table is only fully read when the application opens, after that it only performs updates to and queries specific records that have been changed. I have the data from the database in memory that is during races for speed instead of depending on slower database calls. So right now if you modify the racer data using an external program those changes would only be read when the application is reloaded. If usefull I could add some logic so that it rereads the database during the countdown or some other time. Though I would want to test the speed of the operation with a lot of racer records in the database first before committing to anything specific..


Thank you for clarifying that part right away. I've been wanting to understand the read and write process to the DB a little better. Storing it in memory is smart. I wouldn't change it.

ChiMiniRc
2011.04.12, 05:53 PM
So I would suggest each person having their own racer on the edit racers screen. At the beginning of your race day you could set the appropriate transponder id for each person. If people are sharing a car throughout the night then when they swap you would have to enable the other racer. But this would be quicker than having to change the name of a car over and over plus would keep all the race statistics data consistent. You can enable a racer pretty quickly by clicking the check box on the Edit Racers screen (if you do it on the table you do not need to save, it takes effect immediatly).

Now if a person is changing cars throughout the night I will have to give this more though on how to simplify it.

What are your thoughts on this?

I understand the part about each racer having an entry. It would be bad if I exported results from a race the previous day and had the current name show up instead of the person driving.

The addition of the "enable" checkbox is going to work well. I didn't even know when you click enable on a racer with a duplicate UID, that is disables the other racers that have the same one. That is also going to help.

My concern is I HAVE to get this to be correct before a race starts. My initial thoughts was the end of a race, I call out "WHO WAS the 370z?" and would change it then. Then at the end of the race day I hit reset and they all go back to the body they are running.

So thinking this through, I need to have everyone line up, run a practice lap to register cars, find those without a person's name, add the name in edit racers, copy and paste the current UID, and enable that racer.

Then at the end of the day, I somehow sort and just go down the list enabling all the CAR model names again which will uncheck the racer name.

pinwc4
2011.04.13, 11:08 PM
the name was blank also on the statistics page, it only happened with the racer that was using a shared tag. it was always the same racer name that was missing. the rest of the results were intact. When I exported to HFAY submittal format, the information didn't transfer for that driver. I had to go back and look at the statistics page and enter it manually. I should have been more clear. the report came across fine (missing the name still), it was the HFAY export that was missing the info.. this is what it put.

,,0:00.00,Salt Lake Mini-Z,,

this was also using version .57 I've sense upgraded, and everyone has their own cars and transponders now.

Hmm, very odd. If you try to export the HFAY results for that particular race now does it still produce a file with missing info? If so I would like to look at your database file assuming you could easily send it (I know it can be a challenge for many clubs that do not have a lap counter computer with internet access).

pinwc4
2011.04.13, 11:21 PM
I understand the part about each racer having an entry. It would be bad if I exported results from a race the previous day and had the current name show up instead of the person driving.

The addition of the "enable" checkbox is going to work well. I didn't even know when you click enable on a racer with a duplicate UID, that is disables the other racers that have the same one. That is also going to help.

My concern is I HAVE to get this to be correct before a race starts. My initial thoughts was the end of a race, I call out "WHO WAS the 370z?" and would change it then. Then at the end of the race day I hit reset and they all go back to the body they are running.

So thinking this through, I need to have everyone line up, run a practice lap to register cars, find those without a person's name, add the name in edit racers, copy and paste the current UID, and enable that racer.

Then at the end of the day, I somehow sort and just go down the list enabling all the CAR model names again which will uncheck the racer name.

I will give this more thought as it would be good to make this easier. Not coming up with any good ideas of how to organize this yet though. Maybe some way to change a racer id after the race has been completed is needed. If I add that I think it would make most sense for it to be done on the statistics screen. But really I would think it would be best to make it simple to have things set up ahead of the race. This way announcements are using your racers names instead of generic car names (assuming you use those features).

In regards to the edit racers, copy and past the current UID if you already know the UID because you have generic cars along with specific racers you can select an alternate UID in the drop down menu. Depending on how easy it is to tell the difference between the UID's this could simplify it slightly for you.

Maybe it would make sense to add some sort of copy or assign car option on the edit racers screen so you can select a racer then click assign which allows you to select a different car to assign to the racer. It would then update the car details for that particular racer. Just kinda thinking out loud at this point to figure out what would make the most sense.

For your club are your regular racers typically using the same car each race day? Or do they get different cars each time?

ChiMiniRc
2011.04.13, 11:40 PM
I will give this more thought as it would be good to make this easier. Not coming up with any good ideas of how to organize this yet though. Maybe some way to change a racer id after the race has been completed is needed. If I add that I think it would make most sense for it to be done on the statistics screen. But really I would think it would be best to make it simple to have things set up ahead of the race. This way announcements are using your racers names instead of generic car names (assuming you use those features).

In regards to the edit racers, copy and past the current UID if you already know the UID because you have generic cars along with specific racers you can select an alternate UID in the drop down menu. Depending on how easy it is to tell the difference between the UID's this could simplify it slightly for you.

Maybe it would make sense to add some sort of copy or assign car option on the edit racers screen so you can select a racer then click assign which allows you to select a different car to assign to the racer. It would then update the car details for that particular racer. Just kinda thinking out loud at this point to figure out what would make the most sense.

For your club are your regular racers typically using the same car each race day? Or do they get different cars each time?

It is pretty common for the same person to use the same car if it isn't broke from the previous race. But I have lots of new people as well.

While playing with the idea of cutting and pasting the UID, I'm having some REAL strange sorting problems. I'll upgrade to the newest version to see if it persists.

The assign car would work well. For now, I'll use some of the new ideas you have at the next race and see what is comfortable. The original request to "reset" had to do with the frustration I had when I did make a car generic and then assigned a name. The next race, that old person's name would come up. I would then get frustrated not being able to go to the EDIT RACERS screen while the race was running to correct it.

pinwc4
2011.04.14, 09:46 PM
While playing with the idea of cutting and pasting the UID, I'm having some REAL strange sorting problems. I'll upgrade to the newest version to see if it persists.


Upgrading will not change this behavior. I played around with it and see what you are talking about. What is happening is any action taken on the edit racers screen triggers a sort by the name column. So for example if you sort by UID and then click a record it will then resort by name. I have updated the code so it will no longer do this, it will be included in the next release.

briankstan
2011.04.15, 08:18 AM
Hmm, very odd. If you try to export the HFAY results for that particular race now does it still produce a file with missing info? If so I would like to look at your database file assuming you could easily send it (I know it can be a challenge for many clubs that do not have a lap counter computer with internet access).

yes. if I use the export file it comes in that way, but in the statistics page still has the info for the race, just the name is blank.

Let me look at things on my timing computer and see if it's doing the same thing. I am using the DB file on a different computer, with the save ver. of the software, maybe I'm missing a file it need? once in the DB file I figured it would transfer the info like it's done previously, but maybe something changed and it requires different files?

pinwc4
2011.04.15, 01:09 PM
yes. if I use the export file it comes in that way, but in the statistics page still has the info for the race, just the name is blank.

Let me look at things on my timing computer and see if it's doing the same thing. I am using the DB file on a different computer, with the save ver. of the software, maybe I'm missing a file it need? once in the DB file I figured it would transfer the info like it's done previously, but maybe something changed and it requires different files?

Moving it to a different computer will not make a difference. All the racer and race information is self contained in that database file.

My guess is something changed the racers id, not the UID but the internal id that the database uses to link the records together. If for example you were to delete a racer and then recreate them with all the same info previous race results would do exactly what you are describing prior to version 0.58. I changed how this is handled in version 0.58 but it can not fix previous instances.

The report and hfay export functions query the data in very different ways to generate what is needed. Based on the symptoms you describe I am pretty certain that the internal racer id for that person changed though why I do not know.

briankstan
2011.04.15, 01:24 PM
I think everything is sorted now as everyone had their own dedicated tags. I'll just make sure that we just continue to do that, as it will be easier and less confusing for all involved.