History of HalSail

Spring 2014 Decision taken to implement the long-standing goal of making a web-based version of HAL's Race Results.
1 Nov 2014 Beta testing began for members of local clubs.
3 Mar 2015 Formal announcement of HalSail to those that use HAL's Race Results.
During 2015 Gradual introduction of new features, including:
  • standard handicap dictionary for PY, NHC and Small Cat Schemes;
  • uploading boats from Excel spreadsheet;
  • cross-tab display of boats and classes;
  • calculation of start times for pursuit races.
  • Amended algorithm for NHC calculations, as per the latest method from the RYA.
  • Analysis of handicap performance and uploading of PY results to the RYA database
  • Start sequence, RORC points system and improved calendar page.
During 2016 Gradual introduction of new features, including:
  • 2016 RYA Portsmouth numbers and Small Cat Scheme handicaps.
  • New version of the input results screen optimised for the small screens found on phones. Click the "Now" button against a sail number as the boat crosses the finish line to insert its time automatically.
  • Upload your results to Hal's Archive Service (previously known as Hal's Club Results Service) so that they remain available on the web even when you have deleted them from HalSail.
  • Show results for most recent day of races in sequence on a large screen. Each set of results is shown for a few seconds, followed by the next in a repeating slide show.
  • Improved Twitter access including ability to send tweets with your own club handle
During 2017 Improvements, including:
  • Made fully compatible with Racing Rules of Sailing 2017 - 2020.
  • 2017 RYA Portsmouth numbers and Small Cat Scheme handicaps.
  • Inclusion of the UFD penalty for being on the course side of the starting line after flag Uniform has been displayed.
  • Allow public access to results to be embargoed, while keeping access for users who are logged in. This can be used to avoid the public seeing results that are not yet complete, or results that have not yet been scrutinised.
  • ORC triple number scoring with different handicaps for low, medium and high wind strengths.
  • Alternative names at the class level for the different types of handicap, e.g. the RYA_PY handicap for a class could be relabelled Club Handicaps.
  • Result status codes DPI and FNE added. A boat with status DPI counts as a finisher and is allocated a number of points that you specify, irrespective of its placing. A boat with status FNE does not count as a finisher and is allocated a number of points that you specify which it is not allowed to discard.
  • Time penalty status codes added. These only apply to handicap results. A boat with status PTA is given a fixed time penalty of a number of seconds you allocate. A boat with status PTP is given a percentage time penalty which you allocate.
  • More facilities added to use selection flags, as allocated to each boat in the Boat Register. Selection flags might be used for such purposes as:
    • G: Gold fleet member
    • S: Silver fleet member
    • L: Helmed by a lady
    You can filter boats in results and entry lists by selection flag. The meaning of each single-character flag can be allocated using a tool in the Boat Register.
3 January 2018
  • ECHO handicaps updated automatically after each race using the "blend" of old and new handicap specified for the particular series.
  • The user who input or edited each result is recorded, so that when you edit a result you can see who last updated it.
  • POST js reload bug cured when inputting RO name and weather and on adding a boat to a set of results.
  • New series in Schedule menu changed to a popup modal to choose the class, rather than a full page.
15 January 2018
  • Australian Sailing Yardsticks (ex VYC) standard handicaps incorporated.
6 February 2018
  • Better means of changing race start times and editing finish times on a phone.
15 March 2018
  • 2018 RYA Portsmouth numbers and Small Cat Scheme handicaps incorporated.
  • Better display of corrected time on results viewed on a phone when ALR is not in use.
  • Bug fix when altering the start time on the first race of a new series.
3 April 2018
  • Events added
  • Several improvements to the way handicaps are edited in the CrossTab table.
16 May 2018
  • Bug affecting handicap analysis of tandem series corrected.
25 June 2018
  • Bug affecting download of .hrrx file that includes events corrected.
  • Default email switched to HalSailDotCom@Gmail.com with Oauth2 integration to the Google API
  • Individual races in a series can be given names, in addition to being Race 1, Race 2 and so on.
