How To: Integrate with GameSheet Inc - Score Extraction

If your association or league is using electronic game sheets from GameSheet Inc (www.gamesheetinc.com) it will be possible to "pull" the scores from that system into your website.

Summary

Step 1: Configure the External Scores Provider for the “group” in MBSportsWeb (League or Tournament Group).
 
Step 2: Ensure that all games for this “group” have game numbers which are at least unique within the same group and ideally unique across all groups in the same season or tournament.
 
Step 3: Ensure that the correct game numbers are entered into the GameSheet Inc system as the games are played.
 

Configuring the External Scores Provider

The MBSportsWeb platform can extract scores for the following:
  • Houseleague "Leagues" contained within a single association,
  • Hosted Tournament "Groups" for tournaments hosted by a single association, 
  • TheOneDB Groups - used by multi-association leagues only and requires both TheOneDB and MBSportsWeb to be used by the league, but the process for setting up the scores extraction is similar.
In order to configure score extraction from the GameSheet Inc system at a minimum you will need to know your "League URL" in their system as well as the "Division ID(s)" used in their system.  Your GameSheet Inc representative will provide these to you.
 
The video below shows how to configure the External Scores Provider for each of the three types of "groups" which can be setup for score extraction.
 
To summarize, for houseleague the page is located in Manage Site Content -> (choose league site) -> Setup & Settings -> External Scores Provider.  For tournaments the page will only appear after the groups have been created, and will be located in Tournament Admin -> (choose tournament) -> Other / Advanced Settings -> External Score Provider -> (choose group).  And for TheOneDB groups the page is located in Manage Site Content -> (choose group site) -> Setup & Settings -> External Scores Provider.  
 

Creating Background Timers…

Once configured, the website will setup a timer for each “group” that will expire either (whichever happens first):
  1. When the next game ends (as determined by adding the game length in Step 1 to the start time of each game), or
  2. If there are games already played without scores, either in 30 minutes, 2 hours, 4 hours, or 8 hours – depending on how many hours ago the last unreported game ended
For example, suppose there are hour-long games scheduled every hour starting at 1pm until 9pm…
 
Scenario 1: The website loads the timers in the morning.  The next game relative to the morning will end at 2pm, so that’s when the timer will expire.
 
Scenario 2: The website loads the timer at 3:15pm and the score from the 1pm game hasn’t been entered yet.  The next game would end at 4:00pm (in 45 minutes), however, since the game that ended at 2pm doesn’t yet have a score, and since it’s relatively recent, the timer would actually expire at 3:45pm (30 minutes).
 
Scenario 3: The website loads the timer at 11:15pm and all scores have been recorded except the 1pm game.  Since the 1pm game ended over 8 hours ago, the timer would expire at 3:15am (4 hours).
 
Scenario 4: The website loads the timer at 10:00am the following morning, and all scores have been recorded except the 1pm game from the previous day.  The timer would be set to expire at 6:00pm (8 hours).
 

When a Group Timer Expires…

In the background of the site, when the timer expires it will load a list of all the games for that “group” which have been played but don’t yet have a score.  As long as there’s at least one game in the list, the site will then determine the date of the earliest game and the date of the last game in the list (the two dates could be the same).
 
The website will then use the settings from Step 1 to query the GameSheet Inc API service for all games in that date range belonging to the Division ID(s) specified for the “group”.
 
The website will then loop through each unreported game and try to find a match within the list of games returned from the GameSheet Inc results.  The date of the game and the game number must both exactly match.  If one, and only one, match is found the website will update the game in the website using the score provided for that game by GameSheet Inc.
 
Therefore, in order for the two systems to be able to "talk" to each other it is imperative that game numbers are setup and used properly.
 
Please note - setting up an External Score Provider does not prevent the manual entry of scores.  Should the automatic extraction of scores fail for whatever reason, posting the score manually is recommended.
 
Also please note - if a score already exists the website will not check to see if the score in the website matches the score posted in the GameSheet Inc system.  If there is a mismatch please use the traditional methods available to manually correct the score in the website.

Add Feedback