Skip to content

Commit

Permalink
Merge pull request #5 from bletham/dev
Browse files Browse the repository at this point in the history
Merge in updates for 0.7
  • Loading branch information
bletham authored Jan 11, 2017
2 parents 7fd8175 + d393cf6 commit a90f340
Show file tree
Hide file tree
Showing 48 changed files with 936 additions and 687 deletions.
Binary file modified documentation/documentation_figs/fstimer_fig12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig19.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig21.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig30.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig31.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig33.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig34.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig41.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig61.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig63.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig68.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/documentation_figs/fstimer_fig69.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 5 additions & 6 deletions documentation/documentation_sec2_2.htm
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,12 @@ <h3>Section 2.2 - Importing preregistration</h3><br>

The text field in the preregister window shows that the preregistration csv was successfully imported and the imported registration file was saved as ``fstimer_demo_registration_prereg.json." The other lines of text show which csv fields (that is, spreadsheet columns) were detected and some other details that are described in <a href="documentation_sec4_2.htm">Section 4.2</a>.<br><br>

<b>IMPORTANT:</b> If you have non-latin characters in your spreadsheet like &#233; or &#246;, the CSV must be in UTF-8 encoding. By default, Microsoft Excel will not produce a UTF-8 CSV. Check this site for instructions on how to produce a UTF-8 CSV from an Excel spreadsheet:
<br><a href="https://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16">https://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16</a>.<br>
The Google Drive solution described towards the bottom of the page is probably the easiest.<br><br>

Continue on to <a href=documentation_sec2_3.htm>Section 2.3 Registration</a>.
</div>

<!--
<div id="footer">
Questions? Problems? <strike>Bugs</strike> Unanticipated features? Send us an email, at <a href="mailto:[email protected]">[email protected]</a>.<br>Copyright 2012 <a href="http://web.mit.edu/bletham/www/" target="_blank">Ben Letham</a>.
</div>
-->
</body>
</html>
</html>
9 changes: 2 additions & 7 deletions documentation/documentation_sec2_4.htm
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,12 @@ <h3>Section 2.4 - Compiling registrations</h3><br>

We must press "Add" to choose all of the registration databases that we wish to compile together. For now we only have one registration database (fstimer_demo_registration_1.json), so we press "Add" and select it. The names of the registration files that we add show up in the field in the center of the window, and can be removed by selecting them and pressing "Remove." After we have added all of the registration databases to be compiled, we press "Merge."<br><br>

<img width="482" height="381" src="documentation_figs/fstimer_fig12.png"><br><br> <!--602x476-->
<img width="482" height="383" src="documentation_figs/fstimer_fig12.png"><br><br> <!--602x476-->

This will check for a certain type of database error (more details on that in <a href="documentation_sec4_4.htm">Section 4.4</a>), and will write two files: the compiled registration, and the timing dictionary. The compiled registration is an fsTimer registration database that can be opened using the Register window just as any other fsTimer registration database, except it now contains the information merged across all of the input databases. The timing dictionary is a special file that is required for race timing.<br><br>

Continue on to <a href=documentation_sec2_5.htm>Section 2.5 Race timing</a>.
</div>

<!--
<div id="footer">
Questions? Problems? <strike>Bugs</strike> Unanticipated features? Send us an email, at <a href="mailto:[email protected]">[email protected]</a>.<br>Copyright 2012 <a href="http://web.mit.edu/bletham/www/" target="_blank">Ben Letham</a>.
</div>
-->
</body>
</html>
</html>
7 changes: 1 addition & 6 deletions documentation/documentation_sec2_5.htm
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ <h3>Section 2.5 - Race timing</h3><br>

<img width="545" height="144" src="documentation_figs/fstimer_fig17.png"><br><br> <!--682x181-->

