docs: add modeGroups feature to award system specification
Document the modeGroups property for award definitions, which allows creating convenient multi-mode filters in the award detail view. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -71,6 +71,7 @@ Every award definition is a JSON object with the following structure:
|
|||||||
| `caption` | string | Yes | Detailed explanation of award requirements |
|
| `caption` | string | Yes | Detailed explanation of award requirements |
|
||||||
| `category` | string | Yes | Grouping category for UI organization (e.g., "dxcc", "darc", "vucc") |
|
| `category` | string | Yes | Grouping category for UI organization (e.g., "dxcc", "darc", "vucc") |
|
||||||
| `rules` | object | Yes | Award calculation rules (see Rule Types below) |
|
| `rules` | object | Yes | Award calculation rules (see Rule Types below) |
|
||||||
|
| `modeGroups` | object | No | Mode group definitions for award detail view filtering (see Mode Groups below) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -456,6 +457,85 @@ This creates: DLD 80m CW (only QSOs on 80m band AND CW mode count).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Mode Groups
|
||||||
|
|
||||||
|
Mode groups allow awards to define convenient multi-mode filters for the award detail view. This feature enables users to filter by multiple modes at once (e.g., all digital modes combined).
|
||||||
|
|
||||||
|
### Structure
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"modeGroups": {
|
||||||
|
"Group Display Name": ["mode1", "mode2", "mode3"],
|
||||||
|
"Another Group": ["modeA", "modeB"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Properties
|
||||||
|
|
||||||
|
| Property | Type | Required | Description |
|
||||||
|
|----------|------|----------|-------------|
|
||||||
|
| Key | string | Yes | Display name shown in mode filter dropdown |
|
||||||
|
| Value | array | Yes | Array of mode strings to include in the group |
|
||||||
|
|
||||||
|
### Behavior
|
||||||
|
|
||||||
|
- **Location**: Defined at award root level (not in `rules`)
|
||||||
|
- **Optional**: Awards without `modeGroups` work as before (backward compatible)
|
||||||
|
- **UI Integration**: Creates entries in mode filter dropdown with visual separator
|
||||||
|
- **Filtering**: Selecting a mode group filter shows QSOs matching ANY mode in the group
|
||||||
|
|
||||||
|
### Example: DXCC with Mode Groups
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"id": "dxcc",
|
||||||
|
"name": "DXCC",
|
||||||
|
"description": "Confirm 100 DXCC entities on HF bands",
|
||||||
|
"caption": "Contact and confirm 100 different DXCC entities on HF bands (160m-10m).",
|
||||||
|
"category": "dxcc",
|
||||||
|
"modeGroups": {
|
||||||
|
"Digi-Modes": ["FT8", "FT4", "MFSK", "PSK31", "RTTY", "JT65", "JT9"],
|
||||||
|
"Classic Digi-Modes": ["PSK31", "RTTY", "JT65", "JT9"],
|
||||||
|
"Mixed-Mode w/o WSJT-Modes": ["PSK31", "RTTY", "AM", "SSB", "FM", "CW"],
|
||||||
|
"Phone-Modes": ["AM", "SSB", "FM"]
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"type": "entity",
|
||||||
|
"entityType": "dxcc",
|
||||||
|
"target": 100,
|
||||||
|
"allowed_bands": ["160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "10m"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### UI Display
|
||||||
|
|
||||||
|
In the award detail view, the mode filter dropdown shows:
|
||||||
|
- Mixed Mode (default - aggregates all modes by band)
|
||||||
|
- ───── (visual separator)
|
||||||
|
- Digi-Modes
|
||||||
|
- Classic Digi-Modes
|
||||||
|
- Mixed-Mode w/o WSJT-Modes
|
||||||
|
- Phone-Modes
|
||||||
|
- ───── (visual separator)
|
||||||
|
- CW (individual modes)
|
||||||
|
- FT8
|
||||||
|
- SSB
|
||||||
|
- etc.
|
||||||
|
|
||||||
|
### Common Mode Group Patterns
|
||||||
|
|
||||||
|
| Group Name | Modes | Use Case |
|
||||||
|
|------------|-------|----------|
|
||||||
|
| Digi-Modes | FT8, FT4, MFSK, PSK31, RTTY, JT65, JT9 | All digital modes |
|
||||||
|
| Classic Digi-Modes | PSK31, RTTY, JT65, JT9 | Pre-WSJT digital modes |
|
||||||
|
| Phone-Modes | AM, SSB, FM | All voice modes |
|
||||||
|
| Mixed-Mode w/o WSJT | PSK31, RTTY, AM, SSB, FM, CW | Traditional mixed mode award |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## QSO Database Schema
|
## QSO Database Schema
|
||||||
|
|
||||||
The award system relies on QSO records with specific fields.
|
The award system relies on QSO records with specific fields.
|
||||||
|
|||||||
Reference in New Issue
Block a user