xAPI 规范:cmi.interaction - 'numeric' 类型的活动
xAPI specification: Activities of type cmi.interaction - 'numeric'
关于数字交互类型的可能响应模式,我的理解是有四种可能的组合:
'2[:]4' // would mean a minimum of 2 and a maximum of 4 (response in the range of 2 to 4 would be correct)
'4' // (no delimiter) means there is a single correct answer of 4
'4[:]' // this means a minimum of 4 and no maximum (response in the range of 4 or above would be correct)
'[:]4' // would mean no minimum but a maximum of 4.
我的问题与最后一个例子有关。 0(零)或某个负数的答案是否可以接受?该标准似乎没有为这种情况做出任何规定,我不清楚零或更小的值是否在规范起草者的考虑范围内。
请注意,响应模式 '-2[:]4'
适用于 SCORM Cloud LRS,但我不确定其他 LRS 是否会接受负范围值。
这实际上分为几个部分,哪些值符合哪些规范,您的预期用例是什么,以及我们在市场上实际看到的内容。
1) xAPI 规范在这些数据上 非常 松散。严格来说,any 字符串值作为 result.response
或 correctResponsesPattern
数组中的项目是可以接受的,用于严格(遵循 MUST)xAPI 目的。这取决于 LRS 的实施 如果 他们想要更严格,请参阅:
An LRS, upon consuming a valid interactionType, MAY validate the remaining properties as specified for Interaction Activities and MAY return 400 Bad Request if the remaining properties are not valid for the Interaction Activity.
(参考:2.4.4.1 https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#requirements-4)
SCORM Cloud 遵循严格的模型,因此它只会验证这些属性是字符串,并且不会对这些字符串的内容采取进一步的操作(此时)。其他 LRS 可能对上述值更严格,也可能不更严格。
这里的操作文本是:
These types of interactions were originally based on the types of interactions allowed for "cmi.interactions.n.type" in the SCORM 2004 4th Edition Run-Time Environment.
(参考:https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#interaction-types)
并且那里的重要短语 originally based on,换句话说,鉴于 LMS 供应商对 CMI 数据模型的采用程度以及相应的内容,决定在当时占据主导地位的是,至少促进它们的使用很重要,同时又不干扰 xAPI 提供的扩展范围。
2) SCORM 2004第4版更加严格。在 RTE 参考中它指出:
The interaction requires a numeric response from the learner. The response is a simple number with an optional decimal point.
后来说:
If the characterstring value is a numerical range, it shall exhibit the following format, where <min> and <max> are both of real(10, 7) data type.
所以数值必须用real(10, 7)
的集合表示。在别处被引用为:
The real(10,7) data type denotes a real number with a precision of seven significant digits.
(此后有一条关于如何使用 SQL 存储值的说明,并且指定对应于 ISO 11404)
因此,如果您尝试捕获要与 SCORM 2004 信息模型一起使用的数据,则应将您的使用限制在该值范围内。
3) 到目前为止,我认为在市场上我们大多看到人们捕捉他们需要合理捕捉的东西,cmi.interactions 被用于简单的情况,但仅此而已。我不希望对字符串内容本身进行强有力的验证,因为 LRS 通常倾向于避免尝试从中获取含义,并且 LRS(从严格规范的角度来看)没有太多理由提供此类验证。下游系统(例如 LMS and/or 报告工具)最好处理他们认为合适的数据。
关于数字交互类型的可能响应模式,我的理解是有四种可能的组合:
'2[:]4' // would mean a minimum of 2 and a maximum of 4 (response in the range of 2 to 4 would be correct)
'4' // (no delimiter) means there is a single correct answer of 4
'4[:]' // this means a minimum of 4 and no maximum (response in the range of 4 or above would be correct)
'[:]4' // would mean no minimum but a maximum of 4.
我的问题与最后一个例子有关。 0(零)或某个负数的答案是否可以接受?该标准似乎没有为这种情况做出任何规定,我不清楚零或更小的值是否在规范起草者的考虑范围内。
请注意,响应模式 '-2[:]4'
适用于 SCORM Cloud LRS,但我不确定其他 LRS 是否会接受负范围值。
这实际上分为几个部分,哪些值符合哪些规范,您的预期用例是什么,以及我们在市场上实际看到的内容。
1) xAPI 规范在这些数据上 非常 松散。严格来说,any 字符串值作为 result.response
或 correctResponsesPattern
数组中的项目是可以接受的,用于严格(遵循 MUST)xAPI 目的。这取决于 LRS 的实施 如果 他们想要更严格,请参阅:
An LRS, upon consuming a valid interactionType, MAY validate the remaining properties as specified for Interaction Activities and MAY return 400 Bad Request if the remaining properties are not valid for the Interaction Activity.
(参考:2.4.4.1 https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#requirements-4)
SCORM Cloud 遵循严格的模型,因此它只会验证这些属性是字符串,并且不会对这些字符串的内容采取进一步的操作(此时)。其他 LRS 可能对上述值更严格,也可能不更严格。
这里的操作文本是:
These types of interactions were originally based on the types of interactions allowed for "cmi.interactions.n.type" in the SCORM 2004 4th Edition Run-Time Environment.
(参考:https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#interaction-types)
并且那里的重要短语 originally based on,换句话说,鉴于 LMS 供应商对 CMI 数据模型的采用程度以及相应的内容,决定在当时占据主导地位的是,至少促进它们的使用很重要,同时又不干扰 xAPI 提供的扩展范围。
2) SCORM 2004第4版更加严格。在 RTE 参考中它指出:
The interaction requires a numeric response from the learner. The response is a simple number with an optional decimal point.
后来说:
If the characterstring value is a numerical range, it shall exhibit the following format, where <min> and <max> are both of real(10, 7) data type.
所以数值必须用real(10, 7)
的集合表示。在别处被引用为:
The real(10,7) data type denotes a real number with a precision of seven significant digits.
(此后有一条关于如何使用 SQL 存储值的说明,并且指定对应于 ISO 11404)
因此,如果您尝试捕获要与 SCORM 2004 信息模型一起使用的数据,则应将您的使用限制在该值范围内。
3) 到目前为止,我认为在市场上我们大多看到人们捕捉他们需要合理捕捉的东西,cmi.interactions 被用于简单的情况,但仅此而已。我不希望对字符串内容本身进行强有力的验证,因为 LRS 通常倾向于避免尝试从中获取含义,并且 LRS(从严格规范的角度来看)没有太多理由提供此类验证。下游系统(例如 LMS and/or 报告工具)最好处理他们认为合适的数据。