"Print" will automatically generate two html files in fact: Overall results that include everyone, and divisional results. Note that if you enter the pass ID (0) as the bib number for a time, then that time will not show up in the results at all. Basically the pass ID "skips" times, and leaves them out of the results.<br><br>
"Printouts" will automatically generate two html files in fact: Overall results that include everyone, and divisional results. Note that if you enter the pass ID (0) as the bib number for a time, then that time will not show up in the results at all. Basically the pass ID "skips" times, and leaves them out of the results.<br><br>

The other buttons (Options, Drop ID, Drop time, and Edit) will be described in <a href="documentation_sec4_5.htm">Section 4.5</a>.<br><br>

Expand All @@ -75,10 +75,5 @@ <h3>Section 2.5 - Race timing</h3><br>
Continue on to <a href=documentation_sec2_6.htm>Section 2.6 Creating a new project</a>.
</div>

<!--
<div id="footer">
Questions? Problems? <strike>Bugs</strike> Unanticipated features? Send us an email, at <a href="mailto:[email protected]">[email protected]</a>.<br>Copyright 2012 <a href="http://web.mit.edu/bletham/www/" target="_blank">Ben Letham</a>.
</div>
-->
</body>
</html>
15 changes: 5 additions & 10 deletions documentation/documentation_sec2_6.htm
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,17 @@ <h3>Section 2.6 - Creating a new project</h3><br>

First you will choose a name for the project. As it says, only letters, numbers, and underscore may be used in the project name. This will create a subdirectory in the fsTimer directory using the project name. That is, if the project name is project_name, it will create the directory fsTimer/project_name. All of the files generated by fsTimer will be saved in that project directory.<br><br>

<img width="516" height="221" src="documentation_figs/fstimer_fig61.png"><br><br> <!--645x277-->
<img width="477" height="264" src="documentation_figs/fstimer_fig61.png"><br><br> <!--645x277-->

Next the project type is specified. As it says on the window, there are two project types: standard and handicap. A standard race is one where all racers have the same start time. In a handicap race each racer specifies a handicap, which is an amount of time that they will start later than the start time. Thus different racers can have different start times, but fsTimer will automatically subtract out their handicap when computing finishing times. For either race type, it is possible to have a race with multiple timed laps.<br><br>

<img width="482" height="341" src="documentation_figs/fstimer_fig19.png"><br><br> <!--602x426-->
<img width="485" height="379" src="documentation_figs/fstimer_fig19.png"><br><br> <!--602x426-->

The next thing to be specified are the registration fields. These are exactly the fields that will show up in the "Registration" window. ID is a required field and must be filled out for runners to show up in results, but otherwise the fields can be customized to those which you want to use. New fields can be added as either an entrybox, meaning a box into which any information can be typed (like for name), or a combobox where one of a few options must be selected (like for gender).<br><br>
The next thing to be specified are the registration fields. These are exactly the fields that will show up in the "Registration" window. ID is a required field and must be filled out for runners to show up in results, but otherwise the fields can be customized to those which you want to use. New fields can be added as either an text or number entry, meaning a box into which any information can be typed (like for name or age), or a selection box where one of a few options must be selected (like for gender).<br><br>

<img width="642" height="421" src="documentation_figs/fstimer_fig21.png"><br><br> <!--802x526-->

When you press the "Printouts" button from the Timing window, fsTimer will automatically generate two nicely formatted sets of results: overall results listing everyone, and automatically generated divisional results. This is the window where you can specify what the divisions should be for generating the divisional results. You specify the division name, and what the parameters for the division should be. The parameters can be a range of ages, and/or a collection of combobox values.<br><br>
When you press the "Printouts" button from the Timing window, fsTimer will automatically generate two nicely formatted sets of results: overall results listing everyone, and automatically generated divisional results. This is the window where you can specify what the divisions should be for generating the divisional results. You specify the division name, and what the parameters for the division should be. The parameters can be a collection of combobox values and/or a range of number entry values.<br><br>

<img width="484" height="505" src="documentation_figs/fstimer_fig73.png"><br><br> <!--606x632-->

