Files
2026-10-30 10:11:43 +01:00

2.0 KiB
Raw Permalink Blame History

Anleitung für Prüfer

Stand: 29.10.2026 · Ziel: jede Frage fachlich prüfen und freigeben oder ablehnen.

Voraussetzungen

  • Python ≥ 3.11 (nur Standardbibliothek), ein aktueller Browser (Firefox, Chromium).
  • Editor mit JSON-Schema-Unterstützung (z. B. VSCode/VSCodium) – validiert beim Tippen über $schema.

Ablauf

  1. Paket entpacken, index.html öffnen und die Fragen im Lernmodus durchgehen (Topic-Filter auf der Startseite, Reihenfolge „nach Objective“, Optionen nicht mischen).
  2. Fragen im Quelltext data/<prüfung>/questions_<topic>.json prüfen – Regeln: question_rules.md, Prüfungsrahmen: exam_format.md.
  3. Ergebnis je Frage als Vermerk eintragen:
    "review": { "status": "approved", "by": "<Name oder Rolle>", "date": "2026-11-02" }
    "review": { "status": "rejected", "by": "<Name oder Rolle>", "date": "2026-11-02", "note": "Option ‚…‘ ist ebenfalls korrekt" }
    
    Korrekturen direkt in der Frage vornehmen und meta.version der Datei erhöhen.
  4. Prüfen und bauen:
    python3 tools/build_bank.py -c                   # Regeln, Prüfstatus, Abdeckung je Objective
    python3 tools/build_bank.py                      # js/bank.js neu (verschlüsselt, eigener PSK in tools/.psk)
    python3 tools/build_bank.py --approved-only -e   # nur Freigegebenes, Export nach dist/
    python3 -m http.server 8080 -d dist              # Export ausliefern
    
  5. Geänderte questions_*.json zurückgeben (nicht js/bank.js, nicht tools/.psk).

Neue Fragen

Nächste freie Nummer im Objective verwenden (<objective>-<NNN>), Format siehe ../README.md. Ohne Build testen: Datei im Simulator über Import laden.

Tests

chromium --headless --allow-file-access-from-files --virtual-time-budget=5000  --dump-dom tests/selftest.html | grep -o 'RESULT[^<]*'
chromium --headless --allow-file-access-from-files --virtual-time-budget=40000 --dump-dom tests/ui_smoke.html | grep -oE '(FAIL|RESULT)[^<]*'