Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
All services: admin-v2, studio-v2, website, ai-compliance-sdk, consent-service, klausur-service, voice-service, and infrastructure. Large PDFs and compiled binaries excluded via .gitignore.
172 lines
4.8 KiB
Markdown
172 lines
4.8 KiB
Markdown
# BreakPilot BPMN Prozesse
|
|
|
|
Dieses Verzeichnis enthaelt die BPMN 2.0 Prozessdefinitionen fuer BreakPilot.
|
|
|
|
## Prozess-Uebersicht
|
|
|
|
| Datei | Prozess | Beschreibung | Status |
|
|
|-------|---------|--------------|--------|
|
|
| `classroom-lesson.bpmn` | Unterrichtsstunde | Phasenbasierte Unterrichtssteuerung | Entwurf |
|
|
| `consent-document.bpmn` | Consent-Dokument | DSB-Approval, Publishing, Monitoring | Entwurf |
|
|
| `klausur-korrektur.bpmn` | Klausurkorrektur | OCR, AI-Grading, Export | Entwurf |
|
|
| `dsr-request.bpmn` | DSR/GDPR | Betroffenenanfragen (Art. 15-20) | Entwurf |
|
|
|
|
## Verwendung
|
|
|
|
### Im BPMN Editor laden
|
|
|
|
1. Navigiere zu http://localhost:3000/admin/workflow oder http://localhost:8000/app (Workflow)
|
|
2. Klicke "Oeffnen" und waehle eine .bpmn Datei
|
|
3. Bearbeite den Prozess im Editor
|
|
4. Speichere und deploye zu Camunda
|
|
|
|
### In Camunda deployen
|
|
|
|
```bash
|
|
# Camunda starten (falls noch nicht aktiv)
|
|
docker compose --profile bpmn up -d camunda
|
|
|
|
# Prozess deployen via API
|
|
curl -X POST http://localhost:8000/api/bpmn/deployment/create \
|
|
-F "deployment-name=breakpilot-processes" \
|
|
-F "data=@classroom-lesson.bpmn"
|
|
```
|
|
|
|
### Prozess starten
|
|
|
|
```bash
|
|
# Unterrichtsstunde starten
|
|
curl -X POST http://localhost:8000/api/bpmn/process-definition/ClassroomLessonProcess/start \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"variables": {
|
|
"teacherId": {"value": "teacher-123"},
|
|
"classId": {"value": "class-7a"},
|
|
"subject": {"value": "Mathematik"}
|
|
}
|
|
}'
|
|
```
|
|
|
|
## Prozess-Details
|
|
|
|
### 1. Classroom Lesson (classroom-lesson.bpmn)
|
|
|
|
**Phasen:**
|
|
- Einstieg (Motivation, Problemstellung)
|
|
- Erarbeitung I (Einzelarbeit, Partnerarbeit, Gruppenarbeit)
|
|
- Erarbeitung II (optional)
|
|
- Sicherung (Tafel, Digital, Schueler-Praesentation)
|
|
- Transfer (Anwendungsaufgaben)
|
|
- Reflexion & Abschluss (Hausaufgaben, Notizen)
|
|
|
|
**Service Tasks:**
|
|
- `contentSuggestionDelegate` - Content-Vorschlaege basierend auf Phase
|
|
- `lessonProtocolDelegate` - Automatisches Stundenprotokoll
|
|
|
|
**Timer Events:**
|
|
- Phasen-Timer mit Warnungen
|
|
|
|
---
|
|
|
|
### 2. Consent Document (consent-document.bpmn)
|
|
|
|
**Workflow:**
|
|
1. Dokument bearbeiten (Autor)
|
|
2. DSB-Pruefung (Vier-Augen-Prinzip)
|
|
3. Bei Ablehnung: Zurueck an Autor
|
|
4. Bei Genehmigung: Veroeffentlichen
|
|
5. Benutzer benachrichtigen
|
|
6. Consent sammeln mit Deadline-Timer
|
|
7. Monitoring-Subprocess fuer jaehrliche Erneuerung
|
|
8. Archivierung bei neuer Version
|
|
|
|
**Service Tasks:**
|
|
- `publishConsentDocumentDelegate`
|
|
- `notifyUsersDelegate`
|
|
- `sendConsentReminderDelegate`
|
|
- `checkConsentStatusDelegate`
|
|
- `triggerRenewalDelegate`
|
|
- `archiveDocumentDelegate`
|
|
|
|
---
|
|
|
|
### 3. Klausur Korrektur (klausur-korrektur.bpmn)
|
|
|
|
**Workflow:**
|
|
1. OCR-Verarbeitung der hochgeladenen Klausuren
|
|
2. Qualitaets-Check (Confidence >= 85%)
|
|
3. Bei schlechter Qualitaet: Manuelle Nachbearbeitung
|
|
4. Erwartungshorizont definieren
|
|
5. AI-Bewertung mit Claude
|
|
6. Lehrer-Review mit Anpassungsmoeglichkeit
|
|
7. Noten berechnen (15-Punkte-Skala)
|
|
8. Notenbuch aktualisieren
|
|
9. Export (PDF, Excel)
|
|
10. Optional: Eltern benachrichtigen
|
|
11. Archivierung
|
|
|
|
**Service Tasks:**
|
|
- `ocrProcessingDelegate`
|
|
- `ocrQualityCheckDelegate`
|
|
- `aiGradingDelegate`
|
|
- `calculateGradesDelegate`
|
|
- `updateGradebookDelegate`
|
|
- `generateExportDelegate`
|
|
- `notifyParentsDelegate`
|
|
- `archiveExamDelegate`
|
|
- `deadlineWarningDelegate`
|
|
|
|
---
|
|
|
|
### 4. DSR Request (dsr-request.bpmn)
|
|
|
|
**GDPR Artikel:**
|
|
- Art. 15: Recht auf Auskunft (Access)
|
|
- Art. 16: Recht auf Berichtigung (Rectification)
|
|
- Art. 17: Recht auf Loeschung (Deletion)
|
|
- Art. 20: Recht auf Datenuebertragbarkeit (Portability)
|
|
|
|
**Workflow:**
|
|
1. Anfrage validieren
|
|
2. Bei ungueltig: Ablehnen
|
|
3. Je nach Typ:
|
|
- Access: Daten sammeln → Anonymisieren → Review → Export
|
|
- Deletion: Identifizieren → Genehmigen → Loeschen → Verifizieren
|
|
- Portability: Sammeln → JSON formatieren
|
|
- Rectification: Pruefen → Anwenden
|
|
4. Betroffenen benachrichtigen
|
|
5. Audit Log erstellen
|
|
|
|
**30-Tage Frist:**
|
|
- Timer-Event nach 25 Tagen fuer Eskalation an DSB
|
|
|
|
**Service Tasks:**
|
|
- `validateDSRDelegate`
|
|
- `rejectDSRDelegate`
|
|
- `collectUserDataDelegate`
|
|
- `anonymizeDataDelegate`
|
|
- `prepareExportDelegate`
|
|
- `identifyUserDataDelegate`
|
|
- `executeDataDeletionDelegate`
|
|
- `verifyDeletionDelegate`
|
|
- `collectPortableDataDelegate`
|
|
- `formatPortableDataDelegate`
|
|
- `applyRectificationDelegate`
|
|
- `notifyDataSubjectDelegate`
|
|
- `createAuditLogDelegate`
|
|
- `escalateToDSBDelegate`
|
|
|
|
## Naechste Schritte
|
|
|
|
1. **Delegates implementieren**: Java/Python Service Tasks
|
|
2. **Camunda Connect**: REST-Aufrufe zu Backend-APIs
|
|
3. **User Task Forms**: Camunda Forms oder Custom UI
|
|
4. **Timer konfigurieren**: Realistische Dauern setzen
|
|
5. **Testing**: Prozesse mit Testdaten durchlaufen
|
|
|
|
## Referenzen
|
|
|
|
- [Camunda 7 Docs](https://docs.camunda.org/manual/7.21/)
|
|
- [BPMN 2.0 Spec](https://www.omg.org/spec/BPMN/2.0/)
|
|
- [bpmn-js](https://bpmn.io/toolkit/bpmn-js/)
|