About Scorm interactions
Scorm 1.2 has a restricted list of valid interaction types.
- true-false - a choice with only two possibilities [1,0,t,f, 1 byte]
- choice - a question with a limited number of predefined responses from which one or more may be selected [a-z0-9], single characters, csv, curly brackets around all responses denote a correct set, up to 26 individual choices]
- fill-in - a question with a one- or few-word answer or response [alphanumeric, 255 bytes]
- matching - a question with one or two sets of items, two or more of the members being related [ {a.b}, - where both a and b are single digit a-z0-9; curly brackets surround pairs, period separate pairs, commas separate answers, max 255 bytes]
- performance - similar to a multiple choice, the learner must instead perform a task or action [alphanumeric, 255 bytes]
- sequencing - the learner must identify a logical order for the members of a list [max 255 bytes, correct answer matching exact order]
- likert - the learner selects an option from a continiuum or group of alternatives (rating) [alphanumeric or blank, no correct answer, max 255 bytes]
- numeric - a simple number with or without a decimal point [ +/- 3-digits dot 2-digits]
It also has restricitive limitations on which fields can be read or written. Many interaction fields such as cmi.interactions.n.correct_responses.n.pattern, cmi.interactions.n.type and cmi.interactions.n.id and [importantly] cmi.interactions.n.student_response are write only. It has no space to store a description of a question/interaction, and most packages are already making use of other structures like cmi.suspend_data. The one place where we can often store read-write data is cmi.comments which can store a maximum of 4096 bytes.
moodle moodle has a problem where cmi.comments is append only, which has never been in the SCORM spec - and means that using the field eventually breaks it because of an overflow. You have to modify /mod/scorm/datamodels/scorm_12.js to ensure the model replaces the value instead of appending it.
Scorm 2004's interactions are effectively the same, except the properties are read-write, and a cmi.interactions.n.description field exists to describe the interaction (255 bytes).