Process Guide

Config: config.phpDB: yesCollation: utf8mb4_0900_ai_ciContext: KVI11#9103 · day · Wrapper · SVG · CSV · Overview · Gate

Kontext einstellen

Quelle/Vorlage (z. B. KVI10). Wird für „Klonen“ verwendet.
Ziel/Neuer Fragebogen (z. B. KVI11). Alle Links beziehen sich auf diesen Slug.
PID = Teilnehmer-/Partner-ID. Steuert die Sicht auf Reports/Viewer (Gate v2). Wenn du hier 9103 wählst, prüft alles gegen diese Person/Gruppe.
ID = Ergebnis-ID. Zeigt ein konkretes Ergebnis im Viewer/Report. Die ID gehört zu einem bestimmten Slug (z. B. 995006 ist KVI10).
Report-Stufe. basic = Grundwerte; bench = +Benchmark-Vergleiche; interp = +Interpretationshilfen. Ergänzend, nicht exklusiv.
Zeitaggregation. Aggregiert Ergebnisse nach Tag/Woche/Monat für die Zeitreihe.
MA = Moving Average (Gleitmittelwert). Glättet die Kurve über ein Fenster. Beispiel: 7 = Mittel der letzten 7 Intervalle (bei Bucket=day → 7 Tage). 0 = aus.
OPcache anstupsen: Jetzt neu laden – erzwingt, dass PHP geänderte Dateien sofort genutzt werden (Datei-Cache leeren/aktualisieren).

Assets (Bilder)

Assets-Übersicht (Galerie: KVI11) Galerie öffnen (KVI11)

Hier verwaltest du Bilder je Fragebogen-Slug (z. B. KVI11).
Logo-Preset (240 px) für Markenflächen, Ansicht-Preset (1200 px) für große Bilder. Normalisierte Dateien enden auf @w… (z. B. bild@w1200.jpg).

Prozess-Schritte

  1. Quelle prüfen (Preview/Schema)Preview · Schema
    Schaue die Vorlage (Texte/Items) an, bevor du klonst.
  2. Klonen (Quelle → Ziel)Clone starten
    Erzeugt den Ziel-Fragebogen KVI11 aus KVI10. Benchmarks/Permissions später separat setzen.
  3. Ziel prüfen (Preview/Schema)Preview · Schema
    Stimmen Items, Optionen, Texte?
  4. Gate v2 freischaltenGate Check öffnen
    Was passiert hier? Prüft, ob basic freigegeben ist und ob PID 9103 unter report.allowed_pids steht. Quelle: app_settings.permissions.by_slug.KVI11.
  5. Erfassung testenErfassungs-Ansicht öffnen
    „Rendern“ = Fragebogen anzeigen/ausfüllen (Guard). So entstehen neue Ergebnisse.
  6. Reports öffnenOverview
    Read-only Auswertung (Stufen je Gate).
  7. TimeseriesWrapper · SVG · HTML · CSV
    Was ist Timeseries? Zeitreihe der Ergebnisse (für slug=KVI11, pid=9103) nach Bucket (Tag/Woche/Monat). Wrapper zeigt SVG + Tabelle. MA glättet die Kurve.
    1. Chart-Baustein (SVG-Library) anwenden
      Zwei Wege zur Grafik:
      Automatisch: Timeseries-/Report-Endpoints holen Daten aus der DB und zeichnen intern mit sp_svg_linechart().
      Manuell: Öffne den CSV→SVG-Playground, füge Labels & Werte ein und erhalte sofort ein fertiges SVG (inkl. Download).

      CSV → SVG Playground öffnen

      Code-Beispiel (nur Text, wird nicht ausgeführt)
      <?php
      require_once '/admin/_svg_linechart.php';
      header('Content-Type: image/svg+xml; charset=utf-8');
      
      $labels = ['2025-10-01','2025-10-08','2025-10-15']; // X
      $series = [
        ['name' => 'avg_total', 'values' => [12.0,13.5,14.2]],  // Y1
        // ['name' => 'MA(7)',   'values' => [12.0,12.8,13.2]], // optional Y2
      ];
      
      echo sp_svg_linechart($series, $labels, [
        'title'   => 'Eigene Zeitreihe',
        'x_label' => 'Tag',
        'y_label' => 'Durchschnitt (avg_total)',
      ]);
  8. Viewer (Guard)Result Viewer · CSV zum Ergebnis
    Zeigt ein einzelnes Ergebnis (ID=995006) – geschützt durch Gate/Signatur.
  9. Diagnosediag_env · diag_permissions (raw) · pretty
    diag_env: zeigt Config (aus welcher Datei gelesen), DB-Verbindung (inkl. MySQL-Version) und Collation (utf8mb4_0900_ai_ci empfohlen; wichtig für Umlaute, Sortierung und JSON-Vergleiche).
    diag_permissions: zeigt das Rechte-JSON aus app_settings (Key permissions). Dort stellst du pro slug ein, welche Report-Stufen erlaubt sind (report_access.levels) und welche PIDs/Gruppen Reports/Viewer sehen dürfen (report.allowed_pids, allowed_groups). Nutze die pretty-Ansicht für eine übersichtliche Darstellung + Lexikon.

Kompaktinfos

Quelle (source_slug)
KVI10
Ziel (target_slug)
KVI11
PID
9103 · steuert Report/Viewer-Zugriff
ID
995006 · konkretes Ergebnis
Level
basic · Report-Stufe
Bucket
day · Zeitaggregation
MA
0 · Fenstergröße (0=aus)

Default = Voreinstellung/Standardwert. DESC = absteigend sortiert (SQL).

SQL: schnelle Prüfung

Letzte 20 Ergebnisse (für Ziel+PID)

SELECT id, participant_id, questionnaire_slug, total_score, submitted_at FROM results WHERE questionnaire_slug = 'KVI11' AND participant_id = 9103ORDER BY submitted_at DESC LIMIT 20;

Gate v2 – erlaubte PIDs/Level

In app_settings (Key permissions): by_slug.KVI11report_access.levels & report.allowed_pids.

deny = verweigern (kein Zugriff). ok = erlaubt.

Micro-Glossar (einfach erklärt)

Weitere Shortcuts

Startseite · Teilnehmer · Signatur-Policy · Assets (KVI11) · Galerie (KVI11)