cmi.interactions.learner_response and cmi.interactions.description handles special signs in a different way

Mar 29, 2022

We are trying to read the question and the answers from the users into our LMS. The question is not a problem, but the answers are. In the answers special signs (i.e. the Swedish signs åäö) is converted to underscore. Underscore is also used for 'space' so we cannot search&replace.

How should we solve this? See example below...

  • cmi.interactions.3.id: Scene12_Slide5_MultiResponse_0_0
  • cmi.interactions.3.type: Choice
  • cmi.interactions.3.objectives.0.id: AFS_AFS2017-3
  • cmi.interactions.3.timestamp: 2020-04-14T11:58:44
  • cmi.interactions.3.correct_responses.0.pattern: Efter_en_reparation_eller__ndring_av_anordningen.[,]Efter_att_livstiden_p__en_anordning_g_tt_ut.[,]Efter_en_f_rflyttning__eller_liknande_driftf_r_ndring.[,]Efter_att_anordningen_varit_utsatt_f_r_s_dana_risker__att_skada_kan_ha_intr_ffat.
  • cmi.interactions.3.weighting: 1
  • cmi.interactions.3.learner_response: Efter_en_reparation_eller__ndring_av_anordningen.[,]Efter_en_f_rflyttning__eller_liknande_driftf_r_ndring.[,]Efter_att_en_anordning_tas_i_bruk_f_rsta_g_ngen.[,]Efter_r_kenskaps_rets_slut.
  • cmi.interactions.3.result: incorrect
  • cmi.interactions.3.latency: 0000:00:45.80
  • cmi.interactions.3.description: När utförs revisionskontroller av trycksatta anordningar? (4)
6 Replies
Johan Bengtsson

According to scorm 2004.3 are those fields of a datatype termed "short_identifier_type".

This is what the same document says about short_identifier_type:

short_identifier_type: The short_identifier_type represents a label or identifier. This label or identifier shall be unique within the context of the SCO. The short_identifier_type shall be a characterstring that conforms to the syntax defined for URI, refer to RFC 3986 [6].
Since an empty characterstring does not provide sufficient semantic information to uniquely identify a value, then a short_identifier_type value shall not be an empty characterstring and cannot contain all white space characters. The short_identifier_type value shall be implemented with an SPM of 250 characters.

This referes to RFC 3986, the definition of an URI. Where this standrard clearly specifies that all unicode characters can be coded by first applying UTF-8, and then %-encode characters not natively allowed as URI characters.

Johan Bengtsson

Asch, found it. It seems this have been solved already a long time ago, but the solution is turned off by default.

Create a trigger executing the following javascript somewhere at the start of the course solves the problem:

USE_LEGACY_IDENTIFIERS_FOR_2004=false;

Why this is not available as a checkbox somewhere in the settings page for scorm is beyond my understanding however.

The stored string is then a proper URI as per the scorm 2004 standard. Decoding this string gives the complete content.

cmi.interactions.0

  • cmi.interactions.0.id: urn:scormdriver:Scene1_Slide2_MultiChoice_0_0
  • cmi.interactions.0.type: Choice
  • cmi.interactions.0.objectives.0.id: urn:scormdriver:test
  • cmi.interactions.0.timestamp: 2022-03-30T11:31:24.0+02
  • cmi.interactions.0.correct_responses.0.pattern: urn:scormdriver:yes,%20it%20will%20%E2%80%98%C3%A5%C3%A4%C3%B6%E2%80%99
  • cmi.interactions.0.weighting: 1
  • cmi.interactions.0.learner_response: urn:scormdriver:yes,%20it%20will%20%E2%80%98%C3%A5%C3%A4%C3%B6%E2%80%99
  • cmi.interactions.0.result: correct
  • cmi.interactions.0.latency: 0000:00:07.92
  • cmi.interactions.0.description: test question, will it work with the swedish signs ‘åäö’?
Jörgen Rennemo

Thank you for the excellent solution Johan, it works great.

We can now read out "åäö" from the LMS when we are using SCORM 2004, but when we are using SCORM 1.2 we still have the same problem, and åäö is replaced with an underscore. 

Is there any solution to solve this problem on SCORM 1.2 as well?