docs: expand Awards wiki — Test/Explain, Missing refs, n-fer, catalog updates
The matching "five rules" were already documented; add the parts that were only in code: the per-QSO Explain trace (Test a callsign in the award editor), the Missing-refs gap finder (in-scope-but-no-reference + bulk assign), how one QSO credits several references (n-fer POTA / VUCC grid lines, comma/semicolon split), code-vs-exact matching, and how built-in award updates skip awards you've edited.
This commit is contained in:
@@ -23,6 +23,17 @@ Plus a **leading/trailing** strip, a **prefix** prepended to found references, a
|
||||
**dynamic** mode (any value counts, like POTA), and the **fallback searches**
|
||||
described below.
|
||||
|
||||
**One QSO can count for several references.** A contact always yields *every*
|
||||
reference its field holds — the value is split on commas and semicolons, so an
|
||||
n-fer POTA activation logged as `US-6544,US-0680` credits both parks, and a
|
||||
grid-line VUCC contact credits each grid. There is no "one reference per QSO"
|
||||
switch — it was never useful.
|
||||
|
||||
**Match by `code`** looks up each token of the field in the reference list (so a
|
||||
partial or multi-value field still resolves), while **`exact match`** requires
|
||||
the whole field to equal the reference. Use exact match when a substring would
|
||||
cause false hits.
|
||||
|
||||
### The five rules to remember
|
||||
|
||||
1. **Every regex is case-insensitive.** Award and per-reference patterns match
|
||||
@@ -72,6 +83,42 @@ A custom province award where the log rarely spells the province out (it names a
|
||||
Now a QSO is resolved by the province **name** if present, else by a **city**
|
||||
regex — first in the QTH, then in the address. First hit wins.
|
||||
|
||||
## Why doesn't a QSO count? — Test & Missing refs
|
||||
|
||||
An award that matches nothing is the hardest thing to debug: the column is just
|
||||
empty, and you can't tell whether the QSO was out of scope, the field was empty,
|
||||
the rule looked in the wrong place, or the reference isn't on the list. Two tools
|
||||
answer that.
|
||||
|
||||
### Test a callsign (award editor)
|
||||
|
||||
In the **award editor** there's a **Test** box: type a callsign and OpsLog
|
||||
replays that award's rules against every QSO you have with that station and shows
|
||||
what happened, step by step — the exact same code path the real matcher uses, so
|
||||
what you see is what actually runs. For each contact it reports:
|
||||
|
||||
- whether the QSO is **in scope** (and, if not, *why* — wrong DXCC, band, mode,
|
||||
emission, or outside the valid-from/to dates);
|
||||
- each rule in turn (**primary**, then **Fallback 1, 2, …**), the **field value**
|
||||
it scanned, the **candidates** it produced, which ones were **kept**, and which
|
||||
were **rejected** (with the reason — e.g. "not on the reference list");
|
||||
- rules that were **skipped** because an earlier one already matched;
|
||||
- any **manual** reference you assigned by hand;
|
||||
- the final **result** — what the QSO counts for.
|
||||
|
||||
This is the fastest way to fix a rule: if the primary scanned the wrong field, or
|
||||
a candidate was rejected as unlisted, the trace says so directly.
|
||||
|
||||
### Missing refs (awards panel)
|
||||
|
||||
For an award scoped to a DXCC entity (DDFM, WAS, RAC, WAJA…), the **Missing refs**
|
||||
view lists contacts that ARE in scope (right DXCC / band / mode / dates) **but
|
||||
where no reference was found** — so they don't count yet. Sort by a column, tick
|
||||
the matching contacts, and **assign the reference** to all of them at once (or
|
||||
click a row to open the QSO and fix the field). Recompute and the fixed contacts
|
||||
drop off the list. This is how you close the gaps a matcher can't fill on its own
|
||||
(a French QSO logged without its department, say).
|
||||
|
||||
## Live detection & manual refs
|
||||
|
||||
- References are detected **live** as you enter a callsign.
|
||||
@@ -89,6 +136,15 @@ regex — first in the QTH, then in the address. First hit wins.
|
||||
or **both**. Award columns are opt-in per the Columns picker
|
||||
([[Recent QSOs and Filters]]).
|
||||
|
||||
## Built-in updates vs your edits
|
||||
|
||||
Built-in awards ship with the app, definition **and** reference list. When a
|
||||
newer version fixes a shipped award (a better fallback chain, a corrected
|
||||
reference list), OpsLog offers to apply that update — **unless you've edited that
|
||||
award yourself**, in which case your version is left alone (your work outranks
|
||||
ours). Awards you created are never touched by updates. So you can freely tune a
|
||||
built-in award without fear of a future release overwriting it.
|
||||
|
||||
## Rescan
|
||||
|
||||
**Rescan** re-pulls the logbook and recomputes — it picks up fresh LoTW / QRZ /
|
||||
|
||||
Reference in New Issue
Block a user