14 July 2018
  • Improvements to way results are displayed on tablets and phones.
30 July 2018
  • Cure bug that caused new club registrants to go to the wrong page when confirming their account.
  • Use SignalR to send progress updates for file load and save operations.
  • Email a one-time token before allowing any user to delete all club data, or overwrite it with a file upload, or load demo data.
  • Can add a race note when choosing races on phones, except for the smallest screens.
  • Use a plain gif for any class flag whose image is not in the system.
5 September 2018
  • Start to use Visual Studio 2017.
  • Improvements to the page used to pre-select boats when inputting results on the committee boat or at the start line using a phone:
    • The number of competitors appears at the top and bottom, so that you can see immediately how many boats should be there.
    • More details are given of each boat, so that you can be sure you have the correct one.
  • Event pages simplified and made more intuitive.
  • Simplified general archive public link to /Result/Club/1234 in addition to /Result/PublicByClub/1234
  • When sending multiple emails, they go out as bcc copies rather than individual emails to each recipient.
  • Sailing secretaries can now compose and send an email to all the boats in one or more racing classes, or an event.
  • The help popover links now react to a click on tablet devices as well as popping up when you touch them with the mouse on other devices.
2 October 2018
  • Cured bug that prevented Twitter tweets from going out and upped the max length to 280 characters. Added the ability to add bespoke # tags.
18 October 2018
  • Cured bug that reset min wind speed wrongly when filling in the details of a race.
5 November 2018
  • Display latest results (File menu) launches a sequence of web pages showing all the races for a particular club on the last day of racing. It is designed for displaying on a large screen for public view. It now includes races that have no results yet, so that results will appear as soon as they are entered.
  • Altered the way public results fit into a frame on another web site. The results now fill the frame more completely than they did before.
10 December 2018
  • Procedure to archive results updated and made more intuitive. It is now more difficult to choose the wrong archive and thus over-write existing archived results by mistake.
  • Adjusted the procedure for uploading results to the RYA PY Online database to allow for its change to use a secure connection (https).
3 January 2019
  • Improvements to the way results are shown on a big screen, sequencing between all the races on a particular day each shown for 20 seconds.
14 January 2019
  • Improvements to the Crosstab and Calendar pages to give more information about each item when you hover the mouse.
  • Added a new common scheme to the scoring panel for non-finishers when editing a series to bring it more into line with the defaults in RRS.
  • Fixed a bug that meant that when a boat was duplicated the new boat did not have its class membership copied across.
  • Fixed a bug in the handicap performance analysis by type of boat that meant that the type statistics were wrong where there was only one boat of a particular type.
18 January 2019
  • Fixed a bug in the BL class library that prevented archiving any data if there was a class flag with >5 characters anywhere in the account.
  • Fixed a bug when using progressive handicapping (NHC or ECHO) in a series with average lap racing.
23 January 2019
  • Improved the way sailing secretaries confirm entries in the cross-tab page after an RO has entered a new boat provisionally.
6 February 2019
  • Rendering of the CrossTab page in the Microsoft Edge browser improved.
  • Login changed to a popup page.
19 February 2019
  • Users can add their own style sheet to results pages by adding a parameter like ?CSS=https://www.myclubwebsite.org/styles/halstyle.css to the URL
  • Result pages on phones revised to increase the prominence of boat names
5 March 2019
  • New RYA Portsmouth Yardstick numbers for 2019 incorporated into the standard boat dictionary.
  • New SCHRS numbers incorporated into the standard boat dictionary.
  • Removed the menu bar from the top of all public pages, eg public results, public calendar, public race list.
  • Public result sequence display now marks cancelled or abandoned races as such and shows them for only 5 seconds.
12 March 2019
  • Repaired bug that prevented tandem races being uploaded to an archive.
1 April 2019
  • Public entry forms for events available.
26 April 2019
  • Bug fix to calculation of extreme performers in NHC handicap races.
