是否可以通过Tincan API将自定义属性添加到"Actor“中以将其保存在LRS中。
详细信息:我正在使用Learning Locker作为Drupal的LRS系统和Tincan API &众所周知,在保存在LRS中的语句记录中有3个对象,它们是Actor - Verb - object,现在Actor有2个属性,它们是name - mbox,我试图修改Tincan模块以添加国家/地区的自定义属性,但LRS API "Learning Locker“拒绝了它。那么,有没有一种自定义的方式来添加额外的属性,这样我就可以在以后使用像age - gender - country或它的标准API严格限制定义的属性进行过滤
{
"version": "1.0.0",
"actor": {
"objectType": "Agent",
"name": "Creative User",
"mbox": "mailto:register@example.com"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/action_custom_verb",
"display": {
"en-US": "action_custom_verb"
}
},
"object": {
"objectType": "Activity",
"id": "http://localhost",
"definition": {
"name": {
"en-US": "master"
}
}
},
"authority": {
"objectType": "Agent",
"name": "drupaladmin",
"mbox": "mailto:hello@learninglocker.net"
},
"stored": "2017-02-06T16:58:23.625600+00:00",
"timestamp": "2017-02-06T16:58:23.625600+00:00",
"id": "9c1d552b-c825-4403-9c89-a9381b8d5320"}
发布于 2017-02-07 02:17:36
标准API对于属性的添加是严格的。并且代理/组对象(即actor可以包含的对象)不包括扩展其范围的功能。
可以在称为extensions的特殊属性中添加额外的数据点,这些属性在语句对象中的几个位置可用。在这种情况下,您可以在context属性值中使用扩展来包含有关actor的附加信息。您可以作为单个离散的信息片段来执行此操作,其中每个信息片段都有自己的扩展键,或者您可以使用单个键,该键使用一个对象作为其值,并在该对象的属性中包含各个信息片段。有关扩展的更多信息,请参阅:http://tincanapi.com/deep-dive-extensions/
请注意,扩展键不能通过/statements流资源进行过滤,因此任何基于其键或值的查询都必须通过规范的API以外的其他方法来完成。
https://stackoverflow.com/questions/42073456
复制相似问题