Publishing results to your web site¶
Publishing puts the day’s results on the club’s web site and keeps them there up to date, so exhibitors can look up their runs on a phone without coming back to the table. It rebuilds the pages and uploads them once a minute for as long as it is left running.
Item |
Menu |
|---|---|
Publish Results… |
Tools |
In AKC and CKC Agility only.
Note
This publishes to your own web space — a club site you already have. It does not provide hosting, and nothing is sent anywhere until you have filled in where to send it.
What gets published¶
One page per class, plus a front page:
index.html the front page: the most recently scored runs
STD.html every level, division and jump height of Standard
JWW.html Jumpers With Weaves
FAST.html FAST
T2B.html Time 2 Beat
results.css how it all looks
Each class page holds the whole class — Novice A through Premier, Regular and Preferred, every jump height — so an exhibitor gets to their result in one click and can scroll to the rest.
The front page lists the runs scored most recently, and each line links straight to that class and jump height. Every page refreshes itself once a minute.
Setting it up¶
The settings live in a file named publish-config.txt in the trial’s own
folder — the folder the program last saved that trial’s files into, the same
one the score display reads its layout from.
The first time you choose Tools –> Publish Results…, that file is created for you with notes in it and opened in Notepad. Fill it in, save it, and choose the menu item again.
Setting |
What it is |
|---|---|
|
who and where, as |
|
the club’s directory on the server. The day of the week is added to it |
|
the private key file the upload signs in with |
|
optional. A link to the course maps, shown as a button on every page |
|
optional. How often to rebuild and upload. |
|
optional. Where the pages are also written on this computer |
|
optional. Publish a day other than today, as |
A filled-in file looks like this:
host myclub@myclub.example.net
remote-base myclub.example.net/2026-spring
key C:\Users\me\Documents\myclub.ppk
maps https://www.dropbox.com/scl/fo/.../course-maps
The day of the week is added for you¶
remote-base names the trial, not the day. Saturday’s results go into
.../2026-spring/saturday and Sunday’s into .../2026-spring/sunday, without
you changing anything between them.
The day comes from the date of the trial being published, not from what day
it happens to be when you run it. So regenerating Saturday’s results on Sunday
morning still writes them to saturday.
The key must not have a passphrase¶
Publishing runs unattended all day. If the key is protected by a passphrase there is nobody to type it, so a key with one is refused with a message saying so rather than quietly failing every minute.
Both PuTTY keys (.ppk) and OpenSSH keys work, and a .ppk is used as it is
— there is nothing to convert.
Note
If you already publish results by hand with PuTTY’s pscp and an agent, the
key you are using probably does have a passphrase. Open it in PuTTYgen and
save a copy with the passphrase left blank, then point key at that copy.
Settings are per trial, and stay on this computer¶
They are kept in the trial’s folder rather than in Tools –> Options, for two reasons. Options is stored in the trial database, which is shared by every computer using it — and it travels in an export, so a copy of your trial sent to somebody else would carry your server login with it.
Running it¶
Choose Tools –> Publish Results…. The first upload takes a few seconds, and then you are told it is running. A small console window stays minimised on the task bar, listing each round as it happens; leave it alone.
To stop it: Tools –> Publish Results… again, then answer OK.
If the first upload fails — a wrong key, the server unreachable — you are told what went wrong and it keeps trying once a minute. A venue’s internet dropping out for ten minutes should not mean noticing an hour later that nothing has been published since.
Note
Publishing does not follow the Events menu. It is set up for one trial, and if you switch trials you should stop it and start it again.
Tidying up what was there before¶
The first upload of each run removes pages left in that directory that are no longer part of the site — last trial’s classes, or the pages an older way of publishing left behind. Otherwise a reused directory keeps showing a class that is not running this weekend.
Only web pages and stylesheets are removed. Anything else you have put in that
directory — a course-map PDF, photographs, an .htaccess — is left alone
and listed in the console window so you can see what was skipped.
This happens once, at the start of a run, not every minute.
What a run looks like¶
Times are shown in seconds, and a run that was never timed is left blank rather than shown as zero. Placements are shown for first through fourth, which is what the class awards.
Column |
|
|---|---|
Num |
armband |
Dog |
call name |
Q |
|
Score |
for Time 2 Beat this is the points |
Plc |
1st to 4th |
Time |
seconds |
Faults |
the scribe’s marks, such as |
Owner |
surname |
A dog that has not run yet appears with the Q, score and time columns empty.
When something is wrong¶
What you see |
What it is |
|---|---|
“No trial is chosen” |
Pick the trial from the Events menu first. The settings are kept per trial |
“This trial has no folder yet” |
Save something for this trial — a judge’s packet, an export — so the program knows which folder is its own |
“These settings are not filled in yet” |
|
“…is passphrase-protected” |
Save a copy of the key without a passphrase. See above |
“The server’s key is not the one in known_hosts” |
Connect once with an SSH program to record the server, or, if the host genuinely changed, remove its old line |
“Publishing started, but the first attempt failed” |
The message underneath is the server’s own. It keeps trying |
Pages upload but nobody can see them |
|
“there is more than one Agility trial on…” |
Two trials on one date. Each needs its own directory; the message names them both |
The console window is worth a look if something seems stuck. Each round prints one line:
uploaded 5 file(s), 0 unchanged
uploaded 1 file(s), 4 unchanged
uploaded 0 file(s), 5 unchanged
Only pages that have actually changed are sent, so 0 file(s) is the normal
state of a quiet minute, not a sign that anything is wrong.