Appearance
Competitors and clubs
Audience: Event organisers managing the list of people taking part.
This page covers the Competitors and Clubs views and the competitor edit dialog. As with classes and courses, most events get their competitors from an import — see Importing event data — so you're usually reviewing and adjusting rather than typing everyone in by hand.
Relay and team events organise competitors into teams with legs. Teams will be covered in a separate topic.
The Competitors page
Navigate to Competitors in the Event Data section of the side menu.
The table shows one row per competitor with these columns (some appear conditionally):
- Competitor — the competitor's name. Click it to open the edit dialog.
- Class — an inline dropdown. Change it here to move the competitor to another class without opening the dialog. Pick No class to unassign.
- Club — the club they represent (read-only here; set it in the edit dialog or via import).
- Start time — the effective allocated start, annotated with where it came from —
10:30:00 (individual),(class), or(event). See Start times. - Card — an inline field for the card number. Type a new number to reassign; it saves automatically. A yellow Duplicate warning appears when the same card number is on more than one competitor.
- Ranking — the competitor's place on an external ranking list; see Ranking below. Hidden until you turn it on: use the columns button at the right-hand end of the header row and tick Ranking under Show columns. Sort it ascending and you get the seeding order: rank 1 at the top, and everyone with no ranking sunk to the bottom rather than floating above rank 1.
- Last seen — the most recent radio punch for this competitor, shown only once radio punches are arriving. Relevant during the event rather than at setup; see Radio punches.
- Status — the competitor's status. After a download, a small course badge shows which course in the pool produced the result.
Filter the table with Search Name or Card (matches the name and the card number), the Status filter, or the Class filter. The status filter includes a synthetic OK - pending download option that picks out competitors who are provisionally OK on radio punches but whose card hasn't been downloaded yet.
The Actions menu (top right) has:
- Import — open the Import Data dialog. See Importing event data.
- Add — create a new competitor by hand (see below).
- Set competitors DNS — bulk-mark non-starters as Did Not Start (see Marking non-starters).
- Bulk edit — edit many competitors at once in a grid (see Editing many competitors at once).
- Export entry list — write who has entered to a file, in one of three formats. See Exporting the entry list.
- Delete all competitors — empty the list (see Clearing the whole competitor list).
Adding or editing a competitor
Click Actions → Add to create one, or click a competitor's name to edit. The Add Competitor / edit dialog opens.
When creating, you get a single form:
- First name and Surname — at least one is required. As you type, Manager suggests matches from the Competitor Registry; picking a person fills in their club, card number, and Eventor/IOF IDs.
- Card number Numeric only. (During a card download this field may be pre-filled and locked.)
- Eventor ID and IOF ID — optional external identifiers, used by exports and re-imports.
- Class — the class they run. Pick No class to leave them unassigned.
- Club — the club they represent, or No club.
- Course — appears only when the chosen class has two or more courses in its pool. Leave it on Any in the course pool to let Manager pick the best-matching course automatically, or lock the competitor to a specific course. See Course pools and locking.
- Start time — an individual allocated start, plus an On start punch option controlling whether a start-box punch is allowed to override it. The full rules live in Start times.
Click Save.
Editing an existing competitor
Opening an existing competitor gives a wider dialog with tabs down the left:
- Details — the create form's fields plus a few that only make sense once a competitor exists, among them Bib, Ranking (see Ranking below) and Notes (see Notes). In edit mode changes save automatically: text fields a moment after you stop typing, dropdowns immediately. There's no Save button — just close the dialog when you're done.
- Result — the competitor's status, resolved course, and race time. You can override the status here; Manager won't let you reset a competitor to None if there's evidence they started (a download, radio punches, or a station-memory punch).
- Radio Punches, Download, Unit Downloads, Splits Print, Analysis, Overrides — these relate to running the event and resolving results; they're covered under Running the event and Resolving issues.
To remove a competitor, open them, go to Details, and click the red Delete button (bottom-left). Confirm the prompt. Deletion is permanent.
Card numbers
The Card column and the Card number field hold the number of the card a competitor carries. A few things to know:
- Duplicates are allowed but flagged. Two competitors can hold the same card number — Manager shows a yellow Duplicate warning rather than blocking it. This is normal when a card is shared between two people running in different classes at different times, but a duplicate among people running at the same time will cause a download to land on the wrong competitor, so check any duplicates you didn't intend.
- A blank card is fine at setup. A competitor can be entered without a card and have one assigned later — including automatically, when their card is downloaded.
- Hire (rental) cards have dedicated support. You keep a shared pool of hire-card numbers under Settings → Hire card registry; any competitor whose card number is in the pool is automatically flagged as being on a hire card, and you can narrow the list with the Card type filter (hire vs own). Anything else you lend — a compass, a map board — is ticked on the competitor's own Hire items tab. See Hire items.
Ranking
A competitor's Ranking is their place on an external ranking list — a national ranking, a squad's seeding order, whatever list you were handed for this event. 1 is the best-ranked athlete, and the number gets worse as it grows. Someone who isn't on the list has no ranking, which Manager shows as a blank rather than a zero.
It is a place, not a score. A ranking of 4 is better than a ranking of 40, and Manager will never treat a bigger number as better. (World Ranking points are the opposite — bigger is better — and are a different thing entirely; Manager doesn't store them, and won't read a points column as a ranking.)
Three things use it:
- The By ranking start draw, which seeds each class in ranking order.
- The Ranking column on this page, off until you turn it on in the columns menu.
- The spectator site: tap a competitor to open their card and the ranking is one of the details listed, for anyone who has one.
Nothing computes it and nothing changes it behind your back — it's yours to set. There are three ways to get it in:
- Type it into the Ranking field on the Details tab of an existing competitor. It saves as you type, like the rest of that tab. Clear the box to mean "not ranked".
- Import a ranking list — the usual route for a whole field. IOF XML, Orienteering JSON and CSV are all accepted; only the CSV asks you which column is which. See Importing rankings.
- From an entry list, if yours happens to carry one. Most don't: there is no ranking field in the IOF XML standard, so Manager reads one only from an IOF entry list whose
<Score>is explicitly labelled as a rank, and from an Orienteering JSON file. Anything else is left alone.
Rankings travel out as well: all three of the entry-list exports carry them, so a list you've seeded once can be handed on, or exported and re-imported next season.
Note: Rankings are held per event, not in the Competitor Registry. That is deliberate — a ranking list is republished every few weeks, so a value remembered from an event three months ago would be quietly wrong. Import the current list for each event that needs one.
Tip: Re-importing an entry list or a start list never wipes rankings you've already set. A file that says nothing about a ranking leaves the stored one alone; only a file that actually states one changes it.
Notes
Notes is a box for whatever you needed to write down about one entry that no other field holds — "paid cash", "hire card back after the run", "under 12, running with a parent", "asked us to hold their car keys". It runs the full width of the Details tab, under Ranking, and saves as you type like the rest of that tab.
Nothing in Manager reads it. It never affects a status, a time, a draw or a result — it is there so the thing you would otherwise have written on a sticky note is somewhere the next person on the desk will find it.
Two places write the same note:
- The Details tab of an existing competitor, as above.
- The registration desk — the note is a box on each search result, so somebody at the entry table can add one without opening the whole record. The class and the card number are editable there too.
Notes are held per event, like rankings and for a stronger reason: "paid cash" is true of one Saturday, not of a person. They are not kept in the Competitor Registry and they never follow a runner into next season's event.
Note: A note stays inside this event. It is not written to any of the entry-list exports — not the IOF XML, not the Orienteering JSON, not the CSV — and no spectator, kiosk or live-results screen displays it. It does travel in an event backup, because a backup is a copy of the whole event.
Not a private field, though. Nothing shows a note to spectators, but the competitor data those screens read does carry it — the same as it carries your custom competitor fields — and that data is readable by anything that can reach this Manager, or the public link if you have pushed the event to the cloud. Write what the next person on the desk needs; don't write what you would not want a competitor to read.
Tip: Re-importing an entry list never wipes notes, the same way it never wipes rankings: a file that says nothing about a note leaves the stored one alone. Emptying the box yourself does clear it.
Start requests
A start request is what an entrant asked for when they entered. There are four:
- Early start — they have to leave.
- Late start — they are arriving late.
- Away from competitor — they must not run at the same time as certain other people. Two parents splitting the childminding between them is the usual reason.
- Close to competitor — they want to go at about the same time as certain other people. A family or a car-load who travelled together and want to leave together.
The last two name other people, and they name a group rather than a partner: a family of three is one arrangement, not two overlapping ones. Set it on one of them and Manager writes the whole arrangement onto every member, so the group reads the same whichever of them you open. Name somebody who is already in a group and the two groups merge, because that is what naming them says.
Set a request on the Start tab of Edit competitor — pick the kind, then, for the last two, tick the people it is about. There is also a Start request column on this page, off until you turn it on in the columns menu, and a request column in the bulk-edit grid, where the kind can be filled down a selection (the people it names are read-only there).
Requests also travel in and out of files. An IOF XML entry list, an Orienteering JSON file and both CSV exports all carry them, so an entry system that collects requests can hand them straight over. The people in a group are named as people, never as an id, and Manager matches them back once every entry is in — so somebody named by a file who is not entered leaves the request standing with nobody attached, and tells you so rather than guessing.
What Manager does with one
The start draw reads it — Honour start requests is on by default, so unless you have switched it off, the draw decides who takes which start time accordingly. It moves no class: an early start means first of that person's own class, not first of the event. A second setting, also on, lets an early or late request be answered with a free minute outside the class's own window where the event runs on past it, so somebody who asked to start late in a class that finishes at 10:45 can be given 14:00.
Every screen that shows a request says what was asked, never what the person got — honouring is best effort, and a group request in particular is only answered as far as the classes involved allow.
Note: Requests are held per event, not in the Competitor Registry, for the same reason rankings are. "Has to leave early" is true of one Saturday, not of a person.
Tip: Deleting an entrant takes them out of any group they were in, and the rest keep each other. Anybody the departure leaves on their own loses their request too — a group of one is not an arrangement — and Manager says so, so you can put it back on somebody else if it still applies.
Exporting the entry list
Actions → Export entry list writes who has entered to a file. There are three formats, and they differ mainly in what they can carry:
| Format | What it's for |
|---|---|
| Export IOF XML | Handing the entries to a federation system, or anything else that speaks the IOF standard. Manager writes an IOF 3.0 EntryList, which is what the standard says entries should be exchanged as. |
| Export JSON | Moving the entries to another meshO Manager, or to anything that wants everything Manager knows. This is the fullest of the three — it's Orienteering JSON, the same format the other JSON exports use. |
| Export CSV | Opening the list in a spreadsheet: to check it, to hand it round, or to edit it and put it back. |
Pick one and the file downloads straight away, named after the event.
Note: This is an entry list, not a start list — it says who has entered, not when they run or how they got on. None of the three formats carries a start time or a result. To publish start times, use the Publish menu on the Start list tab, which offers the same three formats with the times; for results, see Exporting data.
The export is always the whole event
Whatever the list on screen is filtered to, the export contains every competitor in the event. The search box and the Class, Status and Card type filters are there to help you find somebody — none of them narrows the file. The menu says so above the three formats, because this is the thing about the export most likely to catch you out.
It works that way on purpose. The failure that would really hurt is handing a federation an entry list with one person in it because you'd searched for a name a minute earlier, with nothing on screen to tell you. Getting the whole list when you wanted a smaller one is obvious the moment you open the file.
The one exception: a competitor with no class is not exported. All three formats are organised by class — an entry list says who has entered what — so somebody with no class yet has nowhere to sit in the file, and every export leaves them out. This is the same rule the start list follows. It matters because an entry import that couldn't work out a competitor's class still enters them, without one, and warns you at the time. If your export is short by a few people, sort the Competitors list by Class and look for the blanks.
A mixed relay event asks which kind
An event with both relay classes and individual classes can't put both in one file — see Mixed events. So Manager asks before it exports: choose relay or individual, and the file holds that kind's classes only. Export twice if you need both. An ordinary event never sees the prompt.
In a relay export, each leg runner gets a row (or an entry) of their own, under their team and leg number. Entrants in a relay class who aren't on a team yet are included as well — an entry-per-person relay is a whole field of runners whose teams you have still to build, and leaving them out would lose them from the file.
The CSV round trip
The CSV is built to go back in. Its column headings are the ones Manager's CSV entry import already recognises, so the loop needs no column mapping:
- Actions → Export entry list → Export CSV.
- Open it in a spreadsheet. Fix names, classes, clubs, cards, bibs.
- Import it back through the Import Data dialog → Local Files → the Entries box. The columns map themselves; check the preview as usual and import.
Not every column comes back. The export writes more than the entry import reads, so be clear about which is which before you rely on it:
| Column | Comes back through the entry import? |
|---|---|
| Database Id (your own competitor number) | Yes |
| First name, Surname | Yes |
| Class | Yes — matched by name |
| Club | Yes — matched by name |
| Country | Yes, but only when the import has to create the club; an existing club keeps its own country |
| Card | Yes |
| Bib | Yes |
| Ranking | No. Import the same file a second time through the Rankings box instead — the Ranking column maps itself there too, and the identity columns beside it are what it matches on. |
| IOF Id | No. The CSV entry import has no IOF ID field at all. If IOF IDs have to travel, use the IOF XML or JSON export. |
| Team name, Leg (relay exports only) | No. Teams aren't rebuilt from a CSV. The runners return as competitors in the relay class and you re-assemble the teams — or use the bib convention. |
| Your custom fields | No. They're written so they're in front of you in the spreadsheet; the entry import doesn't read them back. If you have a custom field whose name Manager's own imports already use — Rank, Class, Card, Start and so on — its column is written as Rank (custom) to keep it apart from the real one, so the file never carries two headings that look like the same thing. |
So the round trip is a good way to correct who is entered and in what — not a way to move an event. It carries people, not the event's shape: a class named in the file that this event doesn't have is created with just that name, and nothing about its courses, its leg count or its mass start comes with it. Import the classes and courses properly first, then use the CSV for the entries.
Two things about the file itself. It is comma-delimited, and it is saved with a UTF-8 marker so Excel on Windows opens accented names properly instead of mangling them — if you re-save it from a spreadsheet, keep it as UTF-8 CSV. And a competitor with no ranking exports as a blank cell rather than a 0: blank means "this file says nothing about a ranking", while 0 means "clear the stored one". See Clearing a ranking.
What the IOF XML file leaves out
An IOF EntryList has nowhere to put some of what Manager holds. Those facts are left out of the file rather than tucked somewhere no other system would look for them:
- Bib numbers — a competitor's and a team's alike.
- A course lock, and a fork variation — which course, or which fork of a forked course, someone is set to run. See Course pools and locking.
- Your custom fields.
- Where the entry came from — Eventor, a file import, or typed in by hand.
- Notes — and these are left out of every export, on purpose; see below.
A ranking does travel, as a score labelled as a rank, so rankings survive an IOF XML round trip in both directions.
If any of the rest has to travel, use Export JSON. It is the same document with all of it included — the bib, the ranking, the course and fork lock, your custom fields and the entry source. The one exception is Notes: they are your own remarks about the people in front of you, so no export carries them and nothing publishes them. Use a backup if the whole event has to move.
The Clubs page
Navigate to Clubs in the Event Data section.
The table is read-only and lists the clubs that are actually used in this event:
- Logo — the club logo, if one is available.
- Club — the club name.
- Short name — the abbreviation; its first four characters are used on Leaderboard when the club display is set to Abbreviation.
- Country — the ISO 3166-1 alpha-3 country code (e.g.
AUS).
Filter with Search Club Name or the Country filter. The page deliberately shows only clubs that at least one competitor references — so a club left behind by a re-import won't clutter the list.
Why clubs are "global"
Clubs live in a global Club Registry that spans every event, not inside a single event. Enter "Newcastle Orienteering Club" once and it's recognised in every future event, with the same short name and logo. Each event holds its own copy of the clubs its competitors use, merged on top of the shared cache so per-event tweaks don't leak elsewhere.
Because of this, you add and edit clubs in Settings, not on the Clubs page. Go to Settings → Club Registry, where you can:
- Add club — name, short name, and country.
- Refresh clubs from Eventor — pull the known-clubs list from Eventor.
- Fetch default logos from Eventor — download club logos automatically.
Click a club's name there to edit its short name, country, and logo. See the Club Registry reference and Settings.
Editing many competitors at once
Some jobs are the same small edit repeated: a ranking list has arrived for the elite classes, a club has handed in its members' card numbers, a group needs start times allocated. Opening each competitor in turn works, but Actions → Bulk edit is built for it.
The dialog shows a grid — one row per competitor, and every cell an editor.
Choosing what you can see
Only fields worth editing in bulk are offered, so the grid is not the whole competitor record. The columns button at the right-hand end of the header row turns them on and off, and headings can be dragged by their grip to reorder — the same header row as the Competitors page itself:
| Column | Notes |
|---|---|
| Competitor | Read-only, and always shown. It is how you keep your place in the grid. |
| Class | |
| Club | |
| Course | A picker only where the class has two or more courses in its pool; elsewhere it just names the one course the class resolves to. Shown by default when the event has any such class. |
| Variation | The fork a competitor is locked to. Shown by default when a course has forks. |
| Card | A card number entered twice is flagged in amber — that is legal (a relay stick handed down the legs) but it is also how a typo shows itself. |
| Bib | Not editable for a relay runner: their bib comes from their team. |
| Ranking | See Ranking below. |
| IOF ID | |
| Allocated start time | Not editable for a relay leg, which starts at the changeover. |
| On start punch | Whether a start-box punch may override the allocated time; Inherited means "whatever the class or event says". |
| Custom fields | One column per custom competitor field, if you have any. |
Your choice is remembered, so the dialog opens the way you left it next time.
Typing your way down the grid
Filling the grid in is nearly all typing, so it takes the keyboard:
- Return moves to the next field along the row, and on to the next competitor at the end of it.
- Down arrow and up arrow move down and up the same column — the way to work through a column of card numbers, rankings or start times.
Whatever is in the cell you land on is selected, so the first thing you type replaces it. Cells with nothing to type in are passed over rather than stopping you: the competitor's name, a relay runner's bib, a class with only one course.
A dropdown cell — Class, Course, Variation, On start punch — is passed through by the arrows in the same way, so a column of them can be walked without anything popping open. To open one, press Space or click it; or simply start typing the value, which picks the matching option without opening anything at all. Club searches as you type and offers a list. While any dropdown is open it owns the keys: the arrows move through its options and Return chooses one.
Setting a whole column at once
The common case is the same value for a group of people: everyone in a class onto a particular course, a club's runners moved to another class, a mass start time for a group. Narrow the grid with the filters below, then use the small set-column button in that column's heading. Pick the value and click Apply — it goes to every row the grid is showing, and no others.
It is offered on the columns where a shared value means something: Class, Club, Course, Variation, Allocated start time, On start punch, and any custom fields. It is deliberately not offered on Card, Bib, IOF ID or Ranking — those identify a person, so one value across a whole club is never what was wanted.
Rows the value cannot apply to are left alone, and the dialog says so when that happens: a course a class does not offer, or a start time on a relay leg. The button counts the rows it will actually change, so the number you see is what you get.
Like everything else in the dialog, nothing is written until you click Save — so if a fill goes somewhere you did not intend, Cancel undoes all of it.
Narrowing the list
The filters across the top scope the grid to the job: search by name or card, and pick any number of classes, clubs or statuses. "All the elite classes" is one selection, not four separate visits. The count beside the title tells you how many competitors are showing out of the whole event.
The filter is remembered per event, so you can close the dialog, do something else, and come back to the same set.
Saving
Changed cells are highlighted, and a pencil appears against the row, so you can see at a glance what you have touched — including after you have moved on to the next field. Nothing is written until you click Save; Cancel discards the lot (it asks first if you have made changes).
Save applies every changed row in one request. If the server refuses one — a duplicate bib, a card number that is not valid, a course that is not in the class's pool — then:
- every other row is still saved, and stops being marked as changed;
- the refused row keeps what you typed, and a Problem column appears with the reason;
- the dialog stays open, with a Only rows with problems switch so you can work through just those rows;
- fix them and click Save again.
The dialog closes by itself once everything has saved.
Marking non-starters (Set DNS)
After the start window closes you'll usually have entries who never turned up. Rather than editing each one, use Actions → Set competitors DNS on the Competitors page.
The dialog lets you select who to mark by status — typically those with no status yet or on course with no radio punches — optionally narrowed to particular classes, and shows how many competitors match. Confirm to set them all to Did Not Start in one go.
DNS vs. delete: set DNS for someone who entered but didn't start — they stay in the results as a non-starter, which is what you usually want and what the safety check relies on. Delete only someone entered by mistake who should vanish entirely.
Clearing the whole competitor list
Actions → Delete all competitors empties the list in one step. Use it when an import went in wrong and you want to start the entry list again from a clean slate — it's much quicker than deleting entries one at a time.
Manager confirms first and lists what else changes, because the effects reach beyond the list you're looking at:
- Every competitor goes, along with their result, status, start time and any punch corrections.
- Card downloads and radio punches are kept — they're records of what happened at the event, not of who entered — but they're no longer assigned to anybody. Re-importing the entry list and re-assigning the downloads gets the results back.
- In a relay event the teams stay, but their legs are left without runners.
- Classes, courses, clubs and controls are untouched.
There is no undo. On a live event, back the event up before you do this.
Relay teams have the same action on the Teams page (Actions → Delete all teams). Deleting the teams keeps the runners as competitors, but they lose the bib number and leg they inherited from their team.
Late entries and on-the-day registration
Adding a competitor after the event is under way works exactly the same as above — Actions → Add, or let a card download create the entry. Manager doesn't lock the competitor list once the event starts. For the registration-desk workflow and assigning start times on the day, see Late entries.
Related
- Importing event data — the usual way to populate competitors and clubs
- Exporting data — the event's other exports, results included
- Relay events — teams, legs, and why a mixed event exports one kind at a time
- Classes and courses — the classes competitors are assigned to, and course pools
- Start times — allocating and overriding start times
- The start draw — the one thing that acts on a start request, and only when you ask it to
- Competitor Registry — the cross-event store of known competitors
- Club Registry — the cross-event store of clubs
- Downloading cards — how a download attaches to a competitor
- Late entries — adding competitors on event day