TBA Plugin - Variablen-Info
Spezifikation
Diese Datenstruktur wird für den Datenaustausch zwischen dem Schemer und der Unit-Definition benutzt. Da beide TBA-Plugins ihre Spezifikation im Detail nicht veröffentlichen sollen, muss es einen anderen Weg geben, die in der UI-Definition der Unit angelegten Variablen mitzuteilen. ‘Variablen’ sind Werte-Träger, also mit einer ID identifizierbare Quellen von Antwortdaten. Wie genau diese Antwortdaten entstehen oder wo, das ist uninteressant. Nur dass es sie gibt, ist z. B. für die Planung der Kodierung wichtig.
Die folgenden Parameter werden mitgeliefert:
id, alias, type, format
- Eine Variable braucht eine innerhalb der Unit eindeutige Bezeichnung.
- Ein
aliasist eine alternative ID, die durch User vergeben werden kann. Dann kann die ID der Variable nicht mehr geändert werden und bleibt konstant über alle Verarbeitungsschritte und Versionen. Der Alias kann aber nach Bedarf geändert werden. Das IQB hat diese Trennung eingeführt, als sich Umbenennungen von Variablen häuften und jede Umbenennung Inkonsistenzen verursachte (Ableitungen schlugen fehl, Seitenzustände wurden falsch ermittelt). - Mögliche Werte für Typ:
STRING,INTEGER,NUMBER,BOOLEAN: Entsprechend gängiger simpler DatentypenATTACHMENT: bezeichnet ein erzeugtes Medium, z. B. ein Bild. Im Kern handelt es sich hier um einen String, der aber eine Referenz darstellt und dem Auswertungssystem das Auffinden des zugehörigen Mediums ermöglicht.NO_VALUE: Der Editor ist überzeugt, dass diese Variable für die Auswertung keine Rolle spielt. Manchmal ist z. B. die Sichtbarkeit eines Elementes wichtig zu speichern, aber es wird nie ein nützlicher Wert erzeugt.JSON: Der Wert ist ein stringifiziertes JSON-Objekt. Dies kann bei komplexen Eingabeelementen erforderlich sein, z. B. Text mit eingebetteten Formeln. Diese Antworten werden dann meist manuell kodiert.CODED: Hier wird die Antwort bereits durch den Player codiert. Es kann für die Itementwicklung wesentlich angenehmer sein, die richtige bzw. falsche Antwort bereits im Editor zu definieren und nicht erst im Schemer. Der Player schickt dann die Antworten bereits mit der InformationCODEundSCOREund setzt als AntwortstatusCODING_COMPLETE. Die Kodierung wird dann als abgeschlossen angesehen und jede Kodierregel ignoriert.
- Werte für
format:TEXT_SELECTION: Ein String, der Daten für eine Textmarkierung enthältIMAGE,CAPTURE_IMAGE,AUDIO: Spezifiziert den DatentypATTACHMENTGGB_FILE,GGB_VARIABLE: Strings mit besonderem Bezug zu GeoGebraNON_NEGATIVE: spezifiziertintegerodernumberLATEX,MATH_ML,MATH_TABLE: Strings mit besonderem Bezug zu mathematischen Formeln oder AusdrückenMATH_TEXT_MIX: Gemischtes JSON-Objekt mit Text und FormelnCHEM_ELEMENT_SYMBOLS,CHEM_MOLECULE: Antwortformate, die über Chemie-Widgets erzeugt werden.
multiple, nullable
Diese booleschen Werte kennzeichnen, ob die Variable ein Array des beschriebenen Typs und Formats enthält und ob der Wert null möglich ist.
values, valuePositionLabels, valuesComplete
Diese Angaben liefern genauere Informationen über die möglichen Werte der Variablen. Wenn valuesComplete true ist, dann handelt es sich sogar um eine vollständige Liste, und die Kodierung kann automatisch erfolgen.