Expand All @@ -71,10 +71,5 @@ <h3>Section 2.6 - Creating a new project</h3><br>
Continue on to <a href=documentation_sec3.htm>Section 3 Checklist for timing with fsTimer</a>.
</div>

<!--
<div id="footer">
Questions? Problems? <strike>Bugs</strike> Unanticipated features? Send us an email, at <a href="mailto:[email protected]">[email protected]</a>.<br>Copyright 2012 <a href="http://web.mit.edu/bletham/www/" target="_blank">Ben Letham</a>.
</div>
-->
</body>
</html>
</html>
18 changes: 10 additions & 8 deletions documentation/documentation_sec4_1.htm
Original file line number Diff line number Diff line change
Expand Up @@ -48,27 +48,29 @@ <h3>Section 4.1 - Setting up for a new race</h3><br>

The next window allows you to choose the type of the race:<br><br>

<img width="516" height="221" src="documentation_figs/fstimer_fig61.png"><br><br> <!--645x277-->
<img width="477" height="264" src="documentation_figs/fstimer_fig61.png"><br><br> <!--645x277-->

A standard race is one where all racers have the same start time. In a handicap race, a "Handicap" time must be specified for all racers. Their final time is then calculated as the marked time minus the handicap. This allows racers to start at different times - a racer could start five minutes late, and by specifying a handicap of "0:05:00" for that racer, his or her time in the results would be corrected. Usually this is done for a race where all runners provide their handicap relative to a base time, and runners start at different times with the hope of all crossing the finish line around the same time.<br><br>

For lap timing, times are marked each time a racer completes a lap. The results printout will then display the total time along with the time for each of the individual laps.<br><br>

The next window allows you to specify the fields that will show up in the registration database.<br><br>

<img width="482" height="341" src="documentation_figs/fstimer_fig19.png"><br><br> <!--602x426-->
<img width="485" height="379" src="documentation_figs/fstimer_fig19.png"><br><br> <!--602x426-->

The "Up" and "Down" buttons allow you to change the order of the fields. This is the order in which they will appear in the registration database: The top entry in this window will be the furthest left column in the registration window, and the bottom entry in this window will be the furthest right column in the registration window. This is also the order that they will show up in the results printouts, should you choose to have them in the results printouts.<br><br>

The "Remove" button removes a field. ID and Age, however, are hard-coded fields and cannot be removed. ID is critical for the timing itself. If you don't want to use Age, you can simply leave that field blank. If it is a "handicap" race, then the field "Handicap" is also required. The "New.." buttons allow you to create a new entrybox or combobox. A combobox means in the registration database the entry will have to take one of a set collection of values. In the window for creating a new registration entry below, "Gender" is a combobox with options "male" and "female" (and blank). An entrybox is a box for freely entering text, like "Last name" and "First name" in the registration entry below.<br><br>
The "Remove" button removes a field. ID, however, cannot be removed inasmuch as it is critical for the timing itself. If it is a "handicap" race, then the field "Handicap" is also required. The "New.." buttons allow you to create a new "text entry," "number entry," or "selection box." A "selection box" means in the registration database the entry will have to take one of a set collection of values. In the window for creating a new registration entry below, "Gender" is a selection box with options "male" and "female" (and blank). An entry is a box for freely entering text, like "Last name" and "First name" in the registration entry below. If it is specified as a "Number entry", then whatever is entered will be required to be a number, or else it will not be printed in the results. Number entries are used for creating divisions, such as age ranges - the process of creating divisions is detailed further down.<br><br>

<img width="310" height="332" src="documentation_figs/fstimer_fig29.png"><br><br> <!--388x415-->

When creating a new entrybox, you will specify the name of the field (e.g., Last name) and the maximum number of characters to allow in the entrybox. The appropriate maximum number of characters will depend on the field (ID will probably require fewer than Address).<br><br>
When creating a new text entry, you will specify the name of the field (e.g., Last name) and the maximum number of characters to allow in the entrybox. The appropriate maximum number of characters will depend on the field (ID will probably require fewer than Address).<br><br>

