Releases: iqb-berlin/coding-box
1.16.1
Release Notes 1.16.1
Highlights
- Die manuelle Kodierung wurde weiter stabilisiert: Kodierjobs unterscheiden jetzt klarer zwischen „abgeschlossen“ und „zur Überprüfung eingereicht“; abgeschlossene Jobs bleiben bis zur Einreichung weiter bearbeitbar.
- Schulungen wurden erweitert: Diskussionsergebnisse können gespeichert, mit Kommentar/Score exportiert und als finale Ergebnisse angewendet werden.
- Doppelkodierungsreview und Problemfälle wurden verbessert: angewendete Review-Ergebnisse werden sichtbar, Replay-gestützte Entscheidungen sind möglich und Kodierhinweise können gezielter aufgelöst werden.
- Die Planung manueller Kodierjobs ist robuster: Job-Definitionen lassen sich auch nach der Erstellung zuverlässiger bearbeiten, Variablenauswahlen bleiben beim Filtern erhalten und Doppelkodierung wird variablenweise berechnet.
- Die Kodierübersicht wurde verbessert: zusätzliche Filter für Wert, Code und Bewertung, exakte Variablen-ID-Suche, optionale Regex-Filter und funktionierende Sortierung.
- Schulungs- und Exportfunktionen wurden nach 1.16.0 nachgezogen: Replay-Links können wieder optional exportiert werden, Exportlabels sind korrigiert und die Interrater-Reliabilität kann nach Schulung gefiltert werden.
- Replay-Darstellung und Bedienung wurden verbessert, insbesondere für Tabellenzellen, Variablenbündel und kompaktere manuelle Kodieransichten.
- Missing-Code- und Freshness-Logik wurden weiter gehärtet, damit Ergebnisanwendung, Schulungsauswertung und Auto-Coding-Aktualität konsistenter funktionieren.
Manuelle Kodierung und Kodierjobs
- Kodierjobs unterscheiden jetzt sauberer zwischen normal abgeschlossenem Arbeitsstand und expliziter Einreichung zur Überprüfung.
- Kodierer:innen können abgeschlossene Jobs erneut öffnen, solange sie noch nicht zur Überprüfung eingereicht wurden.
- Pausieren, Fortsetzen und Einreichen eigener Kodierjobs laufen über dedizierte Endpunkte für Kodierer:innen und funktionieren auch ohne Admin-Rechte.
- Kodierjob-Definitionen können bearbeitet werden, ohne dass bereits durch dieselbe Definition zugewiesene Fälle fälschlich als nicht verfügbar blockieren.
- Fälle mit
DERIVE_ERRORkönnen bei Job-Definitionen konsistenter berücksichtigt werden. - Variablenauswahlen in Job-Definitionen bleiben beim Filtern erhalten.
- Doppelkodierung wird bei Anzahl und Prozentangaben variablenweise berechnet statt global über alle Fälle.
- Sondercodes in der manuellen Kodierung wurden überarbeitet:
- „Code-Vergabe unsicher“ ist nur zusammen mit einem regulären Code möglich.
- „Neuer Code nötig“ erfordert eine Notiz.
- kommentargebundene Sondercodes werden ausgeblendet, wenn Kommentare deaktiviert sind.
- Codes ohne manuelle Instruktion werden in der manuellen Kodierung zuverlässiger geschützt und können nicht versehentlich als reguläre manuelle Codes gespeichert werden.
- Die Warnliste zu nicht verfügbaren manuellen Codes in der Planungsansicht kann erweitert und wieder eingeklappt werden.
Schulungen, Diskussion und Review
- Diskussionsergebnisse aus Schulungen können als finale Ergebnisse angewendet werden.
- Beim Anwenden von Diskussionsergebnissen werden bestehende finale Ergebnisse und Konflikte mit produktiven Kodierjobs berücksichtigt.
- Notizen aus dem Diskussions-Replay werden gespeichert und in Exporten berücksichtigt.
- Score und Kommentar zur Diskussionsauflösung werden in detaillierten, aggregierten und kompakten Exporten ausgegeben.
- Anzeigeoptionen für Schulungen wurden an Job-Definitionen angeglichen:
- Scores anzeigen
- Kommentare erlauben
- Allgemeine Hinweise ausblenden
- Anzeigeoptionen werden beim Bearbeiten bestehender Schulungen wieder korrekt geladen.
- Anzeigeoptionen werden an das Diskussions-Replay übergeben.
- Die Interrater-Reliabilität in Schulungen kann nach konkreter Kodierschulung gefiltert werden.
- Studien- und Kodierungsmanager:innen können Review-/Diskussions-Replays auch dann öffnen und Entscheidungen treffen, wenn sie keine normale Kodierfähigkeit besitzen.
- Doppelkodierungsreview zeigt angewendete Codes, Scores und Kommentare für bereits aufgelöste Fälle an.
- Im Doppelkodierungsreview werden ursprüngliche Kodierungen markiert, die dem angewendeten Ergebnis entsprechen.
- Replay-gestützte Entscheidungen im Doppelkodierungsreview zeigen Markierungen/Tooltips zu den ursprünglichen Kodierer:innen.
- Problemfälle mit „Code-Vergabe unsicher“ oder „Neuer Code nötig“ können im Review-/Replay-Fluss gezielter bearbeitet werden.
- Ergebnisanwendung kann gültige Kodierungen anwenden, auch wenn einzelne Kodierhinweise noch offen bleiben; offene Problemfälle werden dabei übersprungen und gemeldet.
Kodierübersicht, Filter und Auto-Coding-Freshness
- Die Kodierdaten-Tabelle kann nach Wert, Code und Bewertung gefiltert werden.
- Die Variablen-ID-Suche unterstützt exakte Treffer mit Anführungszeichen, z. B.
"01". - Optional können Regex-Filter für ausgewählte Suchfelder aktiviert werden.
- Ungültige Regex-Ausdrücke werden in der UI abgefangen.
- Tabellen-Sortierung in der Kodierübersicht funktioniert wieder serverseitig vor der Pagination.
- Änderungen an
.vocs-Kodierschemata werden für Coding-Freshness berücksichtigt. - Die Anwendung unterscheidet dabei zwischen auto-coding-relevanten Änderungen und reinen Instruktionsänderungen.
- Nach Änderungen an Testdateien werden Workspace- und Coding-Caches gezielter invalidiert.
- Große Reset-Operationen des 1. Autocoderlaufs wurden gehärtet, damit Freshness- und Statistikupdates nicht durch zu große Datenbankabfragen scheitern.
- Antwort-Matching wird nicht mehr unnötig nach jeder einzelnen Checkbox-Änderung neu berechnet; Aggregationseinstellungen können gezielter angewendet werden.
- Replay-Beispiele in der Variablenanalyse werden nach Unit, Variable und Code ausgewählt, damit verschiedene Codezeilen nicht fälschlich dasselbe Beispiel verwenden.
Exporte
- Replay-URLs können in Exporten der manuellen Kodierung wieder optional ergänzt werden.
- Die Option ist nur für unterstützte Exporttypen sichtbar.
- Labels für Doppelkodierungsoptionen im Exportdialog werden wieder korrekt übersetzt angezeigt.
- Schulungs-Diskussionsergebnisse exportieren neben dem Code auch Score und Notiz.
- Bereits gesetzte Missing-Kodierungen aus Missing-Profilen werden beim Anwenden von Ergebnissen korrekt nach
v2übernommen. - Bestehende finale Werte werden nicht still überschrieben; ein explizites Überschreiben ist erforderlich.
Replay und Darstellung
- Tabellenzellen im Replay werden zuverlässiger hervorgehoben.
- Die Hervorhebung nutzt ein Overlay innerhalb der Tabellenzelle und ist dadurch weniger anfällig für abgeschnittene Rahmen.
- Das manuelle Kodierpanel wurde kompakter gestaltet:
- kompakterer Fortschritt
- überarbeitete Zeilen
- einklappbare Hilfsbereiche
- Der Kodierjob-Wechsler wurde aus der Replay-Ansicht entfernt.
- Variablenbündel werden in Kodierjob-Verteilung, Schulung und Replay besser unterstützt.
- Die Auswahl in Schulungsdialogen wurde auf klickbare Karten umgestellt und ist dadurch besser sichtbar und konsistenter bedienbar.
Abhängigkeiten und Betrieb
@iqb/metadata-componentswurde aktualisiert.@angular/elementswurde gepinnt, um Versionsabweichungen zu vermeiden.- Die Anwendungsversion und Startseitenanzeige wurden auf
1.16.1aktualisiert. - Ein kritischer
npm audit-Befund übershell-quotewurde durch Override auf1.8.4behoben.
Validierung
- Frontend- und Backend-Lints wurden für die relevanten Änderungen ausgeführt.
- Frontend- und Backend-Tests wurden für die betroffenen Coding-, Schulungs-, Review-, Export-, Replay- und Filterbereiche erweitert bzw. ausgeführt.
- Der Release-PR aktualisiert
package.json,package-lock.jsonund die angezeigte Startseitenversion auf1.16.1. - Der Release-PR wurde nach erfolgreicher Prüfung nach
maingemerged.
1.16.0
Release Notes 1.16.0
Highlights
- Neue Item-Matrix-Exporte erleichtern die strukturierte Auswertung von Items, Personen und Kodierergebnissen.
- Die Variablenanalyse wurde deutlich erweitert: sortierbare Tabellen, Paging, CSV-/XLSX-Exporte, optionale Schema-Codes und gültige Antwortfrequenzen machen Analysen nachvollziehbarer.
- Schulungs- und Vergleichsauswertungen liefern zusätzliche Kennzahlen, Modalwerte sowie detaillierte Cohen’s-Kappa-Exporte.
- Die manuelle Kodierung wurde überarbeitet: Coding-Manager, Review-Modus, klarere Prozessübersichten und robustere Export-Scope-Steuerung verbessern den Workflow.
- Missings-Profile sind nun workspacebezogen und werden konsistenter in Job-Definitionen, Kodierjobs, Auswertungen und Exporten berücksichtigt.
- Job-Definitionen speichern Verteilungssnapshots und zeigen neue Fälle, Verteilungsänderungen und CSV-Exporte transparenter an.
- GeoGebra- und Replay-Workflows wurden erweitert und robuster abgesichert.
- Die Content-Pool-Anbindung nutzt Anwendungstokens mit Scope-Prüfung und wurde für betriebliche Szenarien gehärtet.
Coding, Berechtigungen und Review
- Neue Coding-Manager-Ansicht für eine bessere Übersicht über Kodierprozesse und deren Aktionen.
- Kodierjobs unterstützen nun einen Review-Modus.
- Die Prozessübersicht wurde überarbeitet und bietet klarere Aktionen sowie ein robusteres Statushandling.
- Kodierergebnisse können gezielter verglichen werden, inklusive zusätzlicher Filter und direktem Öffnen der passenden Replay-Ansicht aus Vergleichszeilen.
- Kodierungshinweise und Notizen werden im Vergleich von Kodierergebnissen angezeigt.
- Review- und Export-Scope für Job-Definitionen wurden korrigiert.
- Doppelt kodierte Review-Fälle zeigen Kodierer:innen-Spalten zuverlässiger an.
- Manuelle Kodierung wurde strukturell überarbeitet, inklusive Navigation, Startaktionen und Wechsel zwischen Kodierjobs.
- Manuelle Kodierungsexporte berücksichtigen den vorgesehenen Scope präziser.
- CodeSelector und manuelles Codebuch blenden nicht manuelle Codes konsistenter aus.
- CodeSelector-Sonderoptionen bleiben sichtbar, auch wenn reguläre manuelle Codes gefiltert werden.
- Legacy-CodeSelector-Auswahlen werden robuster verarbeitet.
- Die Semantik manueller Codeauswahl wurde dokumentiert.
- Rollen- und Workspace-Berechtigungen für manuelle Kodierung und Replay wurden gehärtet.
- Re-Authentifizierung schützt laufende Replay- und Kodieraktionen zuverlässiger.
Variablenanalyse und Auswertung
- Die Variablenanalyse bietet nun eine sortierbare Tabelle.
- CSV- und XLSX-Exporte für die Variablenanalyse wurden ergänzt.
- Optionale Schema-Codes können in der Variablenanalyse berücksichtigt werden.
- Gültige Antwortfrequenzen werden in der Variablenanalyse ausgewiesen.
- Scope-Behandlung, Nullzählungen und Tabellenbreite der Variablenanalyse wurden verbessert.
- Variablenanalysen werden gegen eatPrepTBA-Referenzen abgesichert.
- Manuelle Variablen ohne auswählbare Codes erzeugen nun Validierungswarnungen.
- Nicht manuelle Codes werden in Variablen- und CodeSelector-Kontexten konsistenter gefiltert.
- Modalwerte und zusätzliche Kennzahlen erweitern die Schulungsauswertung.
- Cohen’s-Kappa-Auswertungen können als Workbook exportiert werden.
- Detaillierte Kappa-Statistiken können zusätzlich als CSV exportiert werden.
- Variable Kappa-Zusammenfassungen für Trainings wurden ergänzt.
- Durchschnittliches Kappa pro Variable wird ausgewiesen.
- Modalwert-Gleichstände erhalten Export-Metadaten.
- Profilbezogene Diskussionsergebnisse wurden wiederhergestellt.
- Fehlende Profilscores in Schulungsvergleichen werden robuster behandelt.
Testdaten, Importe und Workspace-Verwaltung
- Testcenter-Testgruppen zeigen beim Laden Fortschrittsfeedback.
- Statusrückmeldungen zu Testergebnissen wurden verbessert.
- Die Testresultat-Übersicht bietet klarere Aktionen.
- Antwortdaten können anhand von Chunk-Zeitstempeln bereinigt werden.
- Antwortimporte invalidieren Kodier-Caches nun zuverlässiger.
- Merge-Importe behandeln neue Personen und neue Units robuster.
- Skip-Importe verändern bestehende Units nicht mehr unbeabsichtigt.
- Speichern von Response-Matching kann nach Fehlern erneut versucht werden.
- Mehrfaches Löschen von Dateien wurde gehärtet.
- Studienmanager:innen können Ressourcenpakete verwalten.
- Die Anzeige von Log-Anomalien kann über Workspace-Einstellungen gesteuert werden.
- Rechtshinweise können bearbeitet werden.
Manuelle Kodierung und Job-Verteilung
- Job-Definitionen speichern Verteilungssnapshots.
- Gespeicherte Verteilungszusammenfassungen werden für Job-Definitionen angezeigt.
- Neue Fälle in Job-Definition-Refreshes werden in Vorschauen und Zusammenfassungen klarer ausgewiesen.
- Verteilungen von Job-Definitionen können als CSV exportiert werden.
- Vorschau und Erstellung von Job-Definitionen wurden normalisiert.
- Refresh-Fälle für Job-Definitionen werden konsistenter zusammengefasst.
- Fortschrittstexte bei Aggregationen wurden präzisiert.
- Kodierjob-Workflows wurden optimiert.
- Start- und Replay-Aktionen in Kodierjobs wurden stabilisiert.
- Kodierjob-Abschluss und Review-Status werden klarer dargestellt.
- Kodier-Caches werden nach Zurücksetzungen und Importen zuverlässiger invalidiert.
- Manuelle Kodier-Coverage-Zählungen berücksichtigen den korrekten Scope.
Missings, Profile und Sonderwerte
- Das IQB-Standard-Missings-Profil wird für bestehende Daten sichergestellt.
- Job-Definitionen referenzieren nun Missings-Profile.
- Bestehende Kodierjobs werden mit dem IQB-Standard-Missings-Profil rückbefüllt.
- Missings-Profile sind workspacebezogen.
- Missings-Profile können mit Scores für fehlende Werte verwendet werden.
- Fehlende Werte werden in manuellen Ergebnissen und Profilexporten konsistenter aufgelöst.
- Standardwerte für Missing-Scores werden robuster gesetzt.
DERIVE_ERROR-Statusmetadaten wurden zentralisiert.DERIVE_ERRORkann in Personen- und Response-Abfragen gefiltert werden.DERIVE_ERROR-Fälle können gezielt für Schulungen ausgewählt werden.- Manuelle Kodierung kann
DERIVE_ERROR-Fälle optional einbeziehen. - Unsichere Codezuweisungen werden in Exporten markiert.
GeoGebra, Replay und Darstellung
- GeoGebra-Ergebnisse können als ZIP exportiert werden.
- GeoGebra-Response-Values können optional exportiert werden.
- Replay-URLs für Trainingsvergleiche wurden korrigiert.
- Replay-Anker werden nach Response-Wechseln aktualisiert.
- Replay-Feld- und Tabellenhervorhebungen wurden verbessert.
- Replay-Page-Overrides, unter anderem für VOCS-Szenarien, werden getestet und stabiler angewendet.
- Replay-Anker-Lookups in Streams werden gebündelt.
- Replay warnt bei inkompatiblen Playern.
- Kompatible Aspect-Player werden für Replay-Szenarien installiert.
- Replay-Links verwenden interne Session-Authentifizierung.
- Workspace-Autorisierung für Replay wurde gehärtet.
- Die Replay-Seite bleibt bei Kodierjob-Reviews erhalten.
- Wechsel zwischen Kodierjobs über Replay wurde verbessert.
Exporte und Betrieb
- Neuer Item-Matrix-Export.
- Datenbank-Exportjobs wurden verbessert.
- CSV-Erzeugung für Analyse- und Kodierexporte wurde gehärtet.
- Content-Pool-Zugriffe verwenden Anwendungstokens.
- Content-Pool-Scopes werden geprüft.
- Token-Probes und Token-Austausch für Content-Pool-Workflows wurden robuster gemacht.
- Frontend-Cache-Header wurden korrigiert.
- Workspace-Auth-Bootstrap lädt zuverlässiger.
- Re-Authentifizierungsdialoge bleiben aktiv, bis der Vorgang abgeschlossen ist.
- Nginx-Fehlerseiten wurden gebrandet.
- Paketmetadaten und angezeigte Anwendungsversion wurden auf 1.16.0 aktualisiert.
Datenbank und Migrationen
- Neues Changeset zur Sicherstellung des IQB-Standard-Missings-Profils.
job_definitionserhalten eine Referenz aufmissings_profile.- Bestehende Job-Definitionen und Kodierjobs werden auf das IQB-Standard-Missings-Profil rückbefüllt.
job_definitionsspeicherndistribution_snapshotsals JSONB.- Trainingsvariablen erhalten die Option
include_derive_error. - Missings-Profile werden pro Workspace geführt.
- Eindeutigkeit von Missings-Profilen wird je Workspace und Label abgesichert.
Qualität und Wartung
- Tests für Variablenanalyse, Exporte, Coding-Scopes und Schulungsvergleiche wurden erweitert.
- Fehlende Profile-Scores in Trainingsvergleichen werden getestet.
- Modalwerte, Kappa-Auswertungen und Trainingskennzahlen sind durch zusätzliche Tests abgesichert.
- Replay-Page-Overrides und Replay-Ankerverhalten wurden mit Tests stabilisiert.
- Importpfade für neue Personen, neue Units und Skip-Importe wurden ergänzt.
- Kodierschema-Validierung wurde aktualisiert.
- Paketversionen und Lockfile wurden für 1.16.0 synchronisiert.
1.14.3
What's Changed
- Improve replay response cache warmup for new coding/replay links by warming grouped and legacy connector variants.
- Warm response caches for both unit names and aliases to avoid misses after link/server changes.
- Resolve response cache misses by matching runtime unit lookup against unit alias or unit name.
- Reuse frontend coding-job unit data for repeated route emissions while keeping progress reloads intact.
- Add non-persistent replay client timing logging for payload-to-player-ready and visible timings.
Full Changelog: 1.14.2...1.14.3
1.15.1
Release Notes 1.15.1
Highlights
- Produktions-Docker-Images laufen wieder innerhalb der unterstützten Node-Version: Die Node-Basisimages sind auf Node 22 gepinnt.
- Der Backend-Startfehler durch einen Runtime-Import aus
nx/src/utils/loggerwurde behoben. - Die Anwendungsversion und Startseitenanzeige wurden auf
1.15.1aktualisiert.
Betrieb
node:lts-bookwormundnode:lts-bookworm-slimwurden durch Node-22-Tags ersetzt, damit neue Builds nicht versehentlich auf Node 24 wechseln.- Backend-Code nutzt für Laufzeit-Logging NestJS
Loggerstatt Nx-internen Build-Tool-Modulen. - Frontend-Code enthält keine Runtime-Abhängigkeit auf den Nx-Logger mehr.
Validierung
- Lint, Tests und Builds für Frontend und Backend wurden im Zuge des Fixes ausgeführt.
- Das Backend-Production-Image wurde gebaut und per Smoke-Check geprüft: Node 22 im finalen Image, kein
node_modules/nx, keinnx/src/utils/loggerim Backend-Bundle.
1.15.0
Release Notes 1.15.0
Highlights
- Neuer asynchroner Datenbankexport: System- und Workspace-Exporte laufen als Hintergrundjobs mit Fortschrittsanzeige und stabilerem Download-Verhalten.
- Content-Pool-Integration: Kodierschemata und ACP-Dateien können mit dem Content Pool synchronisiert werden. Die Integration bleibt konfigurierbar und ist nicht automatisch aktiv.
- Erweiterte manuelle Kodierung: Kodierfälle können zwischen Kodierer:innen übertragen werden; Kodierungen lassen sich aus exportierten Listen importieren und vor dem Anwenden prüfen.
- Workspace-Admin: Testlets können gemeinsam über mehrere Booklets hinweg aktiviert oder deaktiviert werden.
- Kodierjob-Definitionen können sicher neu verteilt werden: Die Anwendung zeigt eine Vorschau, ersetzt nur unbearbeitete Jobs und schützt bereits begonnene Kodierarbeit.
- Coding-Berechtigungen wurden von Workspace-Zugriffsleveln getrennt, sodass Nutzer:innen Workspace-Zugriff haben können, ohne automatisch kodieren zu dürfen.
- Replay-Statistiken erfassen jetzt client- und serverseitige Timing-Diagnostik.
Coding, Berechtigungen und Review
- Autocoding-Readiness wurde ergänzt: Autokodierläufe können abhängig von Datenlage und Berechtigungen gezielter freigegeben oder gesperrt werden.
- Manuelle Kodierjobs berücksichtigen Coding-Freshness nach manueller Kodierung und Autocoding konsistenter.
- Job-Definitionen unterstützen Kapazitäten pro Kodierer:in, stabile Verteilung, Anzeigeoptionen und verbesserte Validierung.
- Bestehende Kodierjob-Definitionen können mit einem neuen Vorschau-Dialog neu verteilt werden, inklusive Anzeige von vorhandenen, veralteten, hinzugefügten und entfernten Fällen.
- Schreibgeschützte Kodierjob-Definitionen erklären jetzt klarer, dass Verteilungsänderungen über die Neuverteilung erfolgen.
- Die Anzeige verfügbarer Fälle für neue manuelle Kodierjobs berücksichtigt bereits zugewiesene effektive Arbeitsfälle konsistenter.
- Manuelle Kodierstatistiken unterscheiden klarer zwischen Rohantworten und effektiven Kodierfällen nach Aggregation.
- Veraltete Antwort-Analysen werden in der manuellen Kodierungsplanung sichtbar markiert, wenn sie nicht mehr zum aktuellen Datenbestand passen.
- Nutzerführung und Routing berücksichtigen jetzt effektive Workspace-Rechte und aktive Coding-Berechtigung.
- Persönliche Kodierjob-Routen werden anhand der Workspace-Rolle und Coding-Berechtigung geschützt.
- Workspace-Zugriffsrechte zeigen die getrennte Coding-Fähigkeit verständlicher an.
- Admin-Nutzer:innen mit Coding-Berechtigung sehen den Kodierjobs-Tab zuverlässiger.
- Double-Coding-Review erkennt Konflikte anhand der getroffenen Entscheidung robuster.
- Double-Coding-Filter, GeoGebra-Anzeige und Entscheidungsspalte wurden verbessert.
- Review-Dialoge laden gefilterte Treffer robuster, zeigen Replay-Fehler sichtbar an und erlauben erneutes Laden.
- Coder-Trainings wurden verbessert: klarere Auswahlstrategien, Mehrfachauswahl für Variablen, eindeutigere Trainingslabels und bessere Vergleichsansichten.
Testdaten und Workspace-Verwaltung
- Testdatei-Validierungen laufen mit Fortschrittsanzeige, Cache und besserer Fehlerdiagnostik.
- Testresultat-Importe melden Fortschritt und Importprobleme nachvollziehbarer.
- Bulk-Löschung von Testergebnissen und gezielte Löschung von Logdaten wurden ergänzt.
- Log-Importe wurden gehärtet; Sessions können als
LOADCOMPLETEexportiert werden. - Testcenter-Logimporte behalten ihre Importreihenfolge und sammeln Importhinweise zuverlässiger.
- Schnellnavigation und Suche in Testresultaten wurden verbessert.
- Ressourcenpakete wurden erweitert: globale Pakete, GeoGebra-Bundle-Installation sowie Prüfung/Reparatur bestehender GeoGebra-Pakete.
- Booklet- und Unit-Infodialoge nutzen größere, besser lesbare XML-Ansichten.
- Booklet-Replays lassen sich auch öffnen, wenn zur Testperson kein Testperson-Code hinterlegt ist.
GeoGebra, Replay und Darstellung
- GeoGebra-Antworten werden zuverlässiger erkannt, auch bei Data-URI-Werten.
- GeoGebra-Antworten können als
.ggbheruntergeladen werden. - Replay-Anker werden robuster geframed und bei Bedarf erneut versucht.
- Replay-Statistiken speichern begrenzte Timing-Diagnostik für Client und Server.
- Replay-Statistiken werden best-effort gespeichert, kürzen überlange Werte und entfernen Auth-/Payload-Parameter aus gespeicherten URLs.
- Veraltete Asset-Timings werden bei Replay-Statistiken nicht mehr persistiert.
- Große Replay-Payloads werden cachefreundlicher geladen.
Exporte und Betrieb
- Kodierdaten- und Ergebnisexporte wurden stabilisiert; große Exporte nach Variablen laufen performanter.
- Exportierte Kodierergebnisse können Antwortwerte enthalten.
- Coding-Listen und Codebook-Exporte werden robuster als Hintergrundjobs verarbeitet.
- Prozessübersicht und Queue-Verarbeitung wurden verbessert, inklusive Schutz vor doppelten Jobs und besserem Umgang mit veralteten Queue-Einträgen.
- HTTP- und Reauthentifizierungsfehler werden im Frontend verständlicher angezeigt.
- Caches für Coding-Verfügbarkeit, Analyse und Statistik werden nach Job-Erstellung, Ergebnisimporten und Reset-Vorgängen konsistenter aktualisiert.
Audit und Datenbank
- Neues Audit-Journal-Modell für kanonische Ereignisse mit Actor, Ergebnis, Zusammenfassung, Korrelation und Job-Bezug.
- Neue Datenbankstrukturen für Coding-Freshness, Workspace-Testresultat-Revisionen, Job-Freshness, Ressourcenpaket-Metadaten und Validierungsjob-Caches.
workspace_user.can_codetrennt Coding-Fähigkeit von reinen Workspace-Zugriffsrechten.- Replay-Statistiken speichern zusätzliche
client_timingsundserver_timings. - Statuswerte für
status_v3werden vor der Migration validiert und anschließend konsistent numerisch gespeichert. - Effektive Coding-Statuswerte ignorieren offene manuelle Platzhalter, solange noch keine Ergebnisse angewendet wurden.
- Zusätzliche Indizes verbessern Filterabfragen auf Booklet-Logs und Validierungs-/Journalansichten.
Qualität und Wartung
- Testabdeckung wurde erweitert und globale Coverage-Schwellen wurden angehoben.
- Fehlerfälle in Autocoding, manueller Kodierung, Aggregation, Exporten, Log-Importen, Review, Replay und Validierung wurden abgesichert.
- Frontend-Layouts in Admin-, Workspace-Admin- und Coding-Bereichen wurden responsiver und tabellenfreundlicher gemacht.
- Workspace-Konfiguration und Nx-/Build-Konfiguration wurden gestrafft.
- Anwendungsversion und Startseitenanzeige wurden auf
1.15.0aktualisiert.
1.14.2
Release Notes 1.14.2
Highlights
-
Replay-Payloads werden aufgeteilt, sodass cachebare Unit-Assets und responsebezogene Daten getrennt geladen werden können.
-
Browser-Caching für Replay-Payload-Endpunkte wurde verbessert und ist über eine TTL konfigurierbar.
-
Der bestehende Replay-Payload-Endpunkt bleibt für Legacy-Aufrufe kompatibel.
-
Replay-Requests sind durch zusätzliche Query-Marker leichter zu analysieren.
-
Die Entwicklungsumgebung wurde robuster gegen Express-/Angular-Dev-Server-Konflikte gemacht.
Replay und Performance
-
Replay-Payloads werden in cachebare Unit-Assets und separate Response-Anfragen aufgeteilt.
-
Private Browser-Cache-Header wurden für Replay-Payload-Endpunkte ergänzt.
-
Die Cache-TTL für Replay-Payloads ist konfigurierbar.
-
Der Legacy-Endpunkt für Replay-Payloads bleibt kompatibel, sodass bestehende Integrationen weiter funktionieren.
-
Split-Payload-Requests erhalten einen
replayPart-Marker, um Requests im Debugging und in Browser-Tools besser unterscheiden zu können.
Betrieb und Kompatibilität
-
Der
path-to-regexp-Override wurde enger begrenzt, damit der Angular-Development-Server weiterhin mit Express 4 funktioniert. -
Die Replay-Optimierung ist rückwärtskompatibel zu bisherigen Payload-Aufrufen umgesetzt.
-
Die Anwendungsversion wurde auf 1.14.2 aktualisiert.
Qualität und Wartung
-
Replay-Payload-Verhalten wurde für neue und Legacy-Aufrufe vereinheitlicht.
-
Entwicklungsserver-Kompatibilität wurde abgesichert.
-
Request-Kennzeichnung erleichtert die Analyse von Replay-Ladeproblemen.
1.14.1
Release Notes 1.14.1
Highlights
-
Wartungsrelease zur Aktualisierung der Anwendungsversion auf 1.14.1.
-
Keine funktionalen Änderungen in der offiziellen GitHub-Release-Notiz dokumentiert.
-
Keine dokumentierten Datenbank- oder API-Migrationen.
Betrieb und Versionierung
-
Paket- und Anwendungsmetadaten wurden auf Version 1.14.1 aktualisiert.
-
Release-Artefakte und Tag wurden für 1.14.1 bereitgestellt.
Qualität und Wartung
-
Release-Version wurde synchronisiert.
-
Es sind keine weiteren Feature-, Fix- oder Migrationshinweise für diese Version dokumentiert.
1.14.0
Release Notes 1.14.0
Highlights
-
Neue zentrale Prozessübersicht für Workspace-Prozesse mit Filterung, Suche, Pagination und Prozessaktionen.
-
Externe Coding-Importe laufen nun als Hintergrundjobs mit Fortschritts- und Ergebnisanzeige.
-
Validierungsansichten wurden umfassend überarbeitet: stabileres Statushandling, Pagination, aktive Task-Anzeigen und bessere Fehlerrückmeldungen.
-
Coding-Review und Fortschrittsanzeigen wurden verbessert, insbesondere für Double-Coding, Konflikte und gelöste Entscheidungen.
-
Workspace-Testresultate und Frequenzdaten werden über Redis-Caches effizienter bereitgestellt.
-
Queue-Verarbeitung wurde gegen doppelte Jobs und Abhängigkeitskonflikte abgesichert.
-
Replay-Hervorhebungen und UI-Verhalten wurden verfeinert.
Prozesse, Queues und Hintergrundverarbeitung
-
Neue Prozessübersicht für Workspace-Prozesse.
-
Prozesse können gefiltert, durchsucht, paginiert und verwaltet werden.
-
Backend-Unterstützung für das Abrufen, Nachverfolgen und Löschen von Workspace-Prozessen wurde ergänzt.
-
Gemeinsame Prozess-Datenstruktur für Frontend und Backend wurde eingeführt.
-
Queue-Jobs prüfen nun auf bereits aktive, wartende oder verzögerte Jobs, um doppelte Verarbeitung zu vermeiden.
-
Abhängigkeitskonflikte zwischen Jobs werden zentral geprüft.
-
Externe Coding-Importe werden als Hintergrundjobs ausgeführt.
-
Externe Coding-Importe unterstützen Preview- und Apply-Modus.
-
Fortschritt, Ergebnisstatus und Importfehler werden in der Oberfläche nachvollziehbarer angezeigt.
Validierung und Testdaten
-
Validierungspanels verwenden ein konsistenteres Statusmodell.
-
Aktive Validierungsaufgaben werden im Frontend sichtbar gemacht.
-
Validierungsfortschritt und Fehlerstände werden klarer angezeigt.
-
Pagination für Validierungsergebnisse wurde ergänzt.
-
Variablen ohne Werte werden in Validierungskontexten besser behandelt.
-
Null-XML-Fälle erzeugen verständlichere Rückmeldungen.
-
Validierungsansichten wurden hinsichtlich Layout, Accessibility und Fehlerhandling überarbeitet.
-
CODING_COMPLETEwird als gültiger Response-Status berücksichtigt. -
Doppelte Responses enthalten zusätzliche Informationen zu Testperson-Code und Testperson-Gruppe.
-
Validierung von Gruppenresponses weist zusätzliche Kennzahlen aus, unter anderem Gruppen ohne Responses.
-
Testresultat-Übersicht und Flat-Frequencies werden über Redis gecacht.
-
Caches werden bei Workspace- und Response-Änderungen invalidiert.
-
Skeleton-Loading verbessert die Rückmeldung beim Laden gecachter Testergebnisdaten.
Coding, Review und Fortschritt
-
Double-Coding-Fälle werden zuverlässiger erkannt.
-
Die Review-Ansicht zeigt Double-Coding-Informationen mit eigener Spalte, Icons und Tooltips.
-
Filter für gelöste und ungelöste Review-Fälle wurden verbessert.
-
Entscheidungsstatus im Coding-Review ist über Auswahlfelder besser nachvollziehbar.
-
Standardmäßig werden nicht nur Konfliktfälle angezeigt.
-
Fortschrittsberechnungen für Coding-Prozesse wurden korrigiert.
-
Fortschrittsanzeigen nutzen genauere Zählungen und Filter.
-
Tooltips und Detailanzeigen erklären Coding-Fortschritt verständlicher.
-
Workspace-Filter in Coding-Review-Abfragen wurden korrigiert.
Replay und Darstellung
-
Replay-Element-Hervorhebungen wurden verfeinert.
-
Replay-Utilities wurden für stabileres Highlighting überarbeitet.
-
Loading-, Fehler- und Dialogzustände wurden in mehreren Oberflächen vereinheitlicht.
-
Tabellen und Prozessdialoge wurden für größere Datenmengen optimiert.
Betrieb und Caching
-
Redis-basierte Caches wurden für Workspace-Testresultate und Frequenzdaten eingeführt.
-
Cache-Key-Präfixe wurden vereinheitlicht.
-
Cache-Invalidierung wurde an Workspace-Updates und Response-Modifikationen angebunden.
-
Frontend- und Backend-Abhängigkeiten wurden aktualisiert.
-
Formly- und Material-Abhängigkeiten wurden ergänzt beziehungsweise angepasst.
-
Jest-Transformationen und Paketkonfigurationen wurden aktualisiert.
-
Die Anwendungsversion wurde auf 1.14.0 gesetzt.
Qualität und Wartung
-
Tests für Validierung, Response-Status, doppelte Responses und Coding-Review wurden ergänzt.
-
Prozess- und Queue-Verhalten wurde robuster abgesichert.
-
Validierungs- und Review-Komponenten wurden refaktoriert.
-
Fehler- und Ladezustände wurden vereinheitlicht.
1.13.0
Release Notes 1.13.0
Highlights
-
Coder-Trainings unterstützen neue Optionen für Fallauswahl und Referenztraining.
-
Variablen können nach Trainingspflicht gefiltert und exportiert werden.
-
Codebook-DOCX-Exporte unterstützen Formeln als OMML, mit Fallback auf LaTeX.
-
Coding-Review wurde um Suche, Status-/Coder-Filter und Supervisor-Kommentare erweitert.
-
Workspace-Ausschlüsse für Units, Booklets und Testlets wurden zentralisiert.
-
Leere Responses und Kodierstatistiken werden genauer verfolgt.
-
Workspace-Datei-Caches wurden auf Redis umgestellt.
Coder-Training und Fallauswahl
-
Coder-Training-Konfigurationen unterstützen neue Case-Selection-Modi.
-
Referenztrainings können in Trainingskonfigurationen berücksichtigt werden.
-
Trainingspflichtige Variablen können gezielt gefiltert werden.
-
Der Parameter
trainingRequiredwurde in Coding-Analyse und Exportpfade integriert. -
Coding-Management zeigt Trainingspflichten klarer an.
-
Filter und Indikatoren für trainingspflichtige Variablen wurden im Frontend ergänzt.
-
Ausgewählte Bundles werden in Coder-Training-Kontexten persistiert.
-
Bundle-Variablen können in Silent-Mode-Szenarien verarbeitet werden.
-
Variable Filtering und Exportlogik berücksichtigen Trainingsanforderungen konsistenter.
Coding, Review und Berechtigungen
-
Coding-Review unterstützt zusätzliche Filter für Suche, Status und Coder.
-
Supervisor-Kommentare können gespeichert und angezeigt werden.
-
Kommentarindikatoren wurden in der Review-Oberfläche ergänzt.
-
Backend-Abfragen für Review-Fälle wurden effizienter gestaltet.
-
Pagination-Logik für Review-Fälle wurde verbessert.
-
Zugriff auf das Anwenden von Coding-Ergebnissen wird über Access-Level-Guards abgesichert.
-
Aktionen zum Anwenden von Ergebnissen werden nur angezeigt, wenn die Berechtigung ausreicht.
-
Statusverfolgung für leere Responses wurde im Coding-Management ergänzt.
-
Leere Responses erhalten klarere Informationen zu Kodierstatus und zugewiesenem Code.
-
Das Anwenden leerer Kodierungen wird deaktiviert, wenn keine passenden unkodierten Responses vorliegen.
-
Unkodierte leere Responses werden separat gezählt.
-
Fehlerhafte Kodierstatistik-Zählungen wurden korrigiert.
Exporte, Codebooks und Ressourcen
-
Formeln aus TipTap-Codebooks werden beim DOCX-Export in OMML umgewandelt.
-
LaTeX-Formeln werden über MathML in Word-kompatible OMML-Darstellung überführt.
-
Wenn die Formelumwandlung fehlschlägt, wird LaTeX als Fallback ausgegeben.
-
Wasserzeichen unterstützen Truncation-Erkennung und Tooltips.
-
Dateityp-Labels wurden lokalisiert.
-
Resource-Subtype-Behandlung wurde verbessert.
-
ZIP-Exportlogik wurde verfeinert.
-
Exportpfade berücksichtigen Trainingspflicht-Filter.
-
CSV-, JSON- und Excel-Exportpfade wurden an neue Filteroptionen angepasst.
Workspace-Ausschlüsse und Caching
-
Neuer zentraler Service für Workspace-Ausschlüsse von Units, Booklets und Testlets.
-
Unit-, Booklet- und Testlet-Ausschlüsse werden konsistenter in Backend und Frontend berücksichtigt.
-
APIs und Oberflächen zeigen Ausschlüsse nachvollziehbarer an.
-
Workspace-Datei-Caches wurden von In-Memory-Caching auf Redis umgestellt.
-
Datei-Caches werden bei Dateiänderungen invalidiert.
-
Coding- und Trainingspfade berücksichtigen Ausschlüsse konsistenter.
-
Booklet-Abfragen wurden vereinheitlicht.
-
Testperson-Coding-Verarbeitung wurde über kleinere Batches stabilisiert.
Qualität und Wartung
-
Tests für Trainingsfilter, Workspace-Ausschlüsse, Review-Filter und Statistikberechnungen wurden ergänzt.
-
Backend-Abfragen wurden effizienter gestaltet.
-
Coding-Management und Review-Komponenten wurden refaktoriert.
-
Issue-Templates und Testkonfigurationen wurden aktualisiert.
-
Paket- und Anwendungsversion wurden auf 1.13.0 gesetzt.
1.12.0
Release Notes 1.12.0
Highlights
-
Viele rechenintensive Vorgänge laufen nun als Hintergrundjobs mit Fortschritt, Statusabfrage und Download-Endpunkten.
-
Replay und manuelle Kodierung wurden deutlich verbessert: größenveränderbares Code-Panel, Tastaturkürzel, bessere Navigation und Review-Modus.
-
Variablenanalyse, Response-Analyse, Codebook-Generierung und Exporte unterstützen asynchrone Verarbeitung.
-
Abgeleitete Variablen werden in Aggregationen, Filterungen und Coding-Oberflächen konsistenter behandelt.
-
Coder-Training-Vergleiche unterstützen Diskussionsergebnisse mit Codes, Scores, Notizen und Manager-Informationen.
-
Exportdialoge und Exportfilter wurden erweitert, inklusive Job-, Training- und Coder-Auswahl.
-
Große Dateiimporte wurden robuster gemacht, unter anderem durch Chunked Uploads und Fortschrittsanzeigen.
Hintergrundverarbeitung und Fortschritt
-
Reset Coding Version läuft nun asynchron über Queue-Verarbeitung.
-
Codebook-Generierung wurde auf Hintergrundjobs umgestellt.
-
Für Codebook-Jobs gibt es Start-, Monitoring- und Download-Endpunkte.
-
Validierungsaufgaben werden über eine eigene Queue verarbeitet.
-
Validierungsjobs melden inkrementellen Fortschritt.
-
Response-Analysen laufen als asynchrone Jobs.
-
Aktive Analysejobs können über Fortschrittsstatus verfolgt werden.
-
Exportjobs werden asynchron verarbeitet.
-
Exporte können gestartet, überwacht und anschließend heruntergeladen werden.
-
Exportjobs unterstützen CSV, JSON und Excel.
-
Coding-Listen-Exporte laufen asynchron mit Fortschrittsanzeige.
-
Variablenanalysen laufen asynchron und unterstützen Start, Monitoring und Abbruch.
-
Frontend-Dialoge zeigen aktive Jobs, Fortschritt, Fehler und Downloadstatus klarer an.
Replay, Coding-Oberfläche und Navigation
-
Das Code-Panel im Replay ist größenveränderbar.
-
Replay-Layout und CodeSelector wurden responsiver gestaltet.
-
Navigationselemente wurden gruppiert und übersichtlicher angeordnet.
-
Tastaturkürzel für schnelle Codeauswahl wurden ergänzt.
-
Shortcut-Hinweise werden im CodeSelector angezeigt.
-
Key-Events aus dem Unit-Player-Iframe werden an das Parent-Fenster weitergeleitet.
-
Änderungen an Unit-Responses werden zentraler verarbeitet und zuverlässiger übermittelt.
-
Replay-URL-Generierung wurde korrigiert.
-
Review-Modus im Replay wird erkannt und gesondert behandelt.
-
Abschluss-Overlays werden im Review-Modus ausgeblendet.
-
Variable Navigation unterstützt mehrere Variablen pro Coding-Kontext.
-
Variablen können über Dropdowns ausgewählt werden.
-
Variablenbezogener Fortschritt wird in der Coding-Oberfläche angezeigt.
-
Nächste-/Vorherige-Logik berücksichtigt variablebezogene Navigation.
-
Das Variablenpanel fokussiert den aktiven Eintrag zuverlässiger.
-
Replay-Statistiken wurden vereinheitlicht.
-
Fehlertracking im Replay wurde erweitert.
-
Sichtbarkeit von Responses wird für Replay-Statistiken erfasst.
-
Replay-Verarbeitung wurde hinsichtlich Payload-Abruf, Response-Handling und Logging refaktoriert.
Variablen, abgeleitete Variablen und Fallreihenfolge
-
Berechnung abgeleiteter Variablen wurde korrigiert.
-
Abgeleitete Variablen können bei Aggregationen erkannt und übersprungen werden.
-
Workspace-Dateidienste führen Mapping und Caching abgeleiteter Variablen.
-
Coding-Oberflächen zeigen abgeleitete Variablen klarer an.
-
Backend-Abfragen berücksichtigen den Derived-Status in Response-Verarbeitung und Variablenfilterung.
-
Ignorierte Status werden in Response-Verarbeitung und Gesamtzählungen konsistenter herausgefiltert.
-
Workspace-spezifische Unit-Ausschlüsse werden in Coding-Prozessen berücksichtigt.
-
Case-Ordering-Modi für Variable Bundles wurden eingeführt.
-
Unterstützte Fallreihenfolgen umfassen kontinuierliche und alternierende Modi.
-
Variable-Bundle-IDs wurden in Coding-Jobs und Trainingskontexten ergänzt.
-
Job-Definitionen können in Coder-Training-Komponenten importiert werden.
-
Fallreihenfolge wird bei Coding-Job- und Trainingsgenerierung berücksichtigt.
-
Das Datenbankschema wurde für Case-Ordering und Variable-Bundle-Bezüge erweitert.
Coder-Training und Vergleiche
-
Diskussionsergebnisse für Coder-Training-Vergleiche wurden eingeführt.
-
Neue Entität für Training-Discussion-Results speichert Diskussionsergebnisse.
-
API-Endpunkte zum Speichern und Abrufen von Diskussionsergebnissen wurden ergänzt.
-
Diskussionsergebnisse unterstützen Codes, Scores und Manager-Informationen.
-
Trainingsvergleiche können Diskussionsdaten anzeigen.
-
Filter für Notizen und Discussion-Codes wurden ergänzt.
-
Testpersonen-Kennungen werden über eine zentrale Normalisierung vereinheitlicht.
-
Replay-Codeauswahl in Vergleichen nutzt normalisierte Testpersonen-IDs.
-
Origin-Response-ID-Handling und Replay-Code-Synchronisierung wurden verbessert.
-
Coder-Training-Abfragen wurden stärker auf Datenbankfilterung und Limits verlagert.
-
Training-Job-Erstellung nutzt Bulk-Insert für Coding-Job-Units.
-
Zusätzliche ungültige Codes werden in Coding-Job-Pfaden ausgeschlossen.
Exporte und Auswertungen
-
Export-Komponente unterstützt Filter für Job-Definitionen, Coder-Trainings und Coder.
-
Neuer Auswahldialog erleichtert die Auswahl von Job-Definitionen und Trainings für Exporte.
-
Multi-Select-Auswahl wurde durch einen klareren Dialog ersetzt.
-
Exportzusammenfassungen wurden verständlicher gemacht.
-
Coding-Ergebnisse können optional Kommentare statt Codes und Scores exportieren.
-
Exportfilter wurden backendseitig in die Exportlogik integriert.
-
Exportservices können auto-codierte Responses einbeziehen, wenn diese nicht ausgeschlossen werden.
-
Ignorierte Units werden in Export- und Processing-Pipelines konsistenter berücksichtigt.
-
Exportabfragen verwenden die Workspace-Zuordnung der Testperson robuster.
-
Excel-Exporte wurden über Stream-Verarbeitung effizienter gemacht.
-
Export-Requests können Authentifizierungstoken und Server-URL verwenden.
-
Server-URL-Fallbacks verbessern Exporte in Hintergrundjobs.
-
Interne Codes werden vor dem Export über eine zentrale Mapping-Logik transformiert.
-
Training-Discussion-Ergebnisse werden in Coding-Ergebnisexporte integriert.
Testdaten, Uploads und Betrieb
-
Datei-ID-Delimiter werden backendseitig robuster verarbeitet.
-
Frontend-Services senden Datei-ID-Batches konsistenter.
-
Chunked Uploads wurden eingeführt.
-
Backend unterstützt Start, Upload und Abschluss von Chunked-Upload-Sessions.
-
Hochgeladene Datei-Chunks werden serverseitig zusammengeführt.
-
Upload-Fortschritt wird im Testresultat-UI angezeigt.
-
ZIP-Verarbeitung wurde refaktoriert.
-
Datei-Importe erhalten besseres Fehlerhandling und optimierte Batch-Verarbeitung.
-
Testcenter-Importe zeigen Fortschritt und verarbeiten Daten robuster.
-
Keycloak-Realm-Konfiguration wurde über Umgebungen und Deployment-Dateien vereinheitlicht.
-
Route Guards wurden mit zusätzlicher AppService-Validierung und Timeout-Handling gehärtet.
-
Erstellung und Aktualisierung von Keycloak-Usern berücksichtigt Admin-Status zuverlässiger.
Qualität und Wartung
-
Tests für Coding-Jobs, Coder-Training, Exportfilter, Replay, Variable Bundles und Imports wurden erweitert.
-
Fehlertracking wurde durch Logger-Injektion vereinheitlicht.
-
Observable-Cleanup wurde mit
takeUntilDestroyedverbessert. -
Dateienvalidierung und Validierungszusammenfassungen wurden refaktoriert.
-
Replay-Statistikdialoge wurden performanter gerendert.
-
Performance-Indizes für Replay-Statistiken wurden ergänzt.
-
Abhängigkeiten wurden aktualisiert.
-
Issue-Templates wurden aktualisiert.
-
Paket- und Anwendungsversion wurden auf 1.12.0 gesetzt.