21 May 2019
  • iFrameResizer added to the public results page so that it can be called from any page that hosts results in an iframe.
  • Switch added to the Schedule / Edit series page to show or not to show sail numbers on results.
  • A copy is sent to the user when sending results emails.
  • Composing emails to members of a class, or to notify about new results, updated.
  • Users logging in as race officers no longer receive warning if the account is about to expire.
24 July 2019
  • All NuGet packages brought up to date.
  • New public results page for an event. Available from the Results / Get public links menu
  • Improvement to way result emails are sent from big screen devices and new facility to send emails from phones.
  • Improvements to the way handicaps are analysed. NHC and ECHO handicap changes incorporated into same pages.
  • Better dialogue when adding a new race by clicking an empty space on the calendar page.
  • Show boat names, rather than sail numbers, when inputting results on a phone if the ShowSailNumber switch for the series is off and the ShowBoatName switch is on.
  • Send an invoice to club admins from the Club/AllClubs page or the HalAdmin/Invoice page.
  • Go straight to the dashboard when log in with a phone.
  • Warning about entering boats in level (non-handicap) races in the order they crossed the finish line added to the page where you enter results.
  • Embargo policy of 10 minutes after last entry changed to 5 minutes after the last result was entered.
  • Error when pre-selecting boats with no sail number on a phone corrected.
  • Dialog in HalAdmin.AllClubs to set the discount for a club. Pay and Invoice routines updated to reflect any discounts.
1 August 2019
  • Cured bug that meant that guest helm and crew did not appear on phone results pages.
2 October 2019
  • Popup dialog to delete a club in the AllClubs Hal Admin page.
  • ORC triple-number handicaps for light, medium and heavy winds.
  • Many improvements to way boats are loaded from an Excel spreadsheet.
  • Can now add and delete racing classes from the cross-tab page.
  • Time to win page for handicap races showing which boats could still win the race after at least one boat has finished.
  • Removed SQL to confirm a new user. Added the confirmation token field to the webpages_Membership model.
  • Allow users to store the realigned handicaps after any race for a progressive class (ECHO or NHC) not just the last race of the series. Users can store them to the same class or another one.
  • Allow users to choose which races to include when copying a series or making a tandem series.
  • Return to correct class in Boat/BoatsInClass after deleting a boat.
22 October 2019
  • ReCaptcha added to register club page to discourage robots.
  • Warning given when the number of races in a series is greater than 52 and you try to archive your results. The archive server does not accept series longer than 52 races, so those series will not appear in your archived results.
  • Copy boats from an existing class when creating a new racing class
  • Results in iframe should not show top menu row, even if the user is signed in on another tab
  • Ability to put your club banner, left-hand logo and right-hand logo on the top of all public results pages
  • Ability to put your event banner, left-hand logo and right-hand logo on the top of all public results pages to override any club banner or logo
  • When setting a result status to RDG, can choose whether the boat should count as a competitor in the race or not
21 November 2019
  • Staggered starts for races when boats do not all start together.
  • Go to history when logging into wip2 or beta sites.
  • Corrected bug that prevented archiving results if the archive password contained a non-alphanumeric character.
  • Corrected bug in tandem results for a level race when the base race was a handicap one and two boats tied with the same corrected times.
21 November 2019
  • Staggered starts for races when boats do not all start together.
  • Go to history when logging into wip2 or beta sites.
  • Corrected bug that prevented archiving results if the archive password contained a non-alphanumeric character.
  • Corrected bug in tandem results for a level race when the base race was a handicap one and two boats tied with the same corrected times.
26 November 2019 as beta
  • Update of the way to schedule races on the EditSeries page and the Calendar.
  • Corrected bug that meant there was no way to set the alt name of a race.
  • Corrected bug that meant there was no way to change the start time of a race that had results.
Spring 2020
  • Improvements to the input screens for inputting results on phones.
  • Allow users to set up a default sets of discards and scoring for non-finishers for new series.
  • Apply the embargo policy to the latest race in a series only, so that people can see the results of previous races even when the last one is embargoed.
  • Provide an invitation to a WhatsApp or Telegram group when confirming entries to an event.