Ziel
Die Codebook-Logik fuer manuelle Codes soll zentral in coding-components bereitgestellt werden, damit Studio und Coding Box dieselbe Semantik verwenden und nicht weiter auseinanderlaufen.
Hintergrund
Bei der Nachpruefung von iqb-berlin/coding-box#552 zeigte sich, dass Coding Box und Studio aktuell zwei unterschiedliche Codebook-Implementierungen haben:
- Coding Box filtert im Codebook fuer "Manuell kodierte Variablen" ohne "Geschlossen kodierte Variablen" inzwischen auf Code-Ebene: Codes ohne echte manuelle Instruktion werden ausgeblendet.
- Studio verwendet noch eine eigene Logik und gibt in diesem Fall Codes ohne manuelle Instruktion weiter aus; dafuer wurde
iqb-berlin/studio-lite#1480 erstellt.
Die gemeinsame Logik sollte diese Semantik einmalig kapseln und von beiden Anwendungen genutzt werden.
Erwartete Semantik
Fuer den Codebook-Export mit Auswahl "Manuell kodierte Variablen" ohne "Geschlossen kodierte Variablen":
- regulaere Codes ohne
manualInstruction?.trim() werden nicht ausgegeben,
- leere Strings und Whitespace-only Strings gelten als keine manuelle Instruktion,
- Variablen mit gemischten Codes zeigen nur die manuell relevanten Codes,
- andere Codebook-Ansichten bleiben unveraendert, soweit fachlich gewollt.
Dokumentation
Das Verhalten muss klar dokumentiert werden, insbesondere:
- wann
manualInstruction?.trim() als Fallback fuer manuelle Auswaehlbarkeit gilt,
- in welchen Codebook-Ansichten Codes ohne manuelle Instruktion sichtbar bleiben sollen,
- welche fachliche Grenze diese Semantik hat, weil
manualInstruction eigentlich Anzeigetext und kein explizites Steuerfeld ist,
- ob perspektivisch ein explizites Code-Level-Feld wie
manualCodingEnabled oder ein Modell wie MANUAL_ONLY / MANUAL_AND_RULES / RULES_ONLY eingefuehrt werden soll.
Akzeptanzkriterien
coding-components stellt eine wiederverwendbare Funktion/Service-Logik fuer die manuelle Codebook-Filterung bereit.
- Die Logik ist mit Tests fuer gemischte Codes, leere
manualInstruction und Whitespace-only manualInstruction abgesichert.
- Studio und Coding Box koennen die gemeinsame Logik ohne fachliche Abweichung einbinden.
- Die erwartete Semantik ist in den Komponenten-/Integrationsdocs eindeutig beschrieben.
Referenzen
Ziel
Die Codebook-Logik fuer manuelle Codes soll zentral in
coding-componentsbereitgestellt werden, damit Studio und Coding Box dieselbe Semantik verwenden und nicht weiter auseinanderlaufen.Hintergrund
Bei der Nachpruefung von
iqb-berlin/coding-box#552zeigte sich, dass Coding Box und Studio aktuell zwei unterschiedliche Codebook-Implementierungen haben:iqb-berlin/studio-lite#1480erstellt.Die gemeinsame Logik sollte diese Semantik einmalig kapseln und von beiden Anwendungen genutzt werden.
Erwartete Semantik
Fuer den Codebook-Export mit Auswahl "Manuell kodierte Variablen" ohne "Geschlossen kodierte Variablen":
manualInstruction?.trim()werden nicht ausgegeben,Dokumentation
Das Verhalten muss klar dokumentiert werden, insbesondere:
manualInstruction?.trim()als Fallback fuer manuelle Auswaehlbarkeit gilt,manualInstructioneigentlich Anzeigetext und kein explizites Steuerfeld ist,manualCodingEnabledoder ein Modell wieMANUAL_ONLY/MANUAL_AND_RULES/RULES_ONLYeingefuehrt werden soll.Akzeptanzkriterien
coding-componentsstellt eine wiederverwendbare Funktion/Service-Logik fuer die manuelle Codebook-Filterung bereit.manualInstructionund Whitespace-onlymanualInstructionabgesichert.Referenzen