OpenTTM

Documentation › Reference

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

host

who and where, as user@server

remote-base

the club’s directory on the server. The day of the week is added to it

key

the private key file the upload signs in with

maps

optional. A link to the course maps, shown as a button on every page

interval

optional. How often to rebuild and upload. 60s unless you say otherwise

out

optional. Where the pages are also written on this computer

date

optional. Publish a day other than today, as m/d/yyyy

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

Q, NQ, ABS (absent), WD (withdrawn) or NT (no time / eliminated)

Score

for Time 2 Beat this is the points

Plc

1st to 4th

Time

seconds

Faults

the scribe’s marks, such as R-2 W-1

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”

host, remote-base and key are all required. The file is opened for you

“…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

remote-base is probably pointing somewhere outside the part of the server the web site serves

“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.