August was a full show month, and most of what we did came straight out of it. Working Equitation was rebuilt from the ground up, printed protocols got a visual editor, and a long list of small things that bit people during a live show got fixed.
đ New features
Working Equitation 2.0 (App and Online)
Dressage, ease of handling and speed are three separate tests now, each with its own marking sheet, its own judges and its own protocol. Judges can be assigned per test, the speed round is ridden as a real jumping round, and teams are counted per test instead of on the total.
The whole story is in its own post: Working Equitation 2.0.
Swedish eventing sheets (App and Online)
Two sheets where the cross country ride is judged on marks rather than on time, Inverkansbedömd terrÀngritt and TerrÀnghÀstprov, are now a competition type of their own. On top of that, the Swedish young horse championship in eventing, ridden in three phases back to back on the same day, has its own setup.
Both are written up separately: Inverkansbedömd terrÀngritt och TerrÀnghÀstprov and Breeders Trophy och unghÀstchampionat i fÀlttÀvlan.
Drag the fields onto a printed protocol (App)
The PDF protocol editor is available to users with federation access.
Not all protocols fit our marking sheet layout, so there is the option to upload a PDF. Placing a rider's name on one used to mean editing a table: a new element landed in the middle of the page, and you moved it by typing four numbers, one at a time. The preview only drew a striped rectangle where the box would end up, so it took several passes to get a name onto a line.
The fields a protocol can print are now a list on the left. Drag one onto the page, or click to place it in the middle, then move and scale it there. It snaps to the edges and centres of the elements already placed, and every element is drawn the way the printer will draw it, sample value, alignment, padding and size, so what you see is what comes out. The raw JSON editor is still one click away for anything the panels do not cover.
Two things the report already understood finally have a way in: an element can be shown on every page, and font size can be set per element, so a heading can be printed larger than the rest of the sheet.
Sections in marking sheets (App)
A sheet can group its rows into sections, and a section can now be used as a sort key. Sorting used to work on a single row, which ranks on the mark the judge gave before the deductions below it came off. That put an 8.2 with half a mark off ahead of a clean 8.0. A section adds up every row that scores into it, deductions included, so the sort key is the section score the sheet already shows.
Rank on the deviation from optimum time across rounds (App)
A two round competition judged on penalties and on the difference from each round's optimum time could only be sorted on one round at a time. Stacking round 2 and round 1 as separate criteria ranks lexicographically per round, not on the sum. There is a new key, total diff time allowed, that adds up the deviation of every round. Deviations are added unsigned, so a second under the optimum time in one round never pays back a second over it in another.
A time allowed entered with decimals was also truncated to whole seconds before the deviation was taken, so the per round keys ranked against a time nobody was given. That is fixed too.
Federations get their own error reports (App)
When a federation's web service answers with something wrong, unreadable or not at all, that is the federation's bug to fix, and it used to land with us instead. A federation can now set an error report address. Validation errors, unparseable answers, error statuses and timeouts are mailed there with the request, the response and what went wrong. Each federation also chooses how often it wants to hear, thirty minutes between reports by default, or zero while a developer is chasing something.
Extensions install themselves from the federation (App)
Extensions the federation has published and listed on the show are installed when the show is imported, so nobody has to add them by hand.
Your results in one place (Online)
There is a new page under your account that lists every start for the rider profiles connected to it, newest first. A row links straight into the start list at the right place, the same way a push notification does.
âš Improvements
Schedule and start lists
- Start time conflicts across two competitions. The wizard only tried one swap at a time, so a rider with starts in two overlapping competitions stayed unresolved when each swap on its own was neutral or worse. It now tries a move in both competitions at once, scored together, before falling back to rotations. Among equally good moves it keeps a rider's starts in the same competition together. Swap partners are also bucketed per schedule item rather than per section, so a swap inside a competition with category blocks gives the time it predicts.
- Competition info on hover in check start times. The competition number in the table had no tooltip, so telling a championship competition from the rest meant scrolling back up or writing the number down. It shows the full competition on hover now, like the tabs at the top of the page.
- The jump-off order is only published while show jumping is being ridden. Dragging the remaining starts during cross country wrote the same column, and online sorted the start list by it, which stranded riders at the bottom of the list out of start time order.
- A competition hidden from the day schedule no longer raises when its estimated start time is recalculated.
Officials and people
- The officials picker is an autocomplete. The tab listed every official in the show in one unsorted select, so with thirty dressage judges entered, finding the course designer meant scrolling past all of them. It is a search field now, sorted by last name, and clicking it still lists everyone. Federations that allow free text names keep that: type a name that matches nothing and the list offers to add it.
- Officials are copied to merged competitions. Category merge groups already pushed the dressage judges down to the competitions they merge, but the officials stayed on the parent. Federation reporting reads them per competition, so a merged competition went in without a technical delegate unless someone filled it in by hand on every one of them.
- The horse licence can be edited from the horses list, the way it has worked on the start list for a while.
Rider declaration overview
- Each horse is counted once. The progress bar counted entries while its label counted horses, so a day with several competitions could read 506 of 352 and fill past the end of its track.
- Competitions that do not count are left out of the total. A competition can be marked not to count towards the maximum per horse, and the overview counted it anyway. Horses that still had entries left were parked in the max reached tab and dropped out of remaining.
Publishing to online
- A corrected time allowed reaches online right away. A started competition only carries its settings on a publish when something changed in the last five minutes, and the time allowed dialog never published anything itself. A correction made mid competition only got out if a result happened to be registered inside that window.
- Publishing says why nothing happened when online is in maintenance. A maintenance window came back as a warning triangle and a run that finished in two seconds. You get online's own sentence in the flash now, and nothing is marked as published.
- Clearing the related links removes them online. An empty list was left out of the publish, and online reads a missing element as "this publish says nothing about the links", so the old ones stayed.
Invoicing and shows
- Balance transfer lists only your own upcoming shows. The picker now opens on focus and searches within the organizer's coming shows instead of everything.
- A blank new show takes its currency from the organizer's previous show.
Marking sheets and results
- Romanian is available as a marking sheet language.
- A sheet that deducts from its average shows the average alone. A deduction row inside a scoring section is folded into the section sum, so the sum is neither the marks the judge gave nor the result. On a single section sheet it repeated the total and explained nothing.
- The style score comes last in the show jumping result preview, after faults and time, the way every other view in the system orders them.
- Removing the last custom field sticks. A form with no rows posted nothing at all, so the field you just removed stayed in the database.
- A dropdown inside a dialog can hang outside it instead of pushing the dialog into a scrollbar.
- The protocol zip can go to the organizer. Judges and the organizer are one recipient list now, and picking the organizer sends the zip as a blind copy on the judges' email. The email uses the language picked in the dialog rather than the one you are working in.
Timekeeping
- The FDS TBox auto connect is its own driver. Auto connect replaced the driver every timekeeper already uses, and with a TBox and an MLED on the same PC the TBox goes quiet in the wirings where the MLED has no port of its own. The old driver is back exactly as it was, and auto connect lives beside it as a beta driver you can pick.
Online
- The competition number is on the start list header.
- A pinned competition shows no time. It sits outside the day schedule, so a time there means nothing.
- Excluded team results are struck through on narrow screens too. The result table collapses to one column below 500 pixels, and team members whose result does not count towards the team total lost the strikethrough the wide layout shows.
Entry
- No hors concours notice on extra fees. A competition set up as an extra fee showed the message that hors concours entries are disabled, which had nothing to do with it.
- A closing date cannot be before the opening date, and the message says what is wrong.
- Neutral Individual 1 and 2 read "eutral Individual" in the country list.
Everywhere
- Nation names are current. Hong Kong, China, North Macedonia and TĂŒrkiye.
đ Bug fixes
- A start time typed without a separator is read the way it is typed. "930" for half past nine was stored as 93:00, which is not a time of day. Everything downstream that builds a timestamp out of the date and the time then failed, and the results import for the whole show died with it. A run of digits is read from the right now, the way it is typed on a keypad, and a start time outside a day cannot be saved at all.
- Excel import no longer drops every horse no. Numeric cells in an .xls come back as floats, so horse number 8 arrived as "8.0", failed the validation and was silently skipped. FEI ids were being stored as "10152460.0" for the same reason. Genuine decimals such as a height of 168.5 are untouched.
- A break with no minutes set no longer consumes a start slot in the start time calculation.
- Refreshing one rider from the FEI no longer rewrites the others. The refresh fell back to every person in the show with an FEI pass and overwrote their address, bank, phone and company details.
- Dressage marking sheet. The two ends of the marking sheet save disagreed about trailing empty marks and rewrote the same row back and forth, which also showed up as results being registered for a locked judge.
- Breed evaluation sheets total correctly and publish a total. Sheets whose items sit outside the section groups totalled to nothing, so the competition kept the marks but no result, no formulas and no ranking. Sheets that rely on a score method rather than formulas also never sent their total to online, so the start list showed marks but no final score.
- Picking a rider from a federation search no longer fails when the federation sends a field we have no column for.
- A percent sign in the invoice date override no longer kills the report job. It is free text an organizer types, and it was handed straight to a formatter.
- An FEI export without a horse reports the missing rider or horse instead of leaving the job stuck at 100 percent forever.
- Fetching data from another competition no longer fails on a stored column pair whose two sides are of different kinds. Nothing was ever copied for those pairs, but their presence broke the fetch every time.
- Emptying the number of best results falls back to the default instead of sticking.
- Nations cup team ranking holds while a round is running. Teams that had started and teams still to come were ranked on two different scales and merged, which produced duplicate places and teams with worse totals above better ones until every team had a score.
- Riders are no longer charged twice for a membership (Entry). The member key was built with the transliteration of the language the rider happened to use, so a name with ö, Ă€, ĂŒ or Ă got one key at entry time and another after payment. They never matched, and the rider was charged again. All existing keys were checked against the new code before it went out.
- A balance transfer to several email addresses sends to all of them instead of one string.
đ FEI and regulatory
- Fall before the start in show jumping (FEI Art. 248.2.2.1). A fall in the arena before starting the round is not an elimination, the combination has to be listed as did not start. There is a new reason letter for it, selectable in show jumping only. It ranks after eliminated and retired, never counts as a starter for prize money in the first round, and exports to the FEI as position WD with round result DNS. Online shows it too.
- Eventing dressage is rounded to two decimals before the percentage is converted to penalty points, per FEI 544.2.3 and 544.2.4. Percentage deductions for errors of course stay in the total.
- The dressage notify buttons match the FEI list. The FEI dressage department standardised what a judge can flag during paperless scoring: blood, irregularity or lameness, error of course, equipment, meeting required. We renamed two of ours and put them in the same order.
- A disqualification ranks after the eliminated and the retired in show jumping.
- Combined training separates equal totals on the jumping time, not on the phase one time, per British Riding Clubs CT3.4.2.
đŹ What we're hearing
We read every question that comes in. When the same one keeps coming back, it usually means the product needs to change, not the person asking.
- Prize money and refunds. The most asked topic this month by some distance. How to distribute prize money, what happens to the amounts afterwards, and how to get a scratched rider's entry fee back to them. The steps exist but they are not obvious, and that is on us.
- Working equitation. A lot of questions during the rollout, on setup, on removing a test a show does not ride, and on team competitions. Several of the changes above came straight out of those conversations, and the new post is the place to start.
- Team competitions in general. Administrative team competitions, connecting individual starts to a team, and which results count. This one keeps coming back across disciplines and countries, so we are looking at it properly.
- The Swedish impression judged eventing sheets. Questions all month while the first shows ran them. The sums, the printouts and the online view all moved because of them.
- Vaccination lists. Still on the list from July. When a list can be created, how to import it, and why late entries do not turn up on it.
- Sponsor logos. Also still with us. The logo is uploaded and it does not show. We have not fixed the underlying setup yet, and we have not forgotten it.
Keep the questions and the reports coming. They are what this list is made of.