Skip to content

Uploading event files

Everything an event needs — the start list, the results, the courses and the map — arrives through one dropzone on the event editor’s File upload page. There is no field per file type: the server reads each file you drop and decides what it is, so a start list and a stack of map layers can go up in the same drop. Beside the dropzone, the healthcheck lists what the event still needs before its results and its Aftershow are worth publishing. The event’s own settings — what the public can see, the share link, the API key and who can reach it — are one row up the rail, on Event & Access: see Set up an event.

Uploading files to an OResults event

Drag files onto Drop event files here, or click to browse, or click it to pick them from disk. These extensions are accepted:

  • .ocd — an OCAD map, or an OCAD course-setting project
  • .xml — IOF XML start lists, results and courses, and SportSoftware RadioControlList exports
  • .tif, .tiff — a georeferenced GeoTIFF map image
  • .kmz — a KMZ map image
  • .csv, .txt — OCAD Text v8 course exports, and secondary-card lists

What a file is comes from its contents, not its name or the order you drop it in — KMZ is the exception, taken on its extension.

Dropping a file does not upload it. Each one becomes a staged card carrying the type OResults detected and a line saying what committing it would do — New map layer or Courses and overprint, or, where the file lands on something already there, Updates the results and Replaces the start list — runners not on it are removed. Stage two start lists and the earlier one reads Superseded — won’t upload; map layers are the exception, since they stack rather than replace each other. A file OResults cannot read reads Unrecognized — this format can’t be imported and is held back rather than sent. One sentence under the cards states what the whole drop will do, and Upload commits it.

Once a file has landed it appears in its set below and its staged card clears itself. A card that did less than was asked stays behind to say so — a course upload the coordinates rule below kept out, for instance.

Under the dropzone, the files the event holds are grouped into four sets:

  • Runners — the start list and the results, which are one roster between them
  • Courses — the control sequences, and the overprint drawn over the map if they came from OCAD
  • Maps — the map layers, and the base map rendered from them
  • Addons — secondary cards, a CSV pairing a runner’s primary SI card with the card they actually ran on

Runners, Courses and Maps each delete as one unit, from the trash on the set’s card — there is no delete for a single file, because a set is also what uploads and renders as one. Addons carry no delete. The confirmation names everything going with it: deleting Runners removes every runner from both the start list and the results while leaving punches and courses alone, deleting Courses takes the course overprint with it, and deleting Maps removes the layers, the base map and the overprint rendered from them together.

Map layers can be OCAD .ocd files, GeoTIFF or KMZ, in any mixture. They are not kept as separate maps: OResults composites the whole stack into one georeferenced Base map for the event, and where an OCAD course-setting project is present it renders the course overprint as its own transparent layer above that.

The Maps card shows the result as a thumbnail, captioned with the number of layers it was rendered from; click the thumbnail for a full-size preview. Check it — this is the picture the Aftershow draws its terrain on, and the preview is the only place to see how the render came out without opening the Aftershow itself. If the render had to work around something — a layer it could not read, a course file whose coordinate system it could not resolve against the map, a print area it could not apply — it still produces a map and says so in amber under the thumbnail. Those lines are worth reading even when the map looks right.

Rendering runs on the server and costs the same however many layers are in the drop: usually under a minute. A connection lost after the bytes have arrived is not a lost render — the render finishes and the map lands.

Without a base map the Aftershow still works, but it replays the tracks over a plain street map instead of your terrain, with no course drawn.

A course file that did not carry everything is badged to say what was missing — one badge at most. No control coordinates means the file lists control sequences but not their positions, so the courses cannot be drawn on the map — re-export from your course software with coordinates. Online controls only means the file declares which controls are online and nothing else, so no splits can be calculated from it.

When courses land, OResults checks them against the classes people are entered in — a class with runners and no course, or a course under a name nobody is entered in. If anything is off, the Match classes to courses dialog opens by itself; if the names already agree, it stays shut and there is nothing to do.

The dialog names the file it read and how many courses were in it. Classes that already found their course are collapsed into a green summary you can expand to check. Below that sit the classes needing a decision, each under Match with course with a picker and, where nothing matched, the reason: no course in the file carries that class’s name. A row you would rather leave out of the import has Don’t import beside it. Courses nobody is entered in are listed at the foot, with an offer to import them as classes of their own.

The footer states what applying will do: how many classes it creates and how many courses it leaves out — or, where classes would still be left with runners and no course, it names those instead and warns that they get no splits until a course is picked. Apply commits the mapping and re-imports the courses; on an OCAD project it reads Apply and re-render, because the overprint is redrawn with it.

You can reopen the dialog any time from Match classes to courses under Classes and courses, further down the page.

The healthcheck beside the dropzone answers what the event is still missing, as two cards for the two things the public gets: Results and Aftershow. Each carries a badge — All good, or the number of issues.

The distinction the cards make is who owns the fix:

  • A warning, in amber, is something you can put right and probably should: classes with no course, courses that are not drawn on the map, results or Aftershow that are not public yet.
  • A note, in grey, is true and worth knowing but may well be deliberate: courses nobody is entered in, no control marked as online, no GPS tracks yet. Only warnings are counted in the badge.

Lines that have somewhere to send you carry a button. Match classes to courses and Select online controls act on this page — the second scrolls to the control picker. Publish results and Publish the Aftershow go to the event’s Event & Access page, where visibility is set.

Which controls are online is ticked on this page, under Controls in results — that, and pairing the Bluebox that makes a control online in the first place, are covered on How to set up an online control.