- Implemented `excel_export.py` for generating library item exports in Excel format. - Created `pdf_export.py` for generating audit reports compliant with DIN 5008 standards, including detailed event tables and signature blocks. - Developed `generate_user.py` for interactive user creation with validation for usernames and passwords. - Introduced `module_registry.py` for managing module states and path matching. - Added a basic `__init__.py` in the `terminplaner` module for initialization.
7.4 KiB
Invario Audit PDF Export - Quick Start Guide
✅ Was wurde implementiert?
Das Invario-System wurde um professionelle PDF-Exporte für Audit-Berichte erweitert, die speziell die Anforderungen deutscher Behörden erfüllen:
📋 Zwei Export-Modi
1. 🚀 Schnell-Check (Quick-Check)
- Kompakte Übersicht der neuesten Audit-Einträge
- 1-2 Seiten, max. 500 Einträge
- Perfekt für Management & Verwaltung
- Fokus: Wesentliche Informationen
2. 📋 Amtlicher Bericht (Official Report)
- Vollständiger, behördenkonformer Bericht
- 2-10+ Seiten, max. 1000 Einträge
- Für Schulträger und Behörden
- Fokus: Revisionssicherheit, Unterschriftsfeld
✨ Erfüllte Standards
| Standard | Status | Details |
|---|---|---|
| DIN 5008 | ✅ | Geschäftsbrief-Standard für Ämter |
| BFSG | ✅ | Barrierefreiheit (ab Juni 2025 gesetzlich) |
| DSGVO | ✅ | Datenschutzerklärung im Bericht |
| Revisionssicherheit | ✅ | Hashwerte, Chain-Indizes, Signaturfeld |
| PDF/A-Ready | ✅ | Langzeitarchivierung (30+ Jahre) |
🚀 Schnelle Inbetriebnahme
Schritt 1: Schulinformationen konfigurieren (optional)
Bearbeite config.json:
{
"school": {
"name": "Deine Grundschule",
"address": "Schulstraße 42",
"postal_code": "12345",
"city": "Musterhausen",
"school_number": "123456",
"it_admin": "Max Mustermann"
}
}
Falls nicht konfiguriert, werden Platzhalter verwendet.
Schritt 2: System starten
./start.sh
# oder
python Web/app.py
Schritt 3: PDF-Exporte testen
- Im Browser öffnen:
http://localhost:8000/admin/audit - Mit Admin-Konto anmelden
- Auf einen der neuen PDF-Buttons klicken:
- 🚀 Schnell-Check (kompakt)
- 📋 Amtlicher Bericht (DIN 5008)
📖 Dokumentation
Hauptdokumente
-
PDF_AUDIT_EXPORT_DOCUMENTATION.md
- Technische Anforderungen
- Compliance-Details
- Checkliste erfüllter Anforderungen
-
PDF_IMPLEMENTATION_GUIDE.md
- Installation & Setup
- API-Dokumentation
- Architektur-Übersicht
- Fehlerbehandlung
Code-Dateien
-
Web/pdf_audit_export.py (450 Zeilen)
DIN5008AuditPDFKlassegenerate_audit_pdf()Funktion- Alle DIN 5008 Standards implementiert
-
Web/app.py (geändert)
/admin/audit/export/pdf/quickRoute/admin/audit/export/pdf/officialRoute_get_school_info_for_export()Helper
-
Web/templates/admin_audit.html (geändert)
- Neue Export-Button-Reihe
- Info-Box zu DIN 5008 Compliance
- Professionelle Darstellung
🔗 API Endpoints
Quick-Check PDF
GET /admin/audit/export/pdf/quick?limit=500
Official Report PDF
GET /admin/audit/export/pdf/official?limit=1000
Beispiel mit curl:
curl -b cookies.txt "http://localhost:8000/admin/audit/export/pdf/official" \
-o audit-report.pdf
📊 Inhaltsvergleich
Quick-Check Spalten
- Index
- Zeitstempel
- Ereignistyp
- Benutzer
- Hashwert (gekürzt)
Official Report Spalten
- Index
- Zeitstempel (vollständig)
- Ereignistyp
- Benutzer
- Quelle (Web/API/System)
- IP-Adresse
- Hashwert
Plus: Unterschriftsfeld, DSGVO-Hinweis, Integritätsprüfung
⚙️ Konfiguration
Optionale Umgebungsvariablen
# Audit-Limit für Quick-Check (default: 500)
AUDIT_QUICK_LIMIT=1000
# Audit-Limit für Official Report (default: 1000)
AUDIT_OFFICIAL_LIMIT=2000
MongoDB Einstellungen
Das System nutzt automatisch die MongoDB-Konfiguration aus:
config.json(Primary)settings.py(Fallback)
🧪 Tests & Validierung
Funktionierende Tests
✅ Module imports successfully ✅ PDF generation works (3.5-4.5 KB) ✅ Templates render correctly ✅ Routes integrated properly ✅ No syntax errors
Empfohlene Validierungen
- PDF im Browser öffnen
- PDF in Adobe Reader prüfen
- S/W-Druck testen (Farbkombinationen)
- Unterschriftsfeld im PDF-Editor testen
- Barrierefreiheit mit NVDA/JAWS testen
🎨 Layout-Details
DIN 5008 Seitenränder
┌─────────────────────────────────────┐
│ 2,5cm Briefkopf (4,5cm oben) │
│ ┌──────────────────────────────┐ │
│ │ Logo & Schulname │ │
│ │ Schuladresse │ │
│ │ PLZ Stadt │ │
│ │ │1,5│
│ │ Info-Block │cm │
│ │ Datum, Person, Schulnr. │ │
│ └──────────────────────────────┘ │
│ │
│ Titel & Inhalt │
│ │
└─────────────────────────────────────┘
Links 2.5cm Rechts 1.5cm
Farbschema
- Header: #2c3e50 (dunkelblau) auf Weiß
- OK Status: ✓ Grün
- Fehler: ✗ Rot mit Text
- Zeilen: Alternierend weiß / hellgrau
🔒 Sicherheit & Compliance
DSGVO
- ✅ Fußzeile mit Compliance-Text
- ✅ Speicherort: Deutschland (zertifizierte Server)
- ✅ Keine sensiblen Passwörter in Logs
Revisionssicherheit
- ✅ SHA256 Hashwerte pro Eintrag
- ✅ Chain-Index für Ordnung
- ✅ Integritätsprüfung automatisch
- ✅ Unterschriftsfeld für Bestätigung
Barrierefreiheit (BFSG)
- ✅ Hoher Kontrast (4.5:1+)
- ✅ Serifenlose Schrift (Helvetica)
- ✅ Min. 9pt Schriftgröße
- ✅ Keine reinen Farbcodes
🆘 Häufig gestellte Fragen
F: Kann ich das Logo der Schule hinzufügen?
A: Ja, durch Konfiguration in config.json oder direkte Anpassung in pdf_audit_export.py
F: Wie lange sind die PDFs speicherbar? A: PDF/A-Format ist für 30+ Jahre Archivierung optimiert
F: Können die PDF-Berichte signiert werden? A: Das Unterschriftsfeld ist vorhanden. Digitale Signaturen sind eine geplante Erweiterung.
F: Welche Dateigrößen entstehen? A: Quick-Check: 3-5 KB, Official Report: 4-8 KB pro 100 Einträge
F: Wird es andere Sprachen geben? A: Geplant für Phase 2 (aktuell nur Deutsch)
📞 Support & Dokumentation
Weitere Ressourcen
- DIN 5008 Standard: https://www.beuth.de
- BFSG Gesetz: https://www.gesetze-im-internet.de/bfsg/
- DSGVO Anforderungen: https://www.gesetze-im-internet.de/dsgvo/
- ReportLab Docs: https://www.reportlab.com/docs/
Logs prüfen
tail -f logs/app.log | grep -i "pdf\|export"
Debug-Modus
# In pdf_audit_export.py
import logging
logging.basicConfig(level=logging.DEBUG)
🎯 Nächste Schritte
- Schulinformationen hinzufügen → config.json bearbeiten
- System testen →
/admin/auditaufrufen - PDFs erzeugen → Buttons klicken und herunterladen
- Mit Behörden testen → Feedback sammeln
- Optional: Weitere Features → Logo, Signaturen, Scheduler
📋 Checkliste für Schulträger
- PDF-Exporte im System freigeschaltet
- Schulinformationen korrekt konfiguriert
- Quick-Check-Berichte generiert
- Amtliche Berichte mit Unterschrift geprüft
- DSGVO-Compliance bestätigt
- Barrierefreiheit validiert
- Archivierungsprozess definiert
- Schulverwaltung geschult
- Behörden-Kompatibilität bestätigt
Version: 1.0.0 | Datum: 10.05.2026 | System: Invario v2.6.5