Zum Inhalt

Export (CSV / HTML)

Das Plugin bietet zwei Export-Formate für Audit-Berichte, DSGVO-Auskünfte oder externe Archivierung.

Export öffnen

  1. Admin → Erweiterungen → Other → Admin-Aktivitätsprotokoll öffnen
  2. Im Filter-Panel oben: Rubrik / Zeitraum / Bearbeiter / Entity wählen
  3. „Exportieren"-Button (oben rechts) klicken
  4. Im Modal Format wählen:
    • CSV — Spreadsheet-Format, für Excel/Numbers/LibreOffice
    • HTML — gestylte Tabelle, für Druck oder PDF-Weiterverarbeitung

CSV-Export

Eigenschaften:

  • RFC-4180-konform (Quoting, Escaping nach Standard)
  • Semikolon-Trenner (deutsche Excel-Default-Konfig)
  • UTF-8 mit BOM (Excel erkennt Umlaute korrekt, kein Garbage in der ersten Spalte)
  • Header-Zeile mit Spaltennamen
  • Dateiname: aktivitaetsprotokoll_<datum>_<zeit>.csv

Spalten:

# Spalte Inhalt
1 Datum created_at als YYYY-MM-DD HH:MM:SS
2 Rubrik übersetzter Kategorie-Name
3 Aktion create / update / delete / login_success etc.
4 Bearbeiter actor_username
5 Bearbeiter-Typ admin / integration / system
6 Entität entity_name
7 Entität-Label entity_label (menschenlesbarer Name)
8 Entität-ID entity_id (UUID)
9 IP-Adresse nur befüllt, wenn captureIpAddress = true
10 User-Agent nur befüllt, wenn captureUserAgent = true
11 Diff (JSON) komplettes Diff als kompaktes JSON, max. 1000 Zeichen
12 Kontext (JSON) weitere Metadaten (z. B. HTTP-Status bei Login-Fails)
Excel-Import-Tipps
  • Doppelklick auf die .csv-Datei öffnet sie i. d. R. direkt korrekt
  • Falls die Spalten in einer Zelle landen: in Excel Daten → Aus Text/CSV → Datei wählen → Delimiter: Semikolon, Codierung: 65001 (UTF-8)
  • Diff-/Kontext-Spalten enthalten JSON-Strings — für formatierte Darstellung in Excel =ANZEIGEN(...) nicht nötig, einfach Spaltenbreite anpassen

HTML-Export

Eigenschaften:

  • Eigene Datei mit Inline-CSS — direkt im Browser öffnenbar
  • Header mit Export-Zeitstempel und Filter-Parametern
  • Gestylte Tabelle mit Zebra-Streifen und Sticky-Header
  • Diff als <pre>-Block für lesbares JSON
  • XSS-Safe (alle Strings via htmlspecialchars escaped)
  • Dateiname: aktivitaetsprotokoll_<datum>_<zeit>.html

Nutzung:

  • Direkt im Browser öffnen — Druck via Strg/Cmd + P
  • Browser-Druck-Dialog → „Als PDF speichern" → archivierbares PDF
  • Im Mail-Anhang versenden bei DSGVO-Auskunfts-Antworten

Filter, die im Export berücksichtigt werden

Der Export übernimmt alle aktiven Filter aus dem Listen-View:

  • Rubrik — alle oder eine spezifische Kategorie (z. B. authentication für Login-Fails)
  • Zeitraumcreated_at zwischen Start/Ende
  • Bearbeiter — bestimmter actor_username oder actor_user_id
  • Entitätentity_name (z. B. nur product für Katalog-Audit)
  • Aktioncreate / update / delete / login_* / plugin_*
  • Freitext-Suche — in entity_label, actor_username und Diff-Inhalt
Maximalgröße pro Export

Der Export ist nicht paginiert — bei sehr großen Filtern (z. B. „letzte 365 Tage, alle Rubriken, keine Filter") kann der Export mehrere Minuten brauchen und 10+ MB CSV erzeugen. Empfehlung: vor Export sinnvolle Filter setzen — Zeitraum auf max. 90 Tage, ggf. Rubrik einschränken.

Use Cases

Use Case 1 — DSGVO-Auskunfts-Antwort

Ein Admin-User fragt nach Art. 15 DSGVO: „Welche Daten habt ihr über mich gespeichert?"

  1. Filter: Bearbeiter = <username>, Zeitraum = letzte 12 Monate
  2. Export als CSV
  3. CSV in Datenschutz-Antwort-Mail einhängen, mit erläuterndem Anschreiben

Use Case 2 — Forensik nach Sicherheits-Vorfall

Ein Produkt-Preis wurde manipuliert. Du weißt: irgendwann in der letzten Woche.

  1. Filter: Rubrik = Produktkatalog, Entität = product_price, Zeitraum = letzte 7 Tage
  2. Listen-View durchgehen, verdächtige Einträge identifizieren
  3. Filter erweitern: Bearbeiter = <verdächtiger-username>
  4. Export als HTML → für Audit-Bericht ausdrucken

Use Case 3 — Brute-Force-Erkennung

Verdacht auf Login-Brute-Force im letzten Monat.

  1. Filter: Rubrik = Authentifizierung, Aktion = login_failed, Zeitraum = letzte 30 Tage
  2. Sortieren nach actor_username und created_at
  3. Häufungen erkennen: viele Failures hintereinander oder mit wechselnden Usernames = Brute-Force-Indikator
  4. Export als CSV → in Sicherheits-Tool (z. B. Splunk, Graylog) importieren für weitergehende Analyse

Use Case 4 — Monatliches Audit-Reporting

Routine-Reporting für Compliance-Officer.

  1. Am Monatsende: Filter Zeitraum = letzter Monat, Rubrik = Admin-User + System-Konfig
  2. Export als HTML → drucken / archivieren
  3. In Compliance-Verzeichnis abheften

API-Aufruf (programmatisch)

Der Export-Endpunkt lässt sich auch direkt aufrufen:

POST /api/_action/kommora-activity-log/export
Authorization: Bearer <admin-token>
Content-Type: application/json

{
    "format": "csv",
    "filters": {
        "category": "authentication",
        "action": "login_failed",
        "from": "2026-06-01T00:00:00Z",
        "to": "2026-06-30T23:59:59Z"
    }
}

Response: Content-Type: text/csv; charset=utf-8 mit Content-Disposition: attachment; filename="...".

ACL-Permission kommora_activity_log:read erforderlich.

Weiter