<img width="482" height="341" src="documentation_figs/fstimer_fig30.png"><br><br> <!--602x426-->

When creating a new combobox, you will specify the name of the field (e.g., Gender) as well as what the options in the combobox should be, separated by commas. For example, "male,female" would indicate that the options should be male and female. A blank option will automatically be added to any combobox, you don't need to worry about adding it yourself.<br><br>
Number entries are created in the same way. The value in a number entry should always be an integer (i.e., not a decimal number). Number entries will allow you to enter text or decimal numbers, but invalid values like these will not be shown in the results.<br><br>

When creating a new selection box, you will specify the name of the field (e.g., Gender) as well as what the options in the selection box should be, separated by commas. For example, "male,female" would indicate that the options should be male and female. A blank option will automatically be added to any selection box, you don't need to worry about adding it yourself.<br><br>

<img width="482" height="341" src="documentation_figs/fstimer_fig31.png"><br><br> <!--602x426-->

Expand All @@ -78,7 +80,7 @@ <h3>Section 4.1 - Setting up for a new race</h3><br>

<img width="642" height="421" src="documentation_figs/fstimer_fig21.png"><br><br> <!--802x526-->

"New" allows you to add a division. Divisions may be defined using a combination of age and any of the comboboxes that were defined as registration fields. For example, if "League" was specified as a combobox in when creating the registration fields, then you could define divisionals using "League." The name of the division that you specify will be used in the divisional results. Then, use the checkboxes to specify which fields you want to use to define the division. In the example below, "Gender" and "League" have been checked, so only those two fields will be used to define the division.<br><br>
"New" allows you to add a division. Divisions may be defined using a combination of number entries and selection boxes that were defined as registration fields. For example, if "League" was specified as a combobox in when creating the registration fields, then you could define divisionals using "League." If "Age" was specified as a number entry, then any range of values can be used in defining the division. The name of the division that you specify will be used in the divisional results. Then, use the checkboxes to specify which fields you want to use to define the division. In the example below, "Gender" and "League" have been checked, so only those two fields will be used to define the division.<br><br>

<img width="642" height="421" src="documentation_figs/fstimer_fig33.png"><br><br> <!--802x526-->

Expand All @@ -92,7 +94,7 @@ <h3>Section 4.1 - Setting up for a new race</h3><br>

From the top group of checkboxes, you can select which registration fields to include on the results printouts. Next you can select to include Time and/or Pace. If the check box next to Pace is marked, then Pace will be included in the results, computed as Time / distance using the distance that you specify in the Distance entry box. If you enter "5" and your race is a 5k, then the Pace that is calculated will be min/km. If you enter "3.107" for your 5k, then the pace that is calculated will be min/mile.<br><br>

The last section on the window allows you to create custom computed fields, which can be calculated using any of the registration fields, plus Time. You refer to a field by putting the field name (case sensitive!) in curly brackets, as in the screenshot above. So, in the computed results {First name} refers to field {First name}. You can then use any Python operations that you could use on those fields. {Age} and {Time} are numbers (floats), all other registration fields will be treated as text (strings). {Time} will be the time in seconds.<br><br>
The last section on the window allows you to create custom computed fields, which can be calculated using any of the registration fields, plus Time. You refer to a field by putting the field name (case sensitive!) in curly brackets, as in the screenshot above. So, in the computed results {First name} refers to field {First name}. You can then use any Python operations that you could use on those fields. {Time} is a float number, any "number entry" fields are integers, and all other registration fields will be treated as text (strings). {Time} will be the time in seconds.<br><br>

For example, the expression:<br>
{First name} + ' ' + {Last name}<br>
Expand All @@ -118,4 +120,4 @@ <h3>Section 4.1 - Setting up for a new race</h3><br>
Continue on to <a href="documentation_sec4_2.htm">Section 4.2 Importing preregistration - details</a>.
</div>

</body></html>
</body></html>
Loading

0 comments on commit a90f340

Please sign in to comment.