I put a link on our GPCF web page for our club. The this year and last year links seem to be the most informative to me. What is the starting point for the Rating Gain?
For the selected time period, the first regular- or dual-rated event in which the player participated at the club. Pre-tournament rating is used. Provisional ratings are not considered.
The program currently considers the last word in their full name as their last name. It’s correct 99% of the time, but sometimes the last word is a suffix, for example JR (Junior). Maybe code can be modified, so that if last word is JR or III, then next to last word is used.
It’s a slow going for me to load the tournament results for our club (Austin Chess Club) one at a time past the initial load of all the tournaments for the current year. Would it be possible to change it at least to 5 at a time?
I appreciate the great service this program provides for the clubs!
I ran into this with my MSA program when I wanted to alphabetize one of the generated lists by last name. There is more than the Jr and III issues. There is Sr and …
Here are the issues I dealt with. I’m sure there are other exceptions.
Private Function ReverseName(sentname$)
'useage is result$ = ReverseName(somename$)
nametouse$ = sentname$
'names with spaces in them
iii = InStr(1, nametouse$, " III", vbTextCompare)
If iii Then
nametouse$ = Replace$(nametouse$, " III", “III”)
End If
ii = InStr(1, nametouse$, " II", vbTextCompare)
If ii Then
nametouse$ = Replace$(nametouse$, " II", “II”)
End If
jr = InStr(1, nametouse$, " JR", vbTextCompare)
If jr Then
nametouse$ = Replace$(nametouse$, " JR", “JR”)
End If
sr = InStr(1, nametouse$, " SR", vbTextCompare)
If sr Then
nametouse$ = Replace$(nametouse$, " SR", “SR”)
End If
'real specific exception ’ james o vernon
ov = InStr(1, nametouse$, “O VERNON”, vbTextCompare)
If ov Then
nametouse$ = Replace$(nametouse$, “O VERNON”, “VERNON”)
End If
NewName$ = StrReverse$(nametouse$)
o = InStr(1, nametouse$, " O ", vbTextCompare)
If o Then extra = 2
mc = InStr(1, nametouse$, " Mc ", vbTextCompare)
If mc Then extra = 3
Mac = InStr(1, nametouse$, " Mac ", vbTextCompare)
If Mac Then extra = 4
de = InStr(1, nametouse$, " De ", vbTextCompare)
If de Then extra = 3
la = InStr(1, nametouse$, " La ", vbTextCompare)
If la Then extra = 3
'dela must check after de and la
dela = InStr(1, nametouse$, " De La ", vbTextCompare)
If dela Then extra = 6
X = InStr(1, NewName$, " ", vbTextCompare)
If X Then
lastnamepart$ = Left$(NewName$, X + extra - 1)
firstnamepart$ = Mid$(NewName$, X + extra)
End If
…and here is another one: dropping MC from the last name if it’s a separate word. All of these only apply to the opponents name in the Upsets tab. I am sure the easiest solution is to simply use the full name there as well. It looks like there is room for it…
It’s always a challenge to parse name fields and alphabetize them properly.
de Klerk (at least according to some sources) goes under ‘K’, not ‘d’.
Then you have the Mc/Mac issue, some people insist on a space between the Mc/Mac and the rest of the surname, others insist there be no space.
As I recall there are about 15 suffixes, and that’s if you don’t get into professional honorifics like ‘MD’.
And in USCF’s case, the suffix field is also where they have historically put the inmate ID for prison members. (Most prisons require that be part of the name field on the address label or those magazines will not get delivered.)
Here is my attempt at an improved display without trying to identify all prefixes and suffixes:
function ShortName($strFullName) {
if (strLen($strFullName)<=16) {
$strName = $strFullName;
} ELSE {
$strName = substr($strFullName,strrpos(substr($strFullName,0,4)," "),1);
$strName = $strName.substr($strFullName,strpos($strFullName," ",strrpos($strFullName," ",-4)-4));
}
Return $strName;
}
This was built with a browser sized to reflect some screen resolutions popular with those who have a difficult time reading small text. Many of the longer names were wrapping and causing issues with the display on the upsets tab, so I decided to shorten the victim’s name. There is one name with 40 characters, and many others that are long enough justify an abbreviated display. The revised version only shortens names that are longer than 16 characters, which allows for over 2/3 of players’ full names to appear on the upset tab.
Thank you for the feedback and compliments. The loading of tournaments was set up as it is for several reasons.
The web hosting plan that I purchased has a size limitation on the database. I am monitoring the size and will stop accepting new clubs if/when I think that it is necessary in order to allow existing clubs to keep using the service. I didn’t want for clubs to quickly import their entire history. Some clubs will enjoy the service, but others will lose interest and those games are not needed in the database.
Response times. In a previous attempt at this project I started with a list of USCF member ID’s and checked each one for a rating update. The web page would take two minutes to respond and might time out while it was gathering information from MSA. The approach used with the leaderboard only checks MSA on occasion. The user doesn’t need to wait a long time as they click from tab to tab, and traffic to the USCF server is minimized.
I thought that clubs would be fine with the history filling in gradually over time, as the most recent tournaments are imported first and the rest of the tournaments only affect a few entries on the hall of fame tabs. That being said I’ll admit that I changed the parameters when I was “testing” the site for my local club.
I will monitor database size for a bit longer before making changes - but if you tell others in Austin CC about the site they may load the games for you!