jraceman v1.1.9 October 26, 2010 This version was prereleased as v1.1.8b on September 26, 2010. Bug Fixes: * It is now possible to double-click on a row of the Query results from the Registrations query tab to edit that row. Previously this would give an error about the "due" field. * It is now possible to do a search in the Registrations query tab using a value in the "due" field. Previously this would give an error. =============================================================================== jraceman v1.1.8a February 10, 2010 Enhancements: * The Class-Path in the MANIFEST file in jraceman.jar now includes "patch.jar" at the start. This allows a user to drop a patch.jar file alongside jraceman.jar in order to more easily patch JRaceman, such as to add custom resources. * For reports using the RaceInfo base, three additional resources have been added that can be used to customize reports without requiring changes to the Java source code: module.RaceInfo.extraTables - specify additional JOIN tables module.RaceInfo.extraColumns - specify additional column expressions module.RaceInfo.extraFieldNames - format field names for the extraColumns =============================================================================== jraceman v1.1.8 January 30, 2010 SQL bug fixes Enhancements: * The Entries task in the ByEvent tab now includes a column that shows the NonScoring flag for the team associated with each entrant. Bug Fixes: * When there is a size mismatch between a lane map and the lane count for and area, JRaceman now displays an error message noting that and suggesting how to correct it. * Fixed a bug in which filling in results for group races did not all get saved to the database (introduced in v1.1.7). * Fixed a bug in which the status of progressions was not properly calculated, leading to an inability to automatically progress an event (introduced in v1.1.7). =============================================================================== jraceman v1.1.7 August 9, 2009 SQL Debugging and Optimizations Enhancements: * There is now additional support for debugging SQL commands in the Debug Sql tab. + The menu now includes a command to clear the SQL list to more easily see what SQL statements are part of a user-level command. + The SQL statements now record the start time and duration of execution and display that in the list of Previous SQL commands. + The menu now includes a command to retrieve the SQL commands sorted in order to execution duration to allow easily finding the longest running SQL commands. + When executing an SQL command, the execution duration of that command is now displayed in the status line. + The number of saved SQL commands has been changed from 50 to 500. Bug Fixes: * Performance on larger databases has been significantly improved. =============================================================================== jraceman v1.1.6 October 26, 2008 Fix installer in Windows Enhancements: * The new file simplan-sdbf.txt in the data directory shows how you can set up a pretty complicated progression by using "flights" to divide up a round into groups that are independently tracked. This progression is used for Dragon Boat racing by the Sudbury Dragon Boat Federation. Bug Fixes: * The installer once again works in Windows. This was broken in version 1.1.4 and 1.1.5. * The Person Entries dialog was leaking about 500K of memory each time it was opened and closed, leading to an OutOfMemory error after about 30 minutes of continued use. The memory leakage has been reduced to a few K per open/close, making this problem much less severe. =============================================================================== jraceman v1.1.5 March 6, 2008 Sorting now works under Java 1.6 Enhancements: * The Filter tab in the Person Entries dialog now includes a "Remember these values" checkbox. If this check box is set when the dialog is closed, then the next time that dialog is opened the Filter tab will have the same values as the previous time. To clear the values when the dialog is closed, uncheck the box. Bug Fixes: * Sorting of tables now works properly when using Java 1.6. Sun added some new functionality to their Table in 1.6, and they picked a method name that I was already using, so things got confused. I changed my method name and that fixed the problem. * The Edit Parameters dialog in the Complan editing screen now includes the multipleFinals, nsProgMode and useExtraLanes parameters. In previous versions, you can work around this problem by manually setting these values directly in the Parameters field. =============================================================================== jraceman v1.1.4 March 3, 2008 A few miscellaneous enhancements Enhancements: * It is now possible to define a progression where an entry is progressed out of a best-time pool and into another one, as long as the target pool has a higher pool number. * The new Fill Order field in the ComplanStages tab allows controlling the order in which heats are filled when using a seeding list. This now works the same was as for Simplans. The default fill order is Round Robin, which is the same behavior as before. * You can now sort tables and sheets on multiple columns. To do so, hold down the SHIFT key while clicking on the header column of the second and additional columns on which you want to sort. The sort indicator arrow will appear in all columns on which a sort is being done. For all columns other than the primary sorting column, a number after the sort arrow shows the sorting order of the columns. * The TeamSetup/Teams/Export tab now includes two more export formats: Web Team Roster and Web Team Entries. These formats are the same as the export formats available to coaches for their teams through the web interface. The tab also now includes an Import button which allows importing files of those formats. Bug Fixes: * The sort order indicator arrow in column headers now properly updates when the sort column is changed. * Complans now work even when multiple Complans are loaded into the database. =============================================================================== jraceman v1.1.3 August 19, 2007 As used at the 2007 USACK Nationals Enhancements: * The new "Move Selected Entries" command in the By Event menu, available when using the Entries task, makes it easy to move a group of Entries into another Event. The "Move Selected Entries to another Level" presents only the list of Events which are the same as the current Event except for Level. * The Race Lanes report now shows Alternates. The previous Race Lanes report is now called Race Lanes Without Alternates (the new report is implemented slightly differently, so the old one is preserved in case of problems with the new report). * In the Registration Summary report, the event count no longer includes scratched Entries or Events. Entrants who are not entered into any events and have no amount due balance are no longer included. * The new data/sql directory contains an assortment of useful SQL snippets. You can load these into the Debug/SQL window, modify them for your situation, and execute. The Load and Save commands in the DebugSQL menu now remember the last loaded and saved locations. * The USACK Awards report now includes the new Bill Bragg award for most team C-4 points. Bug Fixes: * Errors during commands in the ByEvent menu now appear in a dialog rather than going to stdout. The Tool Prompts on those menu items also work now. * Average age calculations no longer include scratched entries. * In the list of reports in the Reports tab, the Race Awards report has been moved to before the Challenge race reports. * Race and Event numbers with four or more digits no longer cause SQL errors when used in the Report tab. =============================================================================== jraceman v1.1.2 August 12, 2007 Improved registration and scheduling Enhancements: * Three new commands in the Schedule menu simplify creating a schedule. + The "Set Duration for Selected Races" allows you to set a scheduled duration value for the Races you select. + The "Calculate Start for Selected Races" will calculate the start time for each selected Race based on the sum of the start time and the duration of the Race above it in the list. + The "Renumber Selected Races" command renumbers all of the selected Races sequentially, starting from the number of the race above the first selected race. * The new Filter tab in the Person Entries dialog allows you to reduce the number of Events displayed in the Full tab, making it easier to register one person for a set of Events. For example, by setting the Gender and Level in the Filter tab, you can reduce the number of Events in the Full tab typically to about 8. Sort by the Competition, and you can very quickly find the Events of interest. * The Person Entries dialog now includes the "Entered" column in the lower list (the list of currently entered Events). This makes it simpler to un-enter someone from many events. * The new IsLate web registration option supports late registration. When this option is set (see the Database/Options tab), web users will see a Late notice under the title at the top of every web page. You can set your own notice text by setting the LateLabel value in Database/Options. * The Names check now checks for all upper-case names. * The new EventEntries report shows who is entered in each event, grouped by group name. This can be used to show the groups before the Lanes have been drawn. =============================================================================== jraceman v1.1.1 July 16, 2007 Bug fixes, improved checks Enhancements: * The Import/Export page of the Team Menu in the web registration interface now includes a Download Data Checks button that downloads a CSV file with all of the data errors JRaceman thinks there are in the team entry data. * The new Check Lane Results menu command in the By Event menu runs the Lane Results check on the currently selected Event and Round and displays the results in the Query Results window. If when trying to progress you get a warning dialog about lane result problems, you can use this command to see the details. This command is only available when the Results task is selected. * The Schedule tab now includes an initially hidden "Free Where" field into which you can enter arbitrary WHERE clauses when searching for Events. In order to use this field, you must enable the "Show Free Where field" menu check item in the Schedule menu. When visible, this text field can be used for both Query Events and Search Races, although the table field names are slightly different. If you get an error when entering a WHERE clause, you can view the SQL in the Debug/SQL tab, from which you should be able to see the table names being used in that query. * The Race Entries report can now be sorted based on Race number rather than Event number, with Race number being the default sort. * Challenge-Fill is now a bit smarter about distributing empty lanes in order to improve the grouping. Bug Fixes: * When drawing lanes in an Event for which some lanes are already drawn, and that Event is a group event, it now correctly counts the number of previously drawn lanes rather than incorrectly counting every entry as a lane. This could lead to an error saying there was not enough space to draw all the remaining lanes. * When re-creating races, the Stage rather than the round is now preserved, so that when changing from a direct final to heats plus final or vice-versa, the final stays as a final with the same race number and start time, and the round number on it changes. =============================================================================== jraceman v1.1.0 July 3, 2007 Challenge Categories NOTE: If you upgrade to this version and are using seeding lists, you will need to make some manual changes in order to continue using those lists. See the comments under "Seeding Plans" below. Enhancements: * "Challenge" categories are now supported: + The new Team Setup/Challenges tab allows you to set up a list of Challenge category names. + The Team Setup/Teams tab allows you to attach a Category to Team records. + The new "Challenge" format of the Race reports (Lanes, Starter, Finish Line, Results, Score, Web Lanes By Race, Web Results By Race) shows the team number and challenge category instead of the person name. These are available in both the Reports tab and in the Reports task of the By Event tab. + The "Challenge-Fill" seeding order in the new SeedingPlans tab allows you to specify that unseeded entries should be grouped by the team's Challenge. * The Team Setup/Teams tab now allows you to specify a team number for each team. * Race comments and Event comments now appear in the Race reports (Lanes, Starter, Finish Line, Results, Score) at the bottom. * The new Team Setup/Seeding Plans tab allows specifying the Seeding Plans which are the valid choices when setting up lists in the Seedings tab. See the "Seeding Plans" section below. * When the Backup button is used for the first time on a host, it now opens a dialog allowing you to easily set the backup directory. * When generating web reports for the first time on a host, it now opens a dialog allowing you to easily set the web reports directory. * The new Debug/Change ID tab can be used to update an ID value in a table along with all references to that ID. There is a corresponding extended SQL command, "!changeid", that does the same thing: !changeid People XX.123 YY.234 will change the People record with ID XX.123 to have ID YY.234, and will change all references to match. NOTE: This function will not work on databases created with previous versions of JRaceman, as it required a change to the way in which foreign keys are set up when the database is initially created. Seeding Plans: * In previous versions of JRaceman, the Seedings table was set up with a "shortcut" which could cause problems (error messages about foreign keys). To correct this, and to allow for additional functionality, the old Seedings table was split into two new tables: SeedingPlans and SeedingLists. The SeedingLists table is the same as the old Seedings table except that it has a seedingPlanId column rather than a seedingListName column. The SeedingPlans table has one row for each seeding list, plus a column to specify how the unseeded entries should be ordered. To continue using your old seeding lists in the Seedings table, your must do three things: 1. Using the Seeding Plans tab, create a plan for your list. 2. For each Event which uses your seeding list, set the Seeding Plan on that Event to the same seeding plan as you specified in your seeding list. 3. Transfer the data from your old Seedings list into the SeedingLists table and add a reference to your seedingPlanId. You can try executing this command in the Debug/SQL tab: insert into SeedingLists(id,seedingPlanId,rank,personId) select id,'YourSeedingPlanIdHere',rank,personId from Seedings where listName='YourListNameHere' * The Events table formerly contained a field called "seedingListName". This field has been replaced by the new field "seedingPlanId". If you have upgraded your database from a previous version, the "seedingListName" column will still be there, but JRaceman will ignore it. If you do not require the data in that column, you can clean it up by executing the following command in the Debug/SQL tab: alter table Events drop column seedingListName Bug Fixes: * The Finish line report now properly uses the Zebra stripes in the Finish Line boxes. * The Starter report is now as wide as the other reports, so the header width generally does not exceed the body width (the space where the Result and Place columns go in the other reports is left blank). =============================================================================== jraceman v1.0.3 Jun 23, 2007 Add Fill Order in Simplans Enhancements: * Exception types now include a Result Allowed/Required flag telling whether a Lane with that Exception is allowed or required to have a result value. + 0 means a Result can not be used with that Exception, nor is a Place value allowed; 1 means a Result can optionally be given, and a Place value is allowed; 2 means Result and Place values are required. + The Exceptions tab has a new column, Result Allowed/Required, allowing this flag to be viewed and edited. + The Checks tab has a new button, Lane Results, which checks the Lane data for various conditions such as an Exception with a Result when that Exception does not allow it. + The USACK Sports definition file includes two new Exception types: Time Not Available (TNA), with resultAllowedRequired=1; and Estimated (EST), with resultAllowedRequired=2. All of the previously defined Exceptions use resultAllowedRequired=0. + Before progressing, the Lanes are checked to ensure that they have the appropriate Result and Place data. * The USACK sports definition file now includes the Masters Levels as used in recent USACK Nationals, and Simplan DF for direct finals races such as the 5K races. =============================================================================== jraceman v1.0.3 Jun 23, 2007 Add Fill Order in Simplans Enhancements: * The new Fill Order field in the Simplan Stages tab allows you to specify the order in which sections gets filled when drawing or progressing to a round with multiple sections. There are five choices, illustrated here by giving the order of sections into which each lane is assigned when there are four sections: SEQ = Sequential: fill up the section before moving on to the next one. 1,1,1,1,..., 2,2,2,2,..., 3,3,3,3,..., ... SEQ_SEQ = Sequential/Sequential: same as SEQ, but fill the lanes within each section in sequential order as well. RR = Round Robin: 1,2,3,4, 1,2,3,4, 1,2,3,4, ... SNAKE = Snake (or serpentine; boustrophedonic) 1,2,3,4, 4,3,2,1, 1,2,3,4, 4,3,2,1, ... ZZ = Zig-Zag (like Round Robin but offset by one on each pass): 1,2,3,4, 2,3,4,1, 3,4,1,2, 4,1,2,3, 1,2,3,4, ... Within each section, each time a lane is assigned it used the best available lane, according to the Lane Order if defined, except for SEQ_SEQ, which assigns lanes within each section in ascending lane number order (it uses the Lane Order lane numbers, but sorts them). * The new UnProgress menu command in the ByEvent menu will undo the progression to the next round. It will not unprogress if any of the progressed lanes already have results data in them. You must select the Entries/Progress task to use this menu command. * The new Clear Results From Race and Clear Results From Round menu commands in the ByEvent menu will clear the results from the current selected Race, or all races in the same round as the currently selected Race, respectively. It will not clear results if you have progressed beyond the selected round. You must select the Results task to use these menu commands. * The sql parser (used for importing SQL files and in -sqli mode) now reads multiple lines until it finds one that ends with a semicolon. This means you can split your SQL commands on to multiple lines for easier editing and reading. * The output format when using -sqli mode is now tabular, more compact, and includes a header with the column names. =============================================================================== jraceman v1.0.2 June 18, 2007 Bug fixes Enhancements: * The new data file data/simplan-nosemi.txt provides an example of a Simplan that progresses direct from Heats to Finals with no semifinals. Bug Fixes: * Printing reports no longer incorrectly uses style sheet formats from previous reports. * Simplans now work properly with a next-best-time value greater than one. * Fixed a NPE bug in the Finish Line report (introduced in v1.0.0). This bug also prevented the ByEvent/Entries task from working. * The Schedule TwoColumn report now marks its PAGE_BREAK marks with style "page-break-after: always", the same as the other reports. * The Personal Results report no longer includes empty pages for team members with no Entries. * Competitors in an event who are scratched or alternate no longer share in points in group events (this would only have been a problem when one person in the group is scratched rather than removing the entry, and another is added, and they place high enough to earn points). Other Changes: * The line count on the Schedule TwoColumn report has been changed from 37 to 40 to put a few more lines on each page. =============================================================================== jraceman v1.0.1 June 13, 2007 Bug fixes Enhancements: * Batch tasks, including running a server, can now be run in headless mode (i.e. without any graphics environment) by specifying "-Djava.awt.headless" as one of the arguments passed to the Java VM when starting JRaceman. See the server.bat or server.sh scripts for an example. * The new scripts client.sh, server.sh, shutdown.sh and backup.sh can be used as-is or as starting points for your own scripts on Unix hosts. * The new command line option -backup does the same thing as pushing the Backup button. The existing -textSnapShot command line option is similar, but takes a directory argument, whereas the -backup option uses the (possibly host-specific) Backup.directory option value from the database. If you specify the "-Djava.awt.headless" Java VM option, you can set up a command in a Unix crontab that automatically creates a text snapshot backup file on a regular basis. Bug Fixes: * Adding a new entry using the Person Entries tab no longer gives a null data error on the alternate or scratched fields. * Entering a new person using the web interface no longer generates a null data error on the teamEdit field. * The month field of birthday and expiration in new entries made with the web interface now store the correct value. * The amount charged and amount paid for teams in the check out page of the web interface no longer show -$0.01 when there is nobody registered for events on that team. * Fixed a caching problem in the web interface that sometimes caused old data to be displayed, such as right after entering a new person. * The change-password function of the web interface is now case-insensitive, matching that aspect of the initial login. =============================================================================== jraceman v1.0.0 June 3, 2007 Improved Web Registration Enhancements: * The web registration interface has been rearranged in order to make it easier to navigate. + There are now four main pages, each with their own menus: Main Menu, Team Menu, Member Menu, and Check Out Menu. The Team Menu and Member Menu are available only to people such as coaches who have the Team Edit privilege. + The Team Menu has three editing screens: Edit By Person, Edit By Event, and the new Import/Export. When using any one of these three screens, the Team Menu includes buttons to go to each of the other two. + The navigation buttons on the main pages are now on the left side in a sidebar rather than across the top. + The new Check Out pages provide a cleaner summary page for printing and sending in with payment. + Upgraded to JSF 1.1_02. * The new Import/Export page in the Team Edit menu of the web registration interface allows you to download a team roster or a team entries list as a CSV file, edit that file on your own machine, and upload your changes, so that you can use tools of your choice to do the work of editing your team data. * The web registration interface now puts up a small warning dialog in the lower right corner of the screen one minute before the session expires, and then covers the screen with a transparent panel to prevent further interaction when the session expires. * Page breaks in reports are now properly printed by standard browsers that pay attention to a CSS style class (named PRINT_PAGEBREAK) with attribute "page-break-after: always". If you create a custom style sheet and you want to preserve this behavior, be sure to include this class in your style sheet. =============================================================================== jraceman v0.9.4 April 24, 2007 Style Sheets for Reports Enhancements: * The Reports/General tab and the Reports task of the ByEvent tab now include a StyleSheet choice which modifies the formatting of those reports. The currently available styles are: + Classic - the same format as in previous versions of JRaceman. Reports which do not implement the StyleSheet choice will appear in Classic style. This style uses default HTML formatting. + Zebra - a more tightly packed style than Classic, intended to allow more data to be printed on each page in order to save paper. There is less space between each row, and when displayed by a browser (such as Firefox) rather than in JRaceman, no table borders between rows. Each row alternates background color to improve readability. Reports in this format will print up to 50% more data per page, or equivalently will print in about 2/3 of the number of pages as in the Classic format when printed from JRaceman, with an additional 10% or so decrease when printed from a browser. * You can add your own custom report styles by defining some rows in the ContextOptions tab. See the file data/sample-custom-style.txt, or see the Reports chapter of the Users Guide. * The Entries report now includes a count of the number of Alternate entries. * The new "View HTML Source" item in the Reports menu allows you to view the HTML for the currently displayed report. * You can enable the printing of Progression info at the bottom of the Race Lanes and similar reports by importing the JRaceman export file data/sample-print-prog-info.txt. Bug Fixes: * Fixed a subtle bug in progression definition that showed up for a progression with heats but no semifinals, as is the case in the Australian A progression. There was some confusion as to when the progression definition used a stage number versus a round number. Added some unit tests for the Australian progression. * Fixed column order in Entries report to match the header labels. * Added a missing comment terminator in teamedit.jsp web page. =============================================================================== jraceman v0.9.3 August 13, 2006 nsProgMode=after progression mode Enhancements: * The Precise progressions (Complan and USACK) now include an attribute called nsProgMode (for non-scoring progression mode) which controls how non-scoring participants progress. When unset or set to the default value of "with", no distinction is made between scoring and non-scoring participants. When set to "after", all scoring participants are progressed first, after which non-scoring participants are progressed to the best available lanes as space allows. Extra lanes, if any, are available to progress non-scoring participants. Warning dialogs are displayed if a non-scoring participant can not be advanced to the round he would advance to if advanced with the scoring participants, in which case he is advanced to the best available lane in the next round. For USACK events with International paddlers, the International teams should be marked as non-scoring, two extra lanes should be used, and the nsProgMode=after option should be set for the progression used. This will work as follows: + For the purpose of determining how many heats to run and for assigning lanes in the heats, no distinction is made between International and American paddlers. + When progressing from heats or semis, all American paddlers will progress as if there were no International paddlers. + After the American paddlers have been progressed, International paddlers are progressed to the best available lane in the round to which they would have progressed if they were progressed without distinction from the American paddlers. + Assuming two extra lanes have been set up, at most two International paddlers will be progressed directly from heats to final. + Assuming two extra lanes have been set up, at least two International paddlers will be allowed to progress to the final, either directly from heats or from semis. + When an International paddler would progress from a heat to a final but there is no more room (i.e. assuming two extra lanes, two international paddlers have already progressed to the final), the International paddler will be progressed to the best available lane in the semis. + If there are no more available lanes (including extra lanes) in the next round, all remaining International paddlers who would otherwise progress are out. + When an International paddler can not be progressed to the desired round, a warning dialog is displayed. The information is also displayed in the Messages tab in the lower half of the window. * The new "Nulls" check in the Database/Checks tab (on the right end of the button row with the Registrations button) looks for null values in database fields that might cause problems. If it finds some nulls in, say table Events, field scratched, you can correct these by entering this command into the Debug/SQL tab and pushing the execute button: update Events set scratched=false where scratched is null * The Entries vs. Lanes check in the Database/Checks tab now checks for a database inconsistency where the event IDs in Entries and Races records should be the same (referenced by the same Lanes records) but are not. * The new context option Meets.WebReports.directory can be set on a per-host and per-meet basis, overriding the value set in the Web Reports Dir field of the Meets tab. * The directory and filename fields in the MeetSetup/Meets/Edit tab now have Browse buttons next to them. Bug Fixes: * The Awards report now works properly even if there are null values rather than "false" values for some data fields (such as the scratched fields in the Events and Entries tables). The same fix was applied to a number of queries which were used in other reports, which may have displayed similar behavior in the event of null data. * Races with no scheduled start time are now excluded from the Personal Results report in order to avoid a "Can't format Object as date" exception that caused the report not to complete. * Database checks which do not use one or more of the Selections in that tab no longer abort with an error dialog; instead, they ignore the selection and run as if that selection was empty. A message is logged to the message tab noting this. This affects the following checks: Names, Plans, Nulls. * The Tabs/Edit menu, which had grown too large to fit on the screen, has been split into two menus: Edit and EditSetup. A few other label problems in the Tabs menu have been fixed. =============================================================================== jraceman v0.9.2 July 10, 2006 Bug fixes in progressions Enhancements: * After confirmation of a tie problem on a progression, the relevant lane information is now printed as a status message so that it is available for reference when manually verifying or changing the progression. Bug Fixes: * Complan entries for best-time progression no longer cause an error. * When there is a best-time progression, lanes which are in a best-time group but are not fast enough to advance to any round now have OUT lanes assigned to them, the same as in the main progression. This fixes a problem where, after progressing to semis when one such lane did not progress, JRaceman did not recognize that the event was ready to progress to the final after entering results for the semis. * When there is a tie in a best-time progression but the progression does not send all the entrants to the same round, it now puts up a confirmation dialog similar to when a tie happens in the regular part of the progression. * The confirmation message displayed when there is a tie and the tied racers advance to different rounds now displays the correct (possibly Complan) progression name rather than always displaying "USACK". =============================================================================== jraceman v0.9.1 June 24, 2006 Seedings Enhancements: * Seeding of races is now supported. + When drawing lanes for an Event for which a seeding list has been specified, entrants that are in the seeding list are assigned the preferred lanes in seeding order, smallest rank number first, after which entrants not in the seeding list are assigned lanes in random order. + Multiple seeding lists can be defined so that different Events can use different seeding lists if desired, or they can share the same seeding list. + The new Teams/Seedings tab allows setting up seeding lists to use for seeding lanes in races. + The Events tab now includes a Seeding List Name field to allow setting the name of the seeding list to use for that Event. If no seeding list name is set, seeding is not done for that Event. + When seeding a group event, the seeding rank for a group is calculated as the average (mean) of the seeding rank of all entrants in the group, including alternates. If at least one entrant in the group is seeded, that group is included in the list of seeded groups. If some entrants in a seeded group are not in the seeding list, they are assigned a seeding rank of one larger than the largest assigned rank in the seeding list for the purposes of calculating the average rank for the group. * The Enter Places dialog now allows keyboard entry for the buttons for lanes 0 to 9. Hold the Alt key and press one of the number keys. * The Person column in the Entries/Progress task of the ByEvent tab now has a wider default width so that most of the name is displayed. Bug Fixes: * The lower "Search Races" button (next to "Create Races") in the MeetSetup/Schedule tab no longer gives an error dialog complaining about "laneCount" not being found. * When an Entry is scratched before any lane assignments have been done, the By Event tab no longer says an Event is ready to Draw First Round when in fact the Event is ready to progress. * The ToResult column in the Entries/Progress task of the ByEvent tab now properly displays an exception (if set) else the result as a time. * The status message for the Add Time To Results command now properly displays Add versus Subtract, and the Results info is now updated immediately with the modified times. * When doing an auto-detected upgrade on startup, the main progress bar now correctly indicates the overall progress. * Switching to the Entries/Progress task in the ByEvent tab is now a little faster (although patience is still required for large events). Other Changes: * The lower "Search Races" button in the Schedule tab has been relabeled to "Search Event Races" to avoid confusion between the two buttons. =============================================================================== jraceman v0.9.0 June 3, 2006 Complans and Australian Progressions Enhancements: * The new Complan tabs allow specifying lane-precise progressions such as the USACK and ICF progressions. These tabs are next to the Simplan tabs in the Plan Setup tab (formerly named Simplan Setup). * The Australian Canoeing progressions are now available as a Complan. Import the file data/complan-ac.txt to load those definitions. * The USACK and ICF progressions are now available as Complans. They should function identically to the previously available implementation, but since they are stored in the database, you can look at their data to see how they should progress lanes. Import the file data/complan-icf.txt or data/complan-usack.txt to get these definitions. * The new ContextOption Reports.ShowProgressionDescriptions can be set to "true" in the ContextOptions tab to cause the descriptions of progressions to be printed at the bottom of race reports. * The SportSetup/Progressions/Edit tab now includes an Edit Parameters button to assist in setting the parameters for a progression. The Edit Parameters dialog builds a string and places it into the Edit panel, after which you still need to press the Save button there. * You can now specify a date and race number (if desired) in the add-special-to-schedule dialog, rather than having to create the special schedule item in the dialog and then set the date in the sheet. * The new "Group Selected Entries (manual)" command in the ByEvent menu opens a dialog to allow you to select the group name to use for the selected entries. You can choose any of the existing group names or enter a new group name. The old "Group Selected Entries" menu item has been renamed to include "(auto)" on the end. * The new "Add Time To Results" menu item in the By Event menu allows adding a "plus time" to all lanes in a Race. It also allows subtracting a time offset from all lanes in a Race. This menu item is only available when the Task choice is set to Results. * The Export tabs now include an Export Format choice that allows you to select the format of the output file. You can select the JRaceman format, which produces files in the same format as before, or the new CSV format, which produces files in the comma-separated-values format. * The new Load Properties button in the Debug/Properties tab allows quicker development of properties-based changes such as properties-based checks and reports. * There is now a DebugSql menu which appears when the Debug/Sql tab is selected. This menu includes the new "Append Previous SQL" command, which allows you to browse through the last 50 SQL statements and select one to add to the sql text buffer, after which you can edit and execute it. Bug Fixes: * A memory leak in the Printing methods has been fixed. =============================================================================== jraceman v0.7.8 September 21, 2005 Faster Report Printing Enhancements: * The Print Preview window now allows entering a page number to go directly to that page. * The new report "Entry Count Per Level" shows how many people entered events at each level. * The USACK Awards report now includes the Canoe Burgee awards. * You can now use the "!include" command in an import file to include another file in the import. Paths that are not absolute are relative to the location of the file containing the !include line. Bug Fixes: * Printing of reports (the Print command in the Reports menu) is now substantially faster and uses less memory, making it possible to print much larger reports. * When printing a report, a blank last page is no longer printed. * In the USACK Awards report, the people's names now appear properly in the table. * The progression class names in data/usack-sports.txt have been corrected. * The links that appear in the Tutorial Wizard now work. =============================================================================== jraceman v0.7.7 August 14, 2005 Used at USACK Sprint Nationals 2005 Enhancements: * The ByEvent menu now includes a new command, Import Race Results. In order to use this command, you must set the ContextOption "ImportRaceResults.filename" to point to an Excel spreadsheet in the format used by the Omega finish-line system. The command reads a row, containing finish line results for each lane, from a spreadsheet, produced/managed by the Omega finish line system, and displays a confirm dialog with the lane numbers and results. When you accept the dialog, it inserts those results into the race and updates the places and scores. * The Database/Options tab now displays the local host name. This is the value you should enter into the host field of a row in the ContextOptions table that you want to be used only on that computer. * The Names check now looks for the same name on different teams as well as on the same team. * When specifying a list of number for an integer IN field (which includes Event Number, but unfortunately not Race Number), you can now specify ranges of numbers by separating them with a dash, as long as the numbers are not more than 100 apart. For example, "1,4-7,9" is the same as "1,4,5,6,7,9". * The Entries report now includes an Alternate column. * There is now a set of OrderBy choices (Race Number, Event Number, Start Time) for the Race Lanes family of reports. This includes: Race Lanes, Race Starter, Race Finish Line, Race Results, Race Score, Race Awards. * The AwardLabels tab now includes an option to use 1-2/3in round labels (Avery 5293), 24 per page. If specified, the LeftImage for the meet is used as a background image. * The LeftImage and RightImage for AwardLabels can now be specified in a host-specific way by defining the ContextOptions Meets.Awards.labelImageLeft and labelImageRight. If no matching ContextOption is found, it looks in the Meets record as before. * The USACK Awards report now includes the Francine Fox award for first place in K1 W Juv 500m. * There is now a Medal Count By Team report that shows the various different kinds of medals earned by eacn team. * The Web Lanes, Web Results By Race and Web Results By Levels reports now print the race start time next to each race link. * The Web Per Day report now uses the Two Column schedule format. Bug Fixes: * The Levels checks for non-group events using an average-age level now works. * Average age levels in the Levels check now display with only two fractional digits. * Converting the results of a Max Entries check to HTML no longer causes a null pointer exception. * The web Schedules index page now says "Schedules" instead of "Scores". * The Schedule TwoColumnNoTime report now sorts in the same order as the TwoColumn report. * The USACK Awards report now properly lists the Donald Dodge award as being for the 1000m race rather than the 500m race. * Backgrounds for report annotations (such as "Preliminary") now work on most of the Reports/General reports (formerly they only worked on the Race Lanes family of reports). =============================================================================== jraceman v0.7.6 August 8, 2005 Almost ready for Nationals 2005 Enhancements: * The new Registration Summary report provides a summary of registration information for each team and meet. This shows amount charged, paid, and due, and waiver and membership columns, plus a TOTAL line that gives the totals of all the per-person lines above it. * In the Race Entries reports, Alternate entries now display the race round, section and lane the same as the other members of the same group. The name of the alternate is now shown in italics. The numbers of the first-round races are shown under the Event name. * The new ContextOptions table and Database/ContextOptions tab provide a location for context-specific options. The first such option to be implemented is for the Backup button in the menu bar: it now looks for a row in the ContextOptions table with name='Backup.directory' and host the same as the name of the current host. If found, it uses the value of that row; if not found, it uses the value of the 'Backup.directory0' in the Options table (the old way). * The Levels tab and table now includes a useGroupAverage column to specify that the age limits on a Level are to be applied to the average age of the group in a group event rather than the individual ages. The Levels tab now also includes a Sheet tab. Bug Fixes: * The Registrations check now complains about blank membership numbers and expiration dates as well as nulls. * The Race Entries report now works on Races for which no start time has been set. Other Changes: * The Race Entries report no longer shows the time of the Race, only the date. =============================================================================== jraceman v0.7.5 Jul 29, 2005 More support for Registration Enhancements: * The new Group Selected Entries command in the By Event menu simplifies reworking groups: when using the Entries/Progress task in the By Event menu and the selected Event is a group event, you can now select multiple Entries rows (using control-click on Windows, or command-click on a Mac), then select the Group Selected Entries command from the By Event menu and it will put all of the selected Entries into one group, ensuring that group does not have any members other than the selected Entries. * The new Checks menu in the Database/Checks tab includes the new command All Checks CSV which runs all of the checks and outputs results to a file in CSV format. You can run this once per team to collect one file per team with all of the checks for that team. * The Schedule menu now includes two new commands that help when creating Races for all Events. The "Query Matching Events with No Entries" command displays in the Query Results tab all Events which match the selected criteria (Meet, Event#, Area) and have no Entries. This can then be followed by the "Scratch all Query Results Events" command, which sets the Scratched flag on all Events displayed in the Query Results tab. By doing this before running "Create Races for Matching Events" and thus scratching all Events with no Entries you can avoid the dialogs that pop up warning you of this situation when you create the Races. * The Registrations Sheet tab now includes a Team selector to allow displaying the Registrations for a single team. * The Registrations table now includes two new fields, "discount" and "surcharge". These can be manually edited, and are used in the Registrations check when seeing who is fully paid. * In addition to the new discount and surchage fields, the Registrations tab now includes a Due field which displays the amount due as calculated from the other four amounts in the table, and an EntriesCount field which shows the count of Entries for the Person and Meet on that row. * The Registrations check now includes a check for people who have overpaid. * The Registrations check now checks for duplicate registrations. * Double-clicking on a row in the QueryResults after running a Check now opens the appropriate editing tab for that row (except for Max Entries checks). * The new -textsnapshot command line option is similar to the -exportdb option, but you specify only a directory, the filename is created automatically the same as when pushing the Text Backup button in the Database/Backup tab. You can thus set up a crontab entry to create snapshots into your snapshot directory, compatible with the snapshots created interactively. * The new Debug/ForeignKeys tab allows simpler viewing and updating of foreign keys references. Bug Fixes: * The -help command line option now includes help for the -tuneprogress command line option. * There is now a newline after the header line (column names) when exporting a file. * The error message noting that an Event using USACK progression must be in an Area with exactly nine lanes now tells which Event it is. =============================================================================== jraceman v0.7.4 July 14, 2005 Fixes from Ted Houk 2005 Enhancements: * The Person Entries dialog now has a tab that allows selecting between a compressed list of event buttons (the old way) or a full list of events allowing sorting on various columns. The group list is now in the bottom half of the dialog (instead of at the right), allows editing more fields of the entry, and shows all entries entered (not just groups). The bottom panel now also includes a label giving the number of entered and alternate events. * The Entries report now includes a column for Group, plus totals for the number of Events and the number of Groups. * The Database/Checks tab now includes a Team selection to allow running a check only against one team. * Query Results can now be output in CSV format. The first line is the set of column names. The tab-delimited format now also includes the column names as the first line. * The Races list in the Schedule tab now includes a Lanes column giving the number of Lanes used in that race. This makes it easier to schedule concurrent races if desired. * Web Registration enhancements: + The Delete Person operation has been modified to make it simpler to delete many users. Rather than having a push button to delete one user, there is now a check box next to each person, and a Submit Deletes button at the bottom. This allows the user to click on all of the records to be deleted and delete them all with one button press. There is a confirmation page, so it's actually two button presses. + The web registration module now supports having multiple meets accessed from different copies of the jraceman war file, based on the context path of each war file. This is done by manually adding an option named "WebRegistration.context.XXX.MeetId", where XXX is the context path, to the Options table. You can add a separate entry to the Options table for each different context path to access the different Meets. This mechanism (manually setting a row in the Options table with "context.XXX." after "WebRegistration" in the option name) will work for any of the WebRegistration options. + The below-account-blurb can now be customized for a Meet by manually adding the option WebRegistration.BelowAccountBlurb (or the context-specific version of same) to the Options table. The value for this option can include resource values by referring to them with the same "{@XXX}" syntax as is used in report resource files. * In the Debug SQL tab, the Execute button now executes only the selected text, or (if no selection) the SQL command around the insert point, where multiple commands are separated by blank lines. * In the Debug SQL tab, the Get Last SQL button has been replaced by two new buttons: Clear, and Append Last SQL. * The new Debug/EditField tab simplifies editing database fields with large amounts of text in them. Bug Fixes: * Saving the results of Database/Checks now works again (broken in 0.5.5). * Some bugs in performing progressions have been fixed. + Simplan failed to progress when there was a BYE + Progression check failed to recognize that a race was ready to progress when there were exceptions like DNS. * Some bugs in Drawing Lanes have been fixed. + It no longer incorrectly complains about group errors (such as on non-group Events). + It now correctly complains about groups with too few people due to some group Entries being scratched. + The Event info is now given in the Group Error confirm and error dialogs, rather than just the Event id. + Lanes are no longer drawn for scratched Entries. + When part of a group has already been assigned a Lane, the Draw will now assign the same lane to the rest of the group. * The web registration interface now detects if the user has used the browser BACK button and is attempting to submit changes from an old page. If so, it does not take the action, but responds with an "Oops" page telling the user not to use the BACK button. * In the Schedule tab, when deleting a race with no race number, it now displays "(no number)" rather than "null" for the race number. * In ByEvents/Results, when displaying a scratched Entry, it is now displayed with a hash mark (#) before and after it rather than . Other Changes: * The Database tab has been moved to be just to right of the Reports tab. The Site Setup tab has been moved to the left of the Team Setup tab. =============================================================================== jraceman v0.7.3 June 11, 2005 Registration Management Improvements Enhancements: * Web registration can now be closed by setting the WebRegistration.IsOpen database option to false. When registration is closed, existing web users can log in and view their data, but can not make changes. New registrations are not allowed. * The web registration pages now allow the user to select whether to display names last name first or first name first, with first as the default. * The web pages now show the session expiration time in the lower right corner. * The main box in the header on each web page is now a link to the web login page. * Web log prints now include a timestamp and the session identifier. * The Registrations tab now includes a read-only Team column. * The ByEvent/Entries tab now includes a Scratched column. * The new Entries report list Team, Person and Event for the selected Entries. * The Reports tab now includes an Order By choice for some reports. * The EntryCount reports now include the ability to order by the count values or the primary column. * The Personal Results report now includes the ability to order by Team and Person or just by Person. * The Levels check now also checks for no birthday specified. * The Groups check now also checks for group names with leading and trailing blanks. * The Registrations check now includes the Team in the output. * The new Names check checks for names with leading and trailing blanks, names in lower case, blank names, and duplicate names on a team. Bug Fixes: * Multiple simultaneous web users no longer get mixed up data. * The max-entries database check once again works when run before doing the lane draws. (bug introduced in v0.7.0) * The coloring (red/green) on the amounts in the Team Account box of the Team Edit web page has been corrected. * The red flags on the Team Edit web page no longer appear for people not entered into any events. * Registration records are no longer automatically created for every team member when the Team Edit web page is accessed. Instead, a registration record is automatically created when a person is entered into an event. Other Changes: * The web password check now ignores case. =============================================================================== jraceman v0.7.2 May 29, 2005 Web Registration Improvements Enhancements: * The Team Edit web registration page is now working: you can edit, add and delete records for any member on your team. There is an Account information summary at the bottom of the Team Edit page that shows the total amounts charged, paid and due for all team members combined. There is now also a Team Edit By Event page that allows seeing and editing the data by event rather than by person. * The birthday and expiration date fields in web registration are now done with choice lists for month and day to prevent confusion about the input format. * The Expiration Date field now displays on the Web Registration summary page. Both birthday and expiration date are displayed in MMM DD, YYYY format rather than in SQL standard format. * The Event Info display on the Web Registration summary page now appears to the right of the Person Info display in order to better use screen space. The Logout button now appears at the top of the screen on the same line as the Welcome message. The users name in the Welcome message is displayed in bold. * There is now a paying-by blurb at the bottom of the person and team web edit summary pages so that the user can print those pages, fill out the payment info, and send it in. * The new RegistrationFees tab in the MeetSetup tab allows setting up the amount to charge for registration based on the number of events a person has entered. This information is now used by the Web Registration page to show the user how much he owes after he has entered some events. If the Amount Due is negative, it is shown in light blue. * The web login page now has three sections for Login, Register and Forgotten Password. * There is now a timestamp printed in the footer of the web registration page to indicate when that page was generated. * There are now links to Payment Information and Waiver Information from the summary and team edit web registration pages. These point to pages defined by two new options that can be set in the Options page for PaymentInfoUrl and WaiverInfoUrl. * The new Payment Notes field in the Registrations tab allows you to enter and view free-form notes about payments from a user. * The Options page now includes a MailHost setting for sending out web registration email. * The People Sheet now includes the email field. Bug Fixes: * The Add Team html page has been repaired to once again have the proper content rather than being a copy of the Edit Team Privileges html page. * The person info page in web registration now displays the membership expiration date. * The Membership OK status on the web registration page now displays the correct value. =============================================================================== jraceman v0.7.1 January 27, 2005 Fix a fatal windows bug Enhancements: * The web registration form now includes an account section that displays information from the Registrations table, including amount due, waiver signed (yes/no), and membership OK (yes/no). * The new jraceman.debug system property can be set when starting jraceman (by using the standard java -D option) for debugging. * The new jraceman.debug.html system property can be set to print out some information about the html base directory (for debugging). Bug Fixes: * The "index error" bug that prevented the Windows version from starting (introduced in version 0.7.0) has been fixed. * The output of the -help command line option has been updated to include some previously missing items. =============================================================================== jraceman v0.7.0 November 25, 2004 Registrations tab and Scratch flags Enhancements: * The new Registrations tab in the MeetSetup tab allows you to handle registration of people at meets if desired. Using Registrations is optional: you can continue to use JRaceman without them, just as before. + You can query, add and edit Registrations using the MeetSetup/Registrations tab. + The new Registrations check in the Database/Checks tab checks for registration errors, which include the following: - Person entered into events but not registered. - (Person registered but not entered into events.) - Person has not yet fully paid up. - Signed waiver (release) has not been received. - Membership number or expiration date has not been entered. - Membership will expire before the end of the Meet. * The Events, Races and Entries tables now include "scratched" columns to allow you to scratch an Event, Race or Entry without deleting it. + You can edit the scratched flag for Events in the MeetSetup/Events tab. + You can edit the scratched flag for Races in the MeetSetup/Schedule tab. + You can edit the scratched flag for Entries in the MeetSetup/Entries tab. + In general, a scratched Event or Race shows up in strikeout text (with a line through it) where possible; where not, it is appended by "(SCR)" to indicate the scratch. Strikeout text is used in the following places: - In Schedule reports for scratched Events and Races. - In the body of the Race reports (Race Lanes, Race Results, etc.) for scratched Events, Races, and Entries. The "(SCR)" notation is used in the following places: - In Event lists in the Entries/Sheet tab, the ByEvent tab, and the Reports tab. - In the Race list in the ByEvent tab. - In the title of html reports, such as Web Race Lanes. + Scratched Events do not show up in the Entries/PersonEntries dialog. + Scratched Events and Races are ignored for all Checks. + In the Schedule tab, the "Create Races for Matching Events" and "Draw First Round for Matching Events" menu commands do not operate on scratched events. + The Awards reports do not include scratched Events, Races, or Entries. + The Score reports do not include scratched Events, Races, or Entries. + In reports, scratched Events, Races, or Entries, when printed, are shown in strikeout text. When not explicitly shown, scratched Events, Races and Entries are excluded from calculations. For example, in the Entry Count Per Event report, scratched Events are included and printed in strikeout text, but scratched Entries are excluded from the counts for both scratched and unscratched Events. In the Entry Count Per Team and Per Person reports, scratched Events and scratched Entries are both excluded from the counts. + In the Personal Results report, scratched Events and Races appear in strikeout text. A scratched Entry is indicated by strikeout text for the lane. The score for an Event appears in strikeout text if any of Event, Race or Entry is scratched. * The new eventComment column in the Events table and the new raceComment column in the Races table allow you to enter comments for an Event or a Race. + These comments will appear under the Race name in the Schedule reports, whether or not the Race (or the Event for that Race) is scratched. + You can edit the eventComment in the MeetSetup/Events tab. + You can edit the raceComment by using a new menu command in the Schedule menu of the MeetSetup/Schedule tab. This menu item is only selectable when a Race has been selected from the list of Races in the Schedule tab. * The new membershipExpiration column in the People table allows entering the expiration date for a person's membership. * The new teamEdit column in the People table allows specifying that a person is allowed to edit the Entries for all members of the same team when using the Web Registration interface. * The performance of sorting on a column in a sheet has been substantially improved. * The Concurrent Race Lanes check now prints each duplicate lane only once, rather than showing it in both directions (a=b and b=a). * This version includes a preliminary Web Registration interface. Because this is still very new, it is by default not delivered in a ready-to-run form. If you want to play with it, you will have to unpack the source and build the "war" file (with the command "ant war"). Bug Fixes: * The sort arrow icon in column headers once again works, showing which column is sorted and in which direction. Various bugs having to do with column sorting have been fixed. * The group total in the "Entry Count Per Event" report has been corrected not to count each entry in the group separately. * The Usack Awards report has been corrected to show the team totals for the per-level awards. * When doing a Check Upgrade or Upgrade, the progress bar in the dialog now works properly, and it tells which module (tab) it is upgrading. Other Changes: * The version of Mckoi Database shipped with JRaceman has been upgraded to 1.0.3. If you are interested in the changes to this version of Mckoi, see the Mckoi home page at . (This version of JRaceman includes a patch to the mckoi1.0.3 jar file, a new Planner.java file, available from the mckoi CVS repository after November 19, 2004. This patch is necessary only for one of the parts of the Registration check.) * The report buttons in the MeetSetup/Events/Query tab have been removed. Use the reports in the Reports tab instead. * The header and footer lines in reports now include a link to the jraceman.org web site. * The Users Guide has been updated to reflect accumulated changes. =============================================================================== jraceman v0.5.5 August 8, 2004 User Interface improvements Enhancements: * Tables (and sheets) now display the full text of a cell when you let the pointer rest on that cell briefly. If the cell is not editable, the text appears directly over the clipped text in the cell. If the cell is editable, the text appears below the pointer so as not to get in the way of editing the cell. * You can now get directly to an entry in a ComboBox by quickly typing the first few letters of the entry. As long as each keystroke is less than 3/4 second after the previous keystroke, it will be collected into a search string, and the first entry matching that string will be selected. If the first character of input is an asterisk (*), the first entry containing the rest of the search string anywhere within its string will be selected. * The Checks tab now includes a Reason column with a brief description of the problem that caused that line to be displayed in the results. * This version of JRaceman includes batch scripts for use on Windows to start a JRaceman database server, start a JRaceman client, and shutdown the server. When installing JRaceman on Windows, an additional option is presented which allows installing menus and shortcuts for these batch files, if the corresponding install-menus or install-shortcuts option is also selected. Bug Fixes: * International characters with accents (such as occur frequently in the Hungarian localization) are now displayed correctly. =============================================================================== jraceman v0.5.4 June 23, 2004 Fixes from Ted Houk 2004 Enhancements: * The type choice list in the By Event tab now includes By Event Name along with the existing By Event and By Race choices (which have been renamed to By Event# and By Race#). * The Preliminary toggle in the Reports task of the ByEvents tab has been replaced by the Annotation choice, allowing you to specify either Preliminary or Revised from that tab. * The new Race Starter report in the Reports tab and the Reports task of the ByEvents tab is suitable for use by Starters with a stack of these reports, one race per page, on a clipboard: this report has a large margin on the top to ensure that no data is hidden under the clip even when a generous amount of paper is under the clip. * The new Debug/Generate tab allows you to generate random data to fill your database. This is useful for testing, or to create some data if you just want to play with JRaceman and see how it works. * The Checks that show Event now include the Event Number. * Jraceman is going International! This release includes some localization resources for Hungarian. Bug Fixes: * Fixed bugs in the Entries task of the By Events tab, in which using the Add and Delete buttons could cause the data to get mixed up. * Fixed a bug in the handling of Race reports in the Reports tab in which there was an obscure error message ("java.lang.String") when the criteria for Race selection happened to include specials (such as a Break). The workaround is to ensure that the selection criteria select only races, such as by selecting for specific Races or Events, or by setting the Round selection. * If you run a RaceXxx report from the Reports tab and your selection does not match any Races, you now get an error dialog telling you that. * Fixed a bug in scoring that would improperly do group score splitting if two consecutive finishers both had a blank (as opposed to null) group. * The code now treats a null "alternate" field as false. This bug manifested in confusing ways, such as that JRaceman would assert that a team-boat race was complete when in fact no lanes had yet been assigned. The workaround is to ensure that the "alternate" field contains no nulls. To do this, after entering all Entries, go to the Debug/SQL tab and enter this command: update Entries set alternate=false where alternate is null * The site info on the Schedule report now prints properly if there is no city or state specified, rather than printing "null" there. * Specifying an Area on the Schedule TwoColumn report works once again. * Fixed the handling of importing so that backslashes (represented in an export file as a double-backslash) get properly imported, rather than being silently ignored. Other Changes: * The "Place" column in the Finish Line report has been changed to "Exception", and a comment has been added under the by-place box requesting that exceptions be written in that column. =============================================================================== jraceman v0.5.3 May 29, 2004 Report Enhancements Enhancements: * The "Preliminary" toggles in the Reports tab and in the Schedule tab have been replaced by an Annotation choice combobox. In addition to being able to select the "Preliminary" annotation, you can now also select the "Revised" annotation. The Revised annotation causes the report to have a light red "REVISED" watermark in the background. * For all reports in the Reports/General tab and for the Schedule Two-Column reports, the "Printed" date line now appears at both the start and the end of the report. If an Annotation has been selected, that annotation appears at the right and left ends of the "Printed" lines, for example as "**Preliminary**" for the Preliminary annotation. * The new RaceEntries report shows all of the Entries for all of the Races in an Event, by Group, including Alternates. Bug Fixes: * Running the installer on Windows out of a directory that contains a dash in the name now works. * The Database/Transfer tab once again displays properly. =============================================================================== jraceman v0.5.2 April 22, 2004 Bug Fixes, Improved Dates Enhancements: * Date fields are now more lenient as to input format, allowing both the normalized SQL format (such as "2004-01-02" for Jan 2), or the localized format ("Jan 2, 2004" for the en locale and the default). * Localized date formats for the de and hu locales have been added. * The F3 and F4 keys now work in the Entries and Results tasks in the By Event tab, and in the Person Entries dialog. As in the schedule sheet, F3 copies from above and moves to the right, while F4 copies from above and moves down. * The table name in an import file can now be quoted using double quotes. * For unit testing only, import files can contain additional commands: sql, sqlexpect, and sqlcheck allow loading and checking the contents of the database from an import file. Bug Fixes: * When editing cells in a table, errors are now caught and displayed rather than being sent to stdout (which is typically not seen when running under Windows). For example, if you enter a result value with the Auto-update Scores toggle set, and there is no scoring system, that error message will now appear in a dialog. In addition, the displayed values in the table are reset to prevent displaying an incorrect value (i.e. a value which may have been entered by the user, but which was not saved due to the error). * When Auto-update Scores is not set, it is now possible to enter scores that include a fractional part. * When adding a second new entry to an event after setting the name in the first new entry, the name of the first entry no longer disappears. Deleting an empty entry (one which was just added, but in which a name has not yet been set) no longer produces an error, but just deletes the empty row. * Changes to people made in the People tab (such as adding a new person or correcting a name) now show up in the Person choice list in the Entries task of the By Event tab immediately on return to that tab. * When printing a multiple page report with a Preliminary watermark, the watermark now appears on all pages (not just the first page). * The Options table (which replaced the Parameters table in v0.5.0) is now saved as part of a database text export. * The Concurrent Race Lanes button in the Check tab now has a tooltip. * When sorting strings where one string is a prefix of the other, the shorter string now comes first. =============================================================================== jraceman v0.5.1 January 16, 2004 Bug Fixes Enhancements: * The By Event tab now includes a Meet selection field immediately above the Event/Race selection field. Selecting a Meet from the Meet selection field limits the Events and Races in those choice lists to the specified Meet. You can turn off the Meet selection field with a toggle in the By Event menu, which hides that field. When the Meet selection field is not visible, Events and Races for all Meets are displayed. * ResourceReports can now include a base "where" clause by including a resource of that name. Bug Fixes: * A number of bugs in Lane Assignment and Progressions have been fixed. * The Award Labels report works again, it no longer gives an error about class jimmc.util.Duration not being found. * The Race resource reports now excludes the special Race records (such as Break), fixing a null pointer exception when using the Reports tab to generate the Race reports (such as Race Lanes) for all races. * The Alternate column in the PersonEntries form is now a toggle field. * The PersonEntries form's maximum size has been reduced to try to account for a possible task bar at the bottom of the screen. * The label on the Alternate column in the Progress task of the By Event tab now says "Alt." rather than "Pos.". =============================================================================== jraceman v0.5.0 December 21, 2003 Internal/schema/GUI changes, Tutorial Wiz Enhancements: * JRaceman now includes a Tutorial Wizard, available from the Help menu, that steps you through the basics of using JRaceman. The Tutorial Wizard automatically opens when JRaceman is first run. It is also available as the first item in the Help menu. * The Reports.General tab (formerly RaceDay.Reports) has a number of enhancements: + New report formats: Race Lanes, Race Finish Line, Race Results, Race Score, and Race Awards are the same reports as are in the Reports task of the By Event tab and the same as in the Finish tab, with the addition of the "Race" prefix here in the Reports tab. Web Lanes By Race, Web Results By Race, and Web Results By Level are the same reports as in the Finish tab. + New selection fields: Event Number, Race, Race Number, Race Date, and Race Rounds. For Event Number and Race Number, you can select the IN operator and use a comma-separate list of numbers to allow selection of multiple Event or Race numbers. + New selections for existing reports: You can now select by Event Number in the Entries By XXX reports. + The new "Show Disabled Selection Fields" allows you to control whether the disabled selection fields are visible when disabled, or removed from the form when disabled. The default for this control is off, which shows only the available selection fields. * The new Options tab in the Database tab allows you to specify the values of various options to control the behavior of JRaceman. * The "position" field in Entries has been changed to an "alternate" flag, which is either on (true) or off (false) for each entry. This is much easier to understand than the position number. When you upgrade an existing database, the new "alternate" column will automatically be filled in with the proper values as determined by examining the "position" column. Similarly, when you import an older exported file that uses the "position" column rather than the "alternate" column, the value of the "alternate" column is determined based on the imported "position" value. * The "class" field in the Progressions tab is now a choice list rather than a text field, making it simpler to select a progression class. * When running the Upgrade and Check Upgrade commands from the Database menu, there is now a Progress Monitor which allows you to cancel the operation. Messages from the operation appear in the Messages window as the operation progresses, rather than only appearing when the operation is done. Bug Fixes: * The Import command does more error checking than before. If you import a file with a column it does not understand, it will complain about that column rather than giving an unusable error message. * Fixed a bug that would sometimes cause an ArrayIndexOutOfBounds error when viewing Results, especially in the DebugSql tab. * The Total #Teams field in the Entry Count Per Event report is now right-aligned like the rest of the number fields. * On export, a backslash in a string is now quoted by another backslash. Other Changes: * The Race Day tab is gone. All of the subtabs which were in the Race Day tab have been moved into other tabs, as follows: - Progress: obsolete, moved into the Debug tab. Use the Entries/Progress task in the By Event tab to handle progression of an Event. - Transfer: moved into the Database tab. - Finish: obsolete, moved into the Debug tab. Use the Results task in the By Event tab to enter finish-line data for an Event; use the Reports.General tab to generate the reports that were formerly generated in the Finish tab. - Score: moved into the new Reports tab. - Award Labels: moved into the new Reports tab. - Reports: moved into the new Reports tab as Reports.General. - Races: moved into the Debug tab. - Lanes: moved into the Debug tab. * Building JRaceman now uses Apache Ant and a build.xml in the top level directory rather than "make" and a Makefile in each directory. This change should have no effect on the functionality of JRaceman. * The internal java packages in JRaceman have been rearranged to better conform to standards and to be more flexible. This should have no effect on the functionality of JRaceman. Progressions which previously used a class name starting with "jimmc.racer.progression" are automatically modified on upgrade to remove that old package prefix; the code now automatically adds the new default package prefix when needed if none is specified, so this should all "just work". * The Parameters table has been replaced by the Options table. If you have entered snapshot directories in the Database->Backup tab, you will have to reenter them. * In the Reports tab, the selection fields have been moved to the right-hand side of the tab. * JRaceman now uses JShortcut v0.3, which supports non-English characters. * A small collection of unit tests has been added. * The license for the documentation has been changed back to GPL. =============================================================================== jraceman v0.3.17 September 10, 2003 Bug fixes from Eric Hughes Regatta 2003 Bug Fixes: * In the Progress task of the ByEvent tab, "out" is now displayed in the from-lane column rather than -3. * Fixed a recently introduced bug in ProgressManual that prevented a new database from being created. * Ages for the Levels check are now being calculated correctly. * It is now possible to clear the Position field in the Entries task of the By Event tab. =============================================================================== jraceman v0.3.16 August 24, 2003 Some post-Nationals enhancements Enhancements: * In the ByEvent tab, the Entries task has been merged into the Progress task. When the From Round is set to 0:Draw, the button line includes the new Add Entry and Delete Entry buttons instead of the Progress button. The Progress button appears when you switch the From Round choice to something other than 0:Draw. The Person field is now editable. * The RaceDay/Reports tab now includes a text field that shows a brief description of the selected report. * When a report is selected in the RaceDay/Reports tab, only the selection fields that are available for that report are enabled; the rest are cleared and disabled. * The new Usack Awards report in the RaceDay/Reports tab provides a summary of the awards handed out at the USACK Sprint Canoe/Kayak Nationals. * The new "Entry Count Per Event" report in the RaceDay/Reports tab provides a count of the number of Entries per Event. Similarly, the new "Entry Count Per Person" and "Entry Count Per Team" reports provide the number of entries per person and per team. These last two reports replace the similar reports in the MeetSetup/Events/Query tab; they contain the same information, but allow more flexibility in selecting a subset of data on which to report. Bug Fixes: * The Preliminary toggle in the RaceDay/Reports tab now works. * The Paging choice in the RaceDay/Reports tab is now labeled. * The Users Guide has been updated to more closely match the program. =============================================================================== jraceman v0.3.15 August 11, 2003 Used at USACK Sprint Nationals 2003 Enhancements: * The database location is now displayed in the Database/Backup tab. * The count of rows in a Sheet is now displayed in square brackets just to the left of the Search button. * The new Backup button in the menu bar makes it easy to make a quick backup from any spot in the program. * The new Race Number field in the Finish tab allows searching for Races by Race Number. If a value is specified for either the Race Number or Race Date, a dialog asks for confirmation to search without using those values. * When entering results times, if the value is entered as just digits, without any punctuation, that number is now interpreted to be the values of the various fields run together; for example, 12345 means 1:23.45. * When saving the Query Results data, the data is now ordered in the same rows and columns as displayed. * The Query Results menu includes two new commands: - "Display HTML in Report Tab" allows easier viewing of the HTML for the Query Results. The generated HTML includes a "Printed" line with the date and time it was generated. - "Print HTML" displays the HTML in the Report Tab and then opens the print dialog for easier direct printing of Query Results. * When printing the QueryResults of a Database/Check, a title is now included telling what the results are for. (v0.3.14g,i) * The Progress Manual tab (and the Progress task in the By Event tab) now displays the From Round and From Lane along with the From Section. If the person has a bye for the From Round, the word "bye" appears in the From Lane column and the From Section column is cleared. If the person is out, the word "out" appears in the To Lane column. The word "out" is accepted for entry into the To Lane column. The new Group and Pos. columns provide information about the groups. The values in this column can be changed, which edits the Entry record. * The new RaceDay/Reports tab includes the new Personal Results report, which allows printing a page per person with the results of all of that person's races. Results for specific meets can be done separately. * When there are group errors during a draw, rather than an error dialog which aborts the draw, there is a confirm dialog allowing the draw to continue in spite of the errors. * When using an Entries Sheet to delete an Entry, and there are Lanes referring to it, the confirm dialog now points that out, and confirming the delete also deletes the Lanes. * The "Event:" label in the By Event tab has been replaced by a choice of "By Event" or "By Race", which allows you to choose either by Event or by Race. * The "On Races" choice list in the Reports task of the By Event tab now includes choices to select all Races of a particular Stage (when there is more than one Race in that Stage) as well as All Races. If there is only one Race, the All Races entry does not appear. If there are no Races, the list says "No Races" and the Generate button is disabled. * The Checks tab now includes a new "Entries vs. Lanes" button which checks the consistency of Lane assignments against Entries. * The Checks tab now includes a new "Concurrent Race Lanes" button which checks the lane assignments of concurrent races to ensure that the Lanes in the separate concurrent events are all different. * When there is a Tie Problem in a USACK progression, the dialog now allows the progression to be canceled. * The Max Entries check in the Database/Check tab now does not count an Entry when the person scratched from the first round of the Event. * The Person, Teams, and Details Score reports now include an HTML title. Bug Fixes: * Groups are now properly progressed together rather than having each person progressed as an individual. * The F3, F4 and F6 keys once more work in sheets. In particular, this means that the F6 auto-increment in the Schedule tab works. * Having multiple alternates in one group in a group Event is no longer flagged as an error (which previously would prevent a Draw from being done). * The Delete button in the Schedule tab now works for Specials, rather than throwing a NullPointerException. * In Schedule reports, specials which are not on the specified date are no longer included. * In the Database/Backup tab, paths with backslashes are now properly stored to the database, so that they appear properly when returning to the Backup tab. * The Entries Sheet and ByEvent/Entries task now disallow changing an existing Entry into a duplicate. * The Print dialog now has a slightly better message than "This panel is empty." * When trying to print from the Reports task in the By Event tab when there are no Races, it no longer throws a NullPointerException. * When printing the Teams And Levels report from Windows, it no longer throws a NullPointerException. Other Changes: * The PRELIMINARY watermark has been made lighter, and is now a grayscale image. * The Finish Line report has been modified to remove the Results column, and to move the Finish Line Results box up to the right of the list of paddlers. The "Attach Results" message has been moved to under the Finish Line Results box. * The splash screen now uses a normal frame, which allows you to minimize it while the program is starting. If you close the splash screen, JRaceman will exit. =============================================================================== jraceman v0.3.14 August 1, 2003 Off to Nationals Other Changes: * The PRELIMINARY image is now slightly larger, and is delivered as a PNG file rather than a JPG file to improve the image quality. * Unfortunately, the F3, F4 and F6 keys are not currently working in sheets. I have not yet been able to figure out what the problem is or how to solve it. =============================================================================== jraceman v0.3.13 July 30, 2003 Improvements to Reports Enhancements: * The Event Entries Report and the Progress Report now include the number of groups as well as the number of entries for each Event. * All of the Entries reports (Team, Person and Event) and the Progress Report now include a footer line with the date and time they were generated. * The Event Entries Report (formerly available only in the MeetSetup/Events/Query tab) is now available in the Reports task of the By Event tab, where it can be used to generate an Entries report for a single Event. * The Finish tab, the Reports task in the By Events tab, and the Events/Query tab in Meet Setup now include a "Preliminary" toggle, which, if set, causes a PRELIMINARY watermark to appear splashed across the background of the report. This setting has no effect on the Web reports. * The new By Event menu, which appears only when the By Event tab is selected, includes the Find Event command, which opens a dialog with a list of Races sorted by race number. This allows for easy selecting of an Event in the By Event tab given only the Race number. Bug Fixes: * The Person Entries dialog no longer exceeds the height of the screen when there are too many Events. * Using the Save HTML As command in the Query Results menu for data produced by a Check no longer results in a NullPointerException (when run before doing any queries in other tabs), and now produces the right column headers (when run after doing a query in another tab). * Using the Event Entries Report button in the MeetSetup/Events/Query tab no longer results in a NullPointerException. This bug was introduced (probably) in v0.3.11 when the Progress Monitors were added to reports. Other Changes: * The enhancement in v0.3.12 to include Competition, Level and Gender information in Event choice lists for Events with no name has been backed out because of problems interacting with sheets. =============================================================================== jraceman v0.3.12 July 27, 2003 Improved Importing Enhancements: * Importing a JRaceman file has been improved: + When there is a conflict on import, the message describing the differing fields is now a little easier to read. + A blank field (i.e. two commas with nothing between) is now imported as a null value, rather than causing an error. * Events using Simplan progressions now include a description of the progression at the bottom of the Lanes report. * In choice lists of Events, Events which have no name now display the name of the Competition, Level and Gender for that event. * In race reports, the section number is no longer printed if there is only one section in the round. * The "on" choicelist in the Finish tab has been split into two lists, the first ("on") with Selected/Matching/QueryResults, the second ("Paging") with Single/Double/Paged/Packed. This adds the ability to generate reports on the Races or Events which are displayed in the Query Results tab. Bug Fixes: * Bugs fixed in the Import process: + The Import progress dialog is now closed when there is an error during the import. + When importing string data into an integer field, the string value is now converted to an integer value, rather than just putting zero into the database. If the string does not properly convert to an integer, an error dialog appears. + When importing integer data into a string field, and importing the same data a second time, it no longer complains that the data is different from what exists in the database. + When importing data into a DateSpec field (such as People.birthday or Meet.startDate), illegal values are now rejected during the import. =============================================================================== jraceman v0.3.11 July 21, 2003 Draw and Progress improvements Enhancements: * The Progress Auto and Progress Manual tasks in the By Event tab have been merged into a single Progress task, which is the same as the Progress Manual tab with a few more buttons and labels at the top. * The Progress Report and the reports in the Schedule, Score and Awards tab now display a Progress Monitor. * The new Race Date field in the Finish tab allows selecting races based on their starting date, similar to the one in the Schedule tab. This field is not used for the Query Events button. When using the Query Races button, or when using any of the Matching "on" selections during report generation, only Races with a starting time on the specified date will be included in the results. * The new Race Rounds combo box in the Finish tab allows selecting races based on their Round. This field is not used for the Query Events button. When using the Query Races button, or when using any of the Matching "on" selections during report generation, only Races which match the selected Round criteria will be included in the results. Note that a Race may be both a First Round and a Final Round when there is only a single Round in a Race. * The Lanes report now includes progression information at the bottom of the page if the selected progression is a USACK or ICF progression. * When the database includes only one meet, most of the Meet query fields now auto-select that meet, rather than starting off blank. * When entering times into the Finish tab (or Results task) for a group event, the cursor selection automatically moves to the first row of the next lane if you use Enter after keying in the new data. * There is now a busy indicator that appears when the program is busy doing something. The indicator is in the menu bar just to the left of the Help menu, and displays the word BUSY in red letters. * The Debug Sql tab now supports executing a PREPARED statement. After pushing the Get Last SQL button, if the retrieved SQL is from a PreparedStatement, which is shown by the leading keyword PREPARED and trailing keyword PREPARED_VALUES following by a list of values, pressing the Execute button will now execute that query as a PreparedStatement. Bug Fixes: * When entering results for a group event, all of the entries for the group are now properly redisplayed with the new value. * Fixed another bug that prevented random assignment of lane numbers. * When doing initial lane assignment for an event using a USACK progression when there is no LaneOrder set, the lane ordering preference used is now 5,4,6,3,7,2,8,1,9,10,0 (rather than 1,2,3...). Other Changes: * A Meet selection is now required in the Awards tab (to ensure that labels are available, if used). =============================================================================== jraceman v0.3.10 July 11, 2003 By Event tab Enhancements: * The new top-level By Event tab provides a simpler way to operate on an Event: in that tab, you select the Event, then select the task you want to perform on the Event. There are no new capabilities in the By Event tab, but you may find it easier to use when you are focused on a single Event. The available tasks are: + Entries - like the MeetSetup.Entries.Sheet tab, allows you to edit the Entries for the selected Event. + Create Races - like the Create Races box in the Schedule tab, allows you to create Races for the selected Event. + Progress Auto - like the RaceDay.Progress.Auto tab, allows you to automatically draw and progress lane assignments for the selected Event. + Progress Manual - like the RaceDay.Progress.Manual tab, allows you to manually draw and progress the lane assignments for the selected Event. + Results - like the RaceDay.Finish tab, allows you to enter the results for the selected Event. + Reports - allows you to generate reports for the event, including all of the report formats from the Finish tab plus the Progress report format from the Progress Auto tab. * The new "Undraw First Round" button in the Progress Auto tab allows you to delete all of the first-round Lane assignments if they do not yet have results. * On startup, JRaceman now checks the database to see if it needs to be upgraded, and if so, presents a dialog allowing the user to upgrade the database. The upgrade is done early enough in the startup sequence to avoid problems caused by executing code that expects certain tables or columns to exist. * There are now a few more pre-defined progressions in the USACK sport definition file. These include variations on the standard USACK progression with such options as multipleFinals. You can see what the various combinations are by looking at the Progressions tab in the Sport Setup tab. The "Simplan" progression has been changed to refer to the newly added "Ted" Simplan, which is a progression that has been used at the Ted Houk Memorial Regatta in Seattle. The Simplan Ted definition has also been added to the USACK sport definition file. * Specifying the -debug command line option now adds a Details button to any UserException dialog. This can be used to get a traceback in the event that the problem is actually a program bug and not a user error. * The Events sheet now includes the Scoring column. Bug Fixes: * Pressing the Cancel button on the Progress dialog during an Import now cancels the import rather than just closing the Progress dialog. * When there is a lane assignment problem during auto progression, the information is now shown in a dialog (previously, an error occurred when trying to display this information). * Random lane assignment now works (a bug was causing lanes always to be assigned in order). * Various bugs that could prevent automatic lane assignment in unusual situations have been fixed. * Sorting and sort arrows in sheets now work better. * When drawing the first round, the completion message now correctly displays the number of lanes created. Other Changes: * Some of the messages in the Progress Auto tab have changed, since that function is now also available in the By Event tab. Similarly, some of the dialog behavior in the Progress Auto tab has changed. These are both relatively minor changes. =============================================================================== jraceman v0.3.9 June 26, 2003 Lessons from Ted Houk 2003 Upgrading: * This version of JRaceman includes some new fields in the Meets table (for award label images), and the new Parameters table (used by the new Backup tab). To upgrade, choose only one of the following: - Start JRaceman, then run the Upgrade command from the Database menu. - Run "jraceman -upgrade". Enhancements: * The Progress Manual tab now includes a "Draw" choice in the "From Round" choice list, which allows you to do manual lane assignments of the first round (the "Draw"), or to edit the lane assignments created by the Draw First Round button in the Progress Auto tab. * The Draw First Round button now does a check of the groups data for the Entries for the selected Event, in order to prevent errors and strange behavior due to incorrect or inconsistent group info. * The Event# field in the MeetSetup->Events->Query tab now includes the IN operator, making it possible to select a set of events to use for the Event Entries report. It is also possible to use other operators, such as "<" (less than) to select a set of events on which to report. * The new Database->Backup tab simplifies frequent manual backup snapshots. Fill out the directory location, then press the Text Backup button to create a text backup of the database into that directory, or press the Mckoi Backup button to create a backup database directory that can be directly used by JRaceman. The file name within the snapshot directory is automatically generated using a pattern with the date and time of the backup. The backup directory location is stored in the database, so you only need to fill it in once. * The new -user and -password command line options allow you to specify an alternate username and password on the command line. If there is an authentication error, a dialog box opens allowing you to enter a different user name and password. * The Entries Sheet tab now checks to prevent the same person from being entered twice in one Event (the Entries Edit tab already checked). * The new Schedule menu, which appears only when the Schedule tab is selected, provides additional commands for manipulating the schedule. - The "Create Races for Matching Events" command allows you to set up a selection for a set of Events, then create Races for all of those Events using the number of Entries for each Event. - The "Draw First Round for Matching Events" command allows you to set up a selection for a set of Events, then draw the first-round Lane assignments for all of those Events. - The "Add Special to Schedule" command simplifies adding special items to the schedule, such as Lunch or a Break. * The new Delete Race button in the Schedule tab allows you to delete the currently selected Race. * It is now possible to include images in Award labels. You can include an image on the left, and another on the right. To do so, edit the Meets data for the desired meet and put either a path to a file or a URL into the Label Image Left or Label Image Right fields. When printing Award labels, select the Meet before generating the labels. The left image file, if defined, will appear on the left end of the label; the right image file, if defined, will appear on the right end of the label. Note that you must do a database upgrade on your database in order to get these two new fields into the Meets table. * The new "1in by 2-5/8in" label format is for 30 labels per page, which have margins, such as Avery type 5160. * The team short name now appears with the person's name on the award labels. * The "Enter Places by Lane" dialog in the Finish tab no longer includes Lanes for which an Exception has already been entered. Bug Fixes: * Time fields in sheets, such as the Scheduled Start time in the Schedule tab, now accept a time specification without a seconds value, as well as dates without a space after the comma. Error checking and messages for those fields have also been improved. * Using the Create Races button on an event for which races already exist now works. * The Report->Save dialog title has been fixed. * Documentation has been added for the Progress Manual tab. * When a Sheet displays new data (such as when the Search button is pressed) and an editing operation with a pop-up choice list was in progress, the editing operation is now canceled, and no longer displays the wrong data in the newly displayed data. Other Changes: * String columns in tables and the list of strings in choice lists are now sorted with a "weak numeric sort", where numbers in the string are sorted numerically rather than lexicographically. This usually matches more closely the sorting order people expect. Negative numbers are not currently sorted as negative numbers, but are treated as a dash followed by a positive number, thus they appear after positive numbers, and in order of increasing magnitude. * The Two Column report in the Schedule tab now sorts by start time rather than race number. * The Help menu now appears at the right side of the menu bar. * The version of Mckoi Database shipped with JRaceman has been upgraded to 1.0.2. If you are interested in the changes to this version of Mckoi, see the Mckoi home page at . One of the changes is to move to a journaling system that improves data recoverability in case of system crashes. No changes or upgrades to the JRaceman database are required. =============================================================================== jraceman v0.3.8 June 15, 2003 Used at 2003 Ted Houk Memorial Regatta Enhancements: * For the reports in the Events and Finish tab, which may take a while to complete, a Progress dialog now appears if the report will take more than a couple of seconds to appear. You can cancel the report from this dialog. Beware when canceling a web report: it may already have produced some of the results files, and canceling will not undo those. * The new "-repair" command line option can be used to run the Mckoi database repair tool if the database becomes corrupted, such as may happen if there is a power failure. When the -repair command line argument is specified, the repair tool is run and then JRaceman exits. * The 11x3 awards label format now includes the event number. Bug Fixes: * Fixed an installer bug that prevented proper installation from a CD. * Fixed incorrect references to "groupId" in progressions, which prevented automatic lane assignments from completing (bug introduced in 0.3.7). * The Group column in the Finish tab once again correctly displays the group name (bug introduced in 0.3.7). * In the Finish tab, when the Matching/(anything) report layout is selected and there are no matching Races, the error dialog now says "No matching Races" rather than "No Race selected". * Event number query fields (in which the operator list included the IN operator) once more work properly. This affected queries on Event number in many tabs. Other Changes: * The Awards report in the Finish tab is now sorted by Event number rather than by Race number. =============================================================================== jraceman v0.3.7 May 30, 2003 Schema changes, Person Entries tab Enhancements: * The new PersonEntries tab in the Meet.Entries tab provides a way to easily enter or edit all of the entries for one person on a single screen. In that tab, select a meet and person, then press the Edit Entries button to open a dialog. Select the events in which that person is entered; for any group events selected, enter the group and position in the table on the right side of the dialog (make sure to press Tab or Enter after editing a field in that table), then press OK to commit those changes. * The Groups table has been removed, and the groupId field of the Entries table has been renamed to group. A group is simply defined as the set of all entries in an Event which have the same value in the group field. See the note below about upgrading from previous versions of JRaceman. * The Addresses table has been removed. The tables which formerly had an addressId field (Sites, Teams, People) now have all of the address fields (street, street2, city, state, zip, country, phone, fax) directly in that table, and in the tab. This matches the way people think about addresses better than having them in a separate table. * The error dialog now has a Details button instead of Print Traceback and Save Traceback buttons. The Details button opens a dialog showing the traceback, with Print and Save buttons. * The installer now includes a debug flag that you can set if you are having trouble getting the installer started. From a command window, use this command: java -Djraceman.install.debug -jar jraceman-0_3_7.jar Bug Fixes: * When saving a traceback to a file, the file dialog is now a Save dialog rather than an Open dialog. * A date in the format "MMM DD,YYYY" (without a space after the comma) is now accepted. * When the contents of a date field is not recognized, the value of the date string is now included in the error message. * The installer now works properly from a directory containing spaces somewhere in the path. Other Changes: * Long text strings in dialogs now appear in a scrolled window if the longest line is greater than 80 characters, or if there are more than 30 lines (as opposed to previously, when any message with a total of 80 characters would be displayed in a scrolled window). * The version of Mckoi Database shipped with JRaceman has been upgraded to 1.0.1. If you are interested in the changes to this version of Mckoi, see the Mckoi home page at . Upgrading From Previous Versions of JRaceman: * Due to the changes to the database schema (Addresses fields moved to Sites, Teams, and People tables, and groupId field renamed to group) you will need to upgrade your database. If you do not have any address information in your database, you can do the upgrade using the standard approach of saving a text file from the old version of JRaceman (using Database->Export Standard Data), then importing it into a blank new database using the new version of JRaceman, except that in this case you need to edit the file after exporting and before importing to make three changes: 1) delete the section which loads the "Groups" table; 2) delete the section which loads the "Addresses" table; 3) find the header for the Entries table and change the "groupId" field name to "group". Unfortunately, if you have any address information, things are more difficult. You may still be able to edit your exported text file to carry the information back into the upgraded tables. If you need to do this and are not sure how, contact me. =============================================================================== jraceman v0.3.6a May 19, 2003 Mckoi 1.00A (1.00 with bug fixes) Bug Fixes: * Unfortunately, Mckoi 1.00 had a bug that caused JRaceman's date fields not to work, with the message "Can't Cast" appearing for any query of a table containing a date field. This version includes an updated copy of Mckoi with a fix for that bug, but no other changes to the JRaceman code from v0.3.6. =============================================================================== jraceman v0.3.6 May 10, 2003 Client/Server support and Mckoi 1.00 Enhancements: * JRaceman can now be run in client/server mode. To start a server on the local machine, use the new -runserver command line option: jraceman -runserver You will typically want to run this in the background, and you may want to specify a -db option to point to your database. Server output goes to the file debug.log in the log directory in the database directory. To run a client which connects to a server running on machine jserv, use the new -dbhost command line option: jraceman -dbhost jserv This is equivalent to specifying a jdbc URL like this: jraceman -db jdbc:mckoi://jserv Both the -runserver option and the -dbhost option assume the default Mckoi TCP/IP port number, which is 9157. To shut down the server, use the new -sql command line option with the SHUTDOWN command, along with the -dbhost command to specify the server: jraceman -dbhost jserv -sql SHUTDOWN *NOTE*: At the moment, the username and password are compiled into JRaceman, and are the same for all users. This means if you run a database server, anyone with a copy of JRaceman and a connection to your network can access and modify your data. Bug Fixes: * Fixed a typo in the installer text. Other Changes: * The version of Mckoi Database shipped with JRaceman has been upgraded to 1.00, the first official release of Mckoi. If you are interested in the changes to this version of Mckoi, see the Mckoi home page at . For details on how to upgrade your database, see the note below, "Upgrading from previous version of JRaceman:" in the notes for v0.3.0. =============================================================================== jraceman v0.3.5 December 30, 2002 Progress bar on startup Enhancements: * The splash screen (startup window) now includes a progress bar displaying the progress of the program initialization. * JRaceman now uses JShortcut v0.2. On installation on Windows, attributes of an existing JRaceman shortcut (such as an icon selected by the user) are now preserved. Bug Fixes: * Fix NullPointerException in ProgressEdit on startup in some JVMs. =============================================================================== jraceman v0.3.4 November 25, 2002 Create shortcut on Windows Enhancements: * The installer has been improved and now shows a single dialog with the current install location (editable) with a Browse button and a check box to auto-start JRaceman when the install is complete. On Windows, there are also check boxes to ask it to create a JRaceman shortcut on the desktop and a JRaceman menu in the Start Menu (both true by default). * The default install location on Windows is now the logical Program Files directory. This is typically C:\Program Files, which is what the old default was, so most users won't see the difference; but for users with different setup, the new default will be difference and more appropriate. * The default location for the database on Windows is now located in the personal directory, typically C:\My Documents. * If the database is empty when JRaceman starts, it now asks if you want to import a sport definition file and provides a list of possibilities (currently only one, USACK Sprint Canoe/Kayak). * When importing a file, a progress meter is now displayed. Bug Fixes: * When running for the first time on Windows, after it asks where you want to put the default database, it no longer opens another dialog asking you if you want to create the database there. * When creating a new database, all necessary parent directories are now created automatically. Miscellaneous Changes: * JRaceman no longer asks for confirmation on exit, it now obediently does it immediately. * JRaceman now includes jRegistryKey v1.0b, a modified version that knows how to find its DLL from the CLASSPATH. * JRaceman now includes the JShortcut library v0.1, which is how it can create shortcuts and menu items on Windows. =============================================================================== jraceman v0.3.3 November 9, 2002 Work on Windows 98 Bug Fixes: * Fixed a database config problem that prevented the database from being created on Windows 98. =============================================================================== jraceman v0.3.2 November 1, 2002 Improved Installer Enhancements: * The install now includes an initial (simplified) dialog with a recommended install location. * On Unix, the JAR self-installer now allows you to start JRaceman directly from the installer. (This does not work on Windows due to a PATH bug that causes it not find jRegistryKey code - sorry, you must start JRaceman yourself, see the README.html file). * When running JRaceman for the first time on Windows, there is an initial (simplified) dialog with a recommended database location. * The new -setDefaultDB option on Windows allows you to change the default database location. * In the startup splash screen, the location of the database is now shown as it is being initialized. Bug Fixes: * Fixed the jarinst.exe program on the CD image to work with the new self-extracting jar files. * Fixed some array-index traceback bugs in the Debug tab. * Fixed a bug that caused lanes sometimes to be multiply assigned when additional entries were added to a race which already had some assigned lanes. * Fixed a bug where it was not possible to edit a record and set a foreign key from a value back to blank, due to foreign key database constraint errors. =============================================================================== jraceman v0.3.1 October 12, 2002 Used at the 2002 Eric Hughes Regatta Enhancements: * The new Two Column No Time report in the Schedule tab allows you to print up a preliminary schedule with dates but no times. Useful for handing out at scratch meetings when you don't want people walking away with a schedule that has the wrong times on it. * The new Finish Line report in the Finish tab prints out a report suitable for use by the Finish Line judges. It is similar to a Lane report, but with the addition of a table below the lane list with boxes in which the judges can write the lane order of the finishers. * The Two Column schedule reports and all of the Finish tab reports now include a footer line with a "Printed" date. * The Print Preview window now includes a scale choice with values ranging from 50% to 200%. * The version of Mckoi Database shipped with JRaceman has been upgraded to 0.94g. If you are interested in the changes to this version of Mckoi, see the Mckoi home page at . Bug Fixes: * When printing a report generated using explicit page breaks (anything other than /packed) and something that should fit on one page takes more than one page, all such pages are now printed. * Fixed a number of bugs that showed up in Sheets when columns were rearranged or rows were sorted. * Column tyes in Sheets are now more well-behaved, especially when first entering data into an empty Sheet. * The "Open" level and "Mixed" gender fixes from 0.1.8 got lost in 0.1.13; they have been put back in for this release. * Auto-increment on Float columns (such as Race# in the Schedule tab) using F6 now works. * The IN operator on the Event# field in the Finish tab now works. The Event# field now works to select a single Event as well. * Sheets once again preserve the user's changes to the size and order of columns when the Search button is pressed (this capability was lost in 0.3.0 with the switch to Mckoi 0.94f). * Fixed a bug that caused first-round draw on group events to say there were no lanes to draw. * Fixed a bug on award labels that caused the fractional part of times not to be printed. =============================================================================== jraceman v0.3.0 October 4, 2002 Self-extracting JAR file Enhancements: * JRaceman is now delivered in a self-extracting JAR file rather than either a ZIP or a compressed tar (tgz) file. The unzip.java previously used has been replaced by a modified ZipSelfExtractor from Java World's Tip #120. * The version of Mckoi Database shipped with JRaceman has been upgraded to 0.94f. If you are interested in the changes to this version of Mckoi, see the Mckoi home page at . * The new Transfer tab in the Race Day tab provides the capability to send files to and receive files from the FinishLynx finish-line timing system (http://www.finishlynx.com). The files are read and written to a transfer directory specified in the Meets tab. * The TBD sections of the Users Guide have been filled in. Bug Fixes: * Fixed export/import to work properly with JDBC escapes for date and time values, such as {dt '2002-09-22 09:40:12.0'}. * In the startup screen status, the real labels of the tabs are now displayed in the "Creating" messages rather than using the internal tab name. * Packed reports once more print properly (probably broken in v0.1.9). Reports which include explicit page breaks (all others besides Packed) still lose anything which doesn't fit on each page. Be careful using the Double and Paged selections; check them with Preview before printing. Miscellaneous Changes: * JRaceman now requires Java 1.4.0 or later. Upgrading from previous version of JRaceman: * If you are using an earlier version of JRaceman with its default version of Mckoi (0.92), you will need to upgrade your database. There are two approaches to do this: 1) Use Mckoi's tools to upgrade the database. To do this, see Mckoi's README.txt file. After running Mckoi's upgrade, use JRaceman's -upgrade command line option. 2) Use JRaceman's export and import. To do this, run the old version of JRaceman and use the Export Standard Data command in the Database menu to create a JRaceman text file. To work around a bug in the export format in previous versions of JRaceman, edit the file and look for the string "{dt" (without the quotes). This will be followed by a date and time string. Put single quotes around the whole date and time string. Do this for every occurrence of the {dt date-time} sequence. Save the file. Run the new version of JRaceman, create a new and empty database, import the new standard sport definition file, then import your data file. You do not need to use the -upgrade command line option. =============================================================================== jraceman v0.1.14 September 22, 2002 Improved Users Guide Enhancements: * The Users Guide has been improved: + It is now generated from XML source, so it has a table of contents, an index, and next and previous page links, making it easier to navigate on-line. + New material has been added, including a section on how to use the user interface components. Some new sections do not yet have any text in them; these are indicated with "TBD" (To Be Documented) in the text, and will be filled out in a future release. + In addition to the many-pages html format in which the Users Guide has been delivered in the past, the guide is now also available as a PDF file (doc/pdf/userguide.pdf) and as an all-in-one HTML file (doc/html/userguide.html). + The XML source for the Users Guide is included in the new file xml.zip. You can unzip this file if you want to build the PDF or HTML for the Users Guide from the XML source. Otherwise, you can ignore xml.zip. * The new Scoring tab in the Sport Setup tab allows you to specify a customized scoring table for your Events. The usack-sports.txt file includes two scoring tables, USACK2001 and USACK2002. The Meets tab has a new field, Scoring, in which you select the scoring system you want to use for your meet. There is also a Scoring field in the Events tab which you can use to override the scoring system for individual Events. * The new Lane Order tab in the Site Setup tab allows you to specify a custom lane ordering for an Area for use by first-round draw and Simplan progressions. For example, you could enter a lane ordering to specify using lane 9 first, then 8 etc. down to lane 1. * After doing a Upgrade or CheckUpgrade from the Database menu, the Messages tab is now raised to show the results of that command. =============================================================================== jraceman v0.1.13 September 9, 2002 Custom and Manual Progressions Enhancements: * The new Simplan Setup tab allows you to define custom progression plans. Simplan is short for "SIMple progression PLAN". The three subtabs (Simplans, SimplanStages, and SimplanRules) allow you to define multiple systems of progression plans, each system containing a set of plans for different numbers of entries. Each plan tells how many finishers advance from each stage to following stages. In addition, a specified number of "next best times" can also be advanced. To use your Simplan for an Event, you select Simplan from the Progression choicelist in the Event, and enter "system=yourSystemName" into the Progression State field of the Event. * The Progression tab has been split into Auto (the previously existing functionality) and Manual (a new tab). The Progression.Manual tab allows you to easily do a manual progression on a specific race, or to modify the lane assignments created by the automatic progression. Bug Fixes: * Exporting and importing boolean fields now works. * Fixed a bug in the new non-scoring code that caused an error traceback when auto-calculating scores. * The Stages tab now includes a boolean "isFinal" field which is set to "true" for the final stage. The Awards and Progression code now uses this flag to determine if a round is a final round, rather than using the name of the stage. The usack-sports.txt file has been updated to include this field. * The Stages tab now includes a "number" field which is set to the progression number for that stage (e.g. 1 for Heat, 2 for Semifinal, 3 for Final). The Progression code now uses this number rather than the round number, so that it works even when additional rounds have been added in the middle for reraces (the rerace rounds are not included in the automatic progressions, so must be handled manually). The usack-sports.txt file has been updated to include this field. * In the Progress.Manual tab, the Person column no longer shows up as editable (i.e. with bold header) when the tab is first opened. * Exporting a SportSetup file now includes the Competitions.maxAlternate field. * When printing a Progress report for an event with a group that has an alternate entry, that group now properly prints the lane/results info. The alternate is now listed at the end of the group rather than the start. Miscellaneous Changes: * The top level Races tab has been renamed to "Race Day" to avoid confusion between it and the second level "Races" tab within it. * The "Open" gender in the usack-sports.txt file has been changed to "Mixed". It now includes an "Open" Level. The Competitions table now includes maxAlternate values. * The fields in the Progressions form are a little bit shorter. =============================================================================== jraceman v0.1.12 August 24, 2002 Non-Scoring Teams Enhancements: * JRaceman now supports non-scoring teams, such as international athletes competing in national championships. The Teams tab now includes a "nonScoring" field which can be set to "true" on teams for which no scores are to be awarded. For example, you could create a team called "International" into which all international athletes could be placed. When calculating scores, JRaceman first derives a "scorePlace" value by taking the existing place values and discarding any lanes containing people on nonScoring teams. The resulting scorePlace values are used to calculate team points, rather than the regular place value which includes all competitors. The Lanes tab includes the new scorePlace field. You can also see the scorePlace values in the Finish tab, and you can edit those values if the Auto-Update Scores toggle is unset. In the Finish tab reports (Lanes, Results, and Score), if there is a difference between the score place and the overall place, two columns are printed in the report. * The new Awards report in the Finish tab produces a report, to be used when handing out awards, listing the first three finishers in an Event. If there are non-scoring competitors who finished in the top three places, the report will have two sections: in the first section, the top three scoring finishers are listed; in the second section, non-scoring finishers in the top three overall places are listed. Awards reports are only generated for races which are Final-1 races. * The Award Labels tab now includes a "Labels For" choice that allows you to choose to print labels for Scoring finishers only, Non-Scoring finishers only, or both. When printing both, Scoring finishers are listed before Non-Scoring (matching the order in which they are printed by the new Awards report in the Finish tab). The place listed for Scoring finishers is the score place; the place for Non-Scoring finishers is the overall place, followed by "(Non-Scoring)". * When moving the cursor over a link in the Help window, the link location is now displayed in the status line. * The date/time formats in the Finish tab reports and the web schedule index have been improved. Bug Fixes: * Query tab operators other than "=" work once again. * Score points are no longer awarded for Final sections other than Final 1. * Award Labels are no longer printed for Final sections other than Final 1. * Fixed a resource-name problem that prevented the Scores web index from listing any links. * Fixed a null pointer exception bug when creating a Results By Level web report when some races have bad data. * Web reports in the Finish tab no longer include event numbers for special events with negative numbers. * Web reports in the Finish tab no longer include races with no lanes. * The Place column of the Score Details report now prints a blank instead of a random number for team and person summary rows. * Award Labels for events with no date on the Final1 race no longer print "null" for the date, but leave it blank. * The output of Upgrade and Check Upgrade commands from the Database menu now appears in the Messages tab rather then being lost. Miscellaneous Changes: * The order of levels in the Results By Level and the Score by Team and Level reports has been modified so that the Open (any age) level comes first. * The order of fields in the Lanes tab has changed. * The Awards tab has been renamed to Award Labels. * The order of columns in the Lanes, Results, and Score reports (in the Finish tab) has changed: the Result column now comes before Place. =============================================================================== jraceman v0.1.11 August 11, 2002 Web Reports Enhancements: * The Meets tab now includes a "Web Reports Directory" field for specifying the root directory for web reports. There are various Web Reports (see below) which create HTML files directly into this directory hierarchy, complete with all necessary links and index pages to easily navigate the reports using a web browser. * The new "Web Per-Day" report format in the Schedule tab generates a set of files in the "schedule" subdirectory of the Web Reports Directory (see above) with the schedule of races for the selected meet. There is one page for each day of the meet, plus a schedule index page that points to all of the per-day pages. Note that Races with scheduledStart times outside of the start/end times of the meet will not be listed. * The new "Web Lanes By Race" report format in the Finish tab generates a set of files in the "lanesByRace" subdirectory of the Web Reports Directory (see above) with the lane assignments for all selected races. Each race is listed in a separate file, and an index file is created with pointers to each file. You can select one race at a time and generate the lane assignments for it, and it will be added to the previously generated reports in the lanesByRace directory. * The new "Web Results By Race" report format in the Finish tab generates a set of files in the "resultsByRace" subdirectory of the Web Reports Directory (see above) with the results for all selected races. Each race is listed in a separate file, and an index file is created with pointers to each file. You can select one race at a time and generate the results for it, and it will be added to the previously generated reports in the reportsByRace directory. * The new "Web Results By Level" report format in the Finish tab generates a set of files in the "resultsByLevel" subdirectory of the Web Reports Directory (see above) with the results for all selected races. All results for races in the same level are listed in one file, and an index file is created with pointers to all of the level files. * The new "Web Teams", "Web People", and "Web Details" reports in the Score tab produce the corresponding reports directly into the "scores" subdirectory of the Web Reports Directory (see above). * The new "Teams and Levels" report in the Score tab produces a table with one line for each team listing the total points for that team at each level, plus the total for all levels. The last line of the table gives totals for each column of the table. The "Web" version of this report generates output directly into the "scores" subdirectory of the Web Reports Directory (see above). * In the Finish tab, there are now four options for controlling the paging when printing reports for multiple races: Matching/Single (one per page, formerly called Matching/Paged), Matching/Double (two per page), Matching/Pages (as many as will fit on each page without splitting a report across pages), and Matching/Packed (least use of paper, but races may get split across pages). * The new Enter Places By Lane button in the Finish tab simplifies entering the finish order (places) based on the lane. If you are recording which lane came in first, which lane came in second, etc., then this new button will allow you to quickly enter that information, then move on to entering the times by place order. * The F4 key can now be used when editing data in the table in any Sheet tab in order to copy the contents of the cell above, then move down to the next row in the column. This makes it easy to fill in a column or a section of a column with the same values by repeatedly pushing F4. Bug Fixes: * When saving Query Results as html, the column headers as displayed are now used in the HTML rather than the column names from the database. Miscellaneous Changes: * The button rows in the Finish tab have been rearranged: the report row is now on the bottom. * The formats of the Lanes, Results, and Score reports in the Finish tab have been modified. The new format uses a smaller tinted header, and horizontal lines rather than full boxes in the body of the table. * The multiple report buttons in the Score tab have been replaced by a report format choice list and a single Generate button. =============================================================================== jraceman v0.1.10 July 20, 2002 Improved Finish tab Enhancements: * The Finish tab now includes Meet and Event selection fields, which are used by the new Query Events and Query Races buttons to make it easier to find and select a Race to be edited. * In the Finish tab, you can now report on multiple Races at once. The new "on" choice lets you choose whether to report on the Selected Race, or all Matching Races. If reporting on multiple Races, you can choose to have each Race report appear on its own page (Matching/Paged), or pack them all together without explicit page breaks in order to reduce the total number of pages printed (Matching/Packed). * In the Finish tab, the Auto-Update Places toggle has been replaced by a ComboBox with a new choice, Results By Place. When this option is selected, changes to the Place and Result values cause a check to ensure that the time values are sorted in the proper order to correspond to the place values. If not, an error dialog is presented pointing out the first location where a sorting error is found. This helps catch errors in the common situation where results are entered by first noting the lanes for each place (by filling in the Place values), then entering the Results by Place. * When a table is sorted by a column, that column is now marked with a down-arrow or up-arrow to indicate ascending (top to bottom) and descending (bottom to top) sort, rather than a plus or a minus. * An error dialog which displays a scrolled text box can now be resized in order to more easily read the error text. Bug Fixes: * The TwoColumn schedule report format no longer specifies a height value on the HTML tables, so browsers won't stretch out columns with less than a full set of rows. * Exceptions thrown from the Query Results browser (such as attempting to delete a row that has already been deleted) now appear in a dialog rather than being printed as a traceback to stdout. * When rearranging columns in the Query Results tab or in Sheet tabs, the sorting indicator (+ or - in the column header) now marks the right column. * The Event Number column in the Races display of the Schedule tab is now correctly labeled, rather than incorrectly displaying a duplicate "Race Number" label. * The editing table in the Finish tab no longer sorts itself after every data entry. If you want to sort it after making changes, you must click on one of the headers, or reselect the Race. * Column types in display tables do a better job of getting the correct data display type in the face of null values in the column, as long as there is at least one non-null value in the column. If you edit a value into a column which previously contained all nulls, the type may be wrong. If you can enter one such value and then re-query or re-search, the table should then display using the correct data type. Miscellaneous Changes: * The menu items dealing with the Query Results tab have been moved from the File menu into a new Query Results menu. * The menu items dealing with the Report tab have been moved from the File menu into a new Report menu. * The Print Help command has been moved from the File menu to the Help menu. * The Search Events button in the Progress tab has been renamed to Query Events. * The three separate report buttons in the Finish tab (Lanes Report, Results Report, and Score Report) have been replaced by a choice list. * When clicking on a column to sort it, each click on the same column toggles the direction of the sort. Using the shift key is no longer required (and no longer works) to force a descending sort. =============================================================================== jraceman v0.1.9 June 29, 2002 Improved Scheduling Capabilities Enhancements: * The Schedule tab now includes an Event text field and operator, including an IN operator to allow querying on a set of Events. * The Schedule tab now includes a Race Date text field, to allow you to select only Races on a specific date. This field is not used when the Query Events button is pressed. * The new Query Events button in the Schedule tab allows you to more easily get a list of Events into the Query Browser, from which you can select an Event in order to use the new Create Races button to create Races for the Event. * The Schedule tab now includes a Create Races subpanel just below the query fields. This subpanel displays information about the currently selected Event and allows you to quickly get the list of Races for that event. The Create Races button allows you to create new Races for that Event for a specified number of entries or groups. * The Create Races functionality is now much smarter: it can create, delete, or modify existing Races as necessary to bring them in line with the new desired entry count, as long as the Event hasn't yet started. If there are results for any Races for the Event, JRaceman will refuse to automatically create or delete any Races for that Event. * There are now multiple report formats available for Schedule Reports, selected by a choice list in the Schedule tab. The WithArea and WithoutArea formats are the old formats. The new TwoColumn format prints out a more compact schedule with fewer details per race but more races per page. Most people will find this format better for printing. * It is now possible to enter special non-race Events, such as Break or Lunch, to appear in the Schedule reports. If you enter an Event with a negative event number, then you are not required to fill out the rest of the fields in the Events record. You can then create a Race record, assign it a start time and race number but leave the other fields blank, and that will appear in the schedule reports. If you have multiple items of the same type (such as multiple breaks), you can use one Event with multiple Race records for it. * Searches against DateSpec values now match against the entire timespan of the DateSpec; for example, you can find all people born in 1986 by entering just "1986" in the birthday field of the People Query tab. * The new Open Page command in the Help menu allows you to view any URL in the Help tab. * The new Print Help command in the File menu allows you to print the contents of the Help tab. * When printing HTML pages, special sequences are used to control printing. These are not standard HTML, so will not be recognized by other browsers. Most of the special controls are comments, so will be ignored by other browsers. You will see these special PRINT comments if you save a report which uses them. For example, generate a Two Column schedule report to see the use of the PAGEBREAK class marker and the MARGIN comment. Bug Fixes: * The text box in the error dialog is no longer so small. * Printing reports with more than one page of data now prints the whole report, rather than only printing (or previewing) the first page. * Print Preview no longer prints in the margin area for long pages, in order to match the actual printed output. Miscellaneous Changes: * The Schedule tab is now in the Meet Setup tab. =============================================================================== jraceman v0.1.8 June 17, 2002 Tested at 2002 Ted Houk Memorial Regatta Enhancements: * You can now directly edit the Place and Score values in the Finish tab by turning off the corresponding auto-update toggle. * When selecting a different race in the Finish tab, any changes you have made to the size and ordering of the columns in the lanes table are now preserved. * The Database->Checks tab now includes a "Max Alternate Entries" check to tell which people are entered as alternates into more than the maximum allowed number of events. * The Person and Event columns in the Lanes tab are now editable. This makes it much easier to use that tab to edit Lanes entries. Changing the Entry column for a row will update the Person and Event columns for that row; changing the Person or Event column will update the Entry column. If there is no matching Entry for a Person/Event combination, the Entry column will be blank. This is your clue to pick a different Person/Event combination, or to switch to the Entries tab and add an Entry record for that Person/Event. Note that the Race column does not automatically get updated; if you change the Event (or if you change the Entry and it changes the Event), make sure you change the Race to match that Event. * The USACK sports definition now includes a Rerace stage. When the progression can't resolve a tie by placing all tied racers into the same next-stage race, it will tell you with a dialog. At this point, you can add a rerace: using the Races/Races tab, select the desired event, edit the existing races that come after the rerace to change their round number (this part is optional; it makes the Progress report look better), then add a new race for the rerace with the right round number. Use the Lanes tab to create Lanes entries for the racers in the rerace. Use the Finish tab to enter the times for the rerace, then use the Lanes tab to edit the lanes for the lanes into which the rerace finishers will progress. * There is now an "Open" level in the USACK sports definition, with no age limits. * The File command now includes a "Save Query Results HTML As" which saves the contents of the Query Results tab as an HTML file with a table in it. * The File command now includes a "Save Query Results Tab Delimited As" which saves the contents of the Query Results tab as a tab-delimited file. * When importing, the dialog for changed data now includes Yes/YesAll/No/Cancel buttons, rather than just OK/Cancel. The cancel button now cancels the whole import, rather than just the current row. The No button skips the current row (which is what the Cancel button did). * The Races table now includes a number field to allow a schedule to include race numbers. The Races/Races tab and Schedule tab can be used to edit this number. The Race Number is included in the Schedule, Lane and Result Reports and in the header of the Finish tab. * The F6 key can now be used when editing data in the table in any Sheet tab in order to copy the value of the cell above plus 1, then advance to the same column in the next row. This makes it easy to fill in a column with incrementing values by repeatedly pushing F6. * In the Schedule tab, a text field allows you to set the number of minutes to use for the F6 auto-increment key when used in the Scheduled Start or Actual Start columns. This makes it easier to set up a schedule where each race is the same number of minutes apart. * The Lane column in the Finish tab is now editable. * The Entries tab now includes a Sheet tab to simplify entering and editing Entries. * The Lanes Report and the Results Report in the Finish tab no longer include the Score column. The new Score Report includes that column, so is like the Results Report used to be. Bug Fixes: * When calculating the score for an event with more than one person in a group using ProgressionUsack, a group where all members are on the same team gets additional points equal to the size of the group divided by two (i.e. C2 and K2 get 1 extra point, C4 and K4 get 2 extra points). * When rearranging the columns in a table with some editable columns (such as in the Finish tab), the highlighted headers for the editable columns now properly follow the moved columns rather than highlighting the wrong column. * When creating a Lanes or Results report, null score values no longer prevent the report from being generated, but are replaced by 0. * When editing records with dates (such as the Birthday field of a person record), it no longer incorrectly claims the date has changed when it has not. * Creating or upgrading no longer dies with a strange null table name error. * Export no longer gives a null pointer exception (this bug was introduced in 0.1.7 when the Browse button was added). * Foreign key choice lists in Query and Sheet tabs now update properly when the foreign key data changes. * The "Save Query Results SQL" command now gets confirmation before overwriting an existing file. * Import update now works on table with multi-column keys. * When importing data and a row is missing some key data, the error message now specifically says that. * When printing a Lane report and the first lane is null, it no longer gets into an infinite loop doing nothing. * When selecting a new Event in the Progress tab, the info area on the right side of the input tab now scrolls to the origin. * Entering results and doing Progressions are now faster due to use of a single transaction for the entire operation. Miscellaneous Changes: * When resizing a Sheet, all of the resizing area now goes to (or comes from) the bottom (table) half of the sheet. * When resizing the top of the Schedule tab, all of the resizing area now goes to (or comes from) the bottom (table) half of the table. * The "Open" gender has been changed to "Mixed" in the USACK sports definition. =============================================================================== jraceman v0.1.7 June 1, 2002 Enhancements: * The new Groups check in the Database.Checks tab checks for problems in the entries for group events, such as duplicate or missing positions or too many alternates. * The new Levels check in the Database.Checks tab checks for competitors racing in a level at which they are not allowed to race. * It is now possible to edit the results of most of the Database Checks. Double-click on a row to edit that row. * The Sheet tabs now include a Delete button to delete the selected item. * There is now a Preview button available in the Print Report dialog. * The Exception dialog now includes a "Save Traceback To File" button, making it easier to save an error traceback to send along with the description of a problem. * The Export tabs now include a Browse button next to the Output File field. * There are now tool prompts for the menu items: when you mouse over a menu item, a longer description of that menu item appears in the status line at the bottom of the window. * "Disqualified" (DQ) has been added as an Exception. Bug Fixes: * The minimum age for the Master class in usack-sports.txt has been corrected (from 18 to 30). Miscellaneous Changes: * In order to support the new Levels check, the Levels table now includes two new columns, minEntryAge and maxEntryAge, which define the age range of competitors allowed to race at each Level. * The default scoring points have been changed from 10,6,3,2,1 to 6,4,3,2,1 (to match new USACK rules for 2002). =============================================================================== jraceman v0.1.6 May 18, 2002 First publicly announced version Enhancements: * The new Database tab and Database.Checks tab give you the ability to run consistency checks on the database in order to find data entry errors and constraint violations. The Checks tab includes these checks: Genders; EntryCounts. * The Awards tab now includes a Preview button to let you see what the labels look like before you print them. * The new command line option "-database" (or the equivalent "-db") allows you to specify an alternate database to use. * The new command line option "-exportDb" allows you to export the standard tables from a database. * The alternate (/2) USACK and ICF progressions are now available. To select the alternate progressions, use the progression option "useAlternateProgressions". Bug Fixes: * In the Entries tab, duplicate entries (same Person and Event) are now detected and not allowed. Miscellaneous Changes: * If you cancel the startup dialog asking you if you want to create a database, it no longer shows you a "no database" dialog, but just exits immediately. =============================================================================== jraceman v0.1.5 May 3, 2002 First public links on the web Enhancements: * The new Awards tab in the Races tab provides a place to print labels for awards. See the help-on-tab for details. * The Lanes tab has been reworked to make it possible to edit Lanes with it. It does not display as much information as before, so it may not be quite as useful for searches as before, but it is also less cluttered. * The new Sheet tab in the Lanes tab allows easier editing of groups of Lanes, such as if you need to manually assign lanes. * The Races tab has been reworked to make it better for editing Races. * The new Sheet tab in the Races tab allows easier editing of groups of Races, such as if you need to manually create races. * The F3 key can now be used when editing data in the table in any Sheet tab in order to copy the contents of the cell above, then advance to the next column in the row. This makes it easy to fill in a row from the one above it by repeatedly pushing F3. * The Events tab now includes a Name field. You can use this to override the default name of the event, which is generated from the various fields of the event. If specified, the name will be used in reports. (You may need to run "jraceman -upgrade" on an existing database in order to add this new field.) * The "Changes Made" dialog now includes a Details button which shows the fields which have changed, including their old and new database values. (These values are not always the same as the displayed values, but are the actual values stored in the database.) * If you have a directory called .jraceman in your home directory (as defined by Java's user.home system property), then when JRaceman exits with an error message it will store a Java traceback in a file called error.txt in that .jraceman directory. This is useful for debugging. * The Debug SQL tab now includes a "Get Last SQL" button that will load the most recent SQL statement executed by the program into the SQL text area. That text area now has scroll bars when the text exceeds the size of the window. * The kit now includes a sample database (data/usack-nat2001-db.txt) with partial data from the USACK 2001 Nationals at Lake Natoma. Bug Fixes: * The addition of the Sheet tabs caused some bugs due to improper interaction with the Edit tab, the main visible symptom being the spurious opening of a "Changes Made" dialog when in fact no changes had been made. This has been corrected. * Fixed a rounding bug in durations which would for example make the number 1.30 appear as 1.210. * The results browser in the Results tab no longer has an extra level of scroll bar. * The Save Report file dialog now remembers its directory between uses (within one execution of the program). Miscellaneous Changes: * The file data/canoe.sql is no longer included in the kit. It has been replaced by data/usack-sports.txt, a JRaceman import file. =============================================================================== jraceman v0.1.4 April 21, 2002 Enhancements: * The new Sheet tab in some second-level tabs allows adding and editing the records of that tab all on one page, like a spreadsheet. The new Tabs->Sheet menu allows you to quickly navigate to these tabs. The tabs which now have a Sheet tab for editing are: TeamSetup.Teams, TeamSetup.People, TeamSetup.Groups, MeetSetup.Events. * Date columns, such as the birthday field of the People table, can now accept partial date specifications, with only a year, a year and a month, or a year, month and day. Date/time specifications can be made to the hour, the minute, the second, or fraction of a second. * During database initialization, upgrade messages now show up in the splash screen message line. * The various File Dialog boxes now display a prompt as the title. Bug Fixes: * Handling of date or date/time columns, such as is used in the Schedule tab, is improved. * The editing table in the Schedule tab no longer has an extra level of scroll bar. * The Import SQL file dialog now remembers its directory between uses (within one execution of the program). Miscellaneous Changes: * The "Sheet" commands have all been renamed to "Report" commands. Internal use of "sheet" within the program was also changed to "report". * The database type of the date columns (People.birthday, Meets.startDate, Meets.endDate, Meets.ageDate) has been changed from Date to String. The application handles converting this value to a DateSpec (partially specified date). * The short name now appears before the full name in the Teams tab. * The event number now appears just after the Meet in the Events tab. =============================================================================== jraceman v0.1.3 April 6, 2002 First release on the web Enhancements: * The new Details Score Sheet in the Score tab prints one line for each person and event for which points were scored, sorted by team, person, and event. If a person scored in more than one event, a total line is printed for that person. If a team has scores from more than one event or person, a total line is printed for that team. * The new Team Entries Sheet in the Events Query tab prints a summary of Entries with one line per team giving the team short and long names, team location, and total number of entered people and Entries for that team. A final line gives overall totals for number of teams, people, and Entries. * The new Person Entries Sheet in the Events Query tab prints a summary of Entries with one line per person giving the team short name, the person name, and the number of Entries for that person. A team total line for each team gives the total number of entered people and Entries for that team, and a final line gives overall totals for number of teams, people, and Entries. * The Help->About menu now includes three new items: Copyright, License, and History. These commands display the files of the same name (but in upper case) in the main JRaceman directory. * The new Tabs menu makes it easier to find tabs with specific functionality. In particular, the Export and Sheet submenus in the Tabs menu allow you to quickly find and select the tabs which have those functions. * The new Export Standard command in the Database menu will export all of the standard data in the database (not included any additional tables and columns of which the program is not aware) to a JRaceman export file. This file can be imported using the Database->Import command into a new database in order to recreate the original database. Bug Fixes: * The secondary sort on the Team and Person Score Sheets is now in forward alphabetical order rather than reverse. * Importing fields with negative numbers now works. * Errors on import now include the line number of the error. Miscellaneous Changes: * The Entries Sheet button in the Events Query tab has been renamed to Event Entries Sheet to better distinguish it from the new Team Entries Sheet and Person Entries Sheet. * Exported files now include a version number and a line with application info. =============================================================================== jraceman v0.1.2 March 22, 2002 Limited release via CD Enhancements: * The Progress tab now allows selecting a Race as well as an Event. If a Race is selected, it uses the Event referenced by that Race. * The Progress tab now includes a Progress Sheet button which generates a report sheet showing all of the progress information for an event: lane assignments, results, and places. This can be used to verify that the progression software is assigning lanes properly. * The Import command is now implemented. You can now Import files that were previously exported with an Export command. New rows are added, lines that match existing rows are ignored, and lines that will change an existing row present a confirm dialog. Bug Fixes: * Fixed a bug in ProgressionUsack in which it was assigning the wrong progression table, and was thus creating lane assignments as if there were more racers than there actually were. * The progress buttons in the right panel of the Progress pane are now more intelligent about when they are enabled, which should prevent the problem where buttons are disabled when they should be enabled. * The info area in the Progress tab now always updates when the tab is selected, to avoid stale data (and incorrect buttons enabled) after editing results in the Finish tab. * Scores now apply only to section 1 of the Final round, not all Races. * Format errors in a "results" value in the Finish tab now appear in a popup dialog. Miscellaneous Changes: * The Lanes table now includes records for OUT and BY lanes. These are displayed in the Progress Sheet, and are used to help keep track of progressions. =============================================================================== jraceman v0.1.1 March 11, 2002 Limited release via email Enhancements: * Added Person Score Sheet in Races.Score tab * Improved installer on Windows. * Windows version allows the user to specify where the database goes, and stores its location in the Registry, rather than putting the database in the Windows directory. * Added Export tabs in SportSetup.Competitions, TeamSetup.Teams, and MeetSetup.Meets (for future Import command). * The remaining primary USACK progressions (BB1 and CC1) have been added. Progression AA has been renamed to AA1. * The ProgressionUsack progression now parses its options. The "multipleFinals" boolean option specifies that multiple final rounds are to be run. If false or omitted, only one final round race is set up. The "useExtraLanes" boolean option specifies that, when there are 10 entrants, they should all be run in a direct final. * The ICF progressions have been added to the ProgressionUsack progression. Use the "useIcfProgressions" boolean option to select these progressions. Bug Fixes: * The Place value in Score Sheets now handles ties correctly. * Input format errors (such as letters in a number field) now tell which field is in error. * Improved Date fields. * Clear the status line on any Button or Menu action, or when switching to a new tab. * The ProgressionUsack progression now handles best-time progressions properly. (coded; needs to be tested!) Miscellaneous Changes: * The mckoidb.jar file is no longer packaged into jraceman.jar, but is delivered as a separate file, unmodified from the Mckoi distribution. * The source files are now packaged up as src.zip, and the API documentation files are packaged up as apidoc.zip, which considerably reduces the size of the distribution. These files are only needed for people who want to look at the source, so most people won't need to worry about unpacking them. Instructions are included in README.html. * Renamed Version file to VERSION; renamed COPYING file to LICENSE. * The source kit now includes the unzip and jarinst sources. =============================================================================== jraceman v0.0.1 January 19, 2002 First release - limited release via CD jraceman v0.0.0 October 4, 2001 Project started