0

是否可以通过 Tincan API 将自定义属性添加到“Actor”以将其保存在 LRS 中。

详细信息:我正在使用 Learning Locker 作为 LRS 系统和 Drupal 的 Tincan API,众所周知,在 LRS 中保存的语句记录中有 3 个对象,它们是 [Actor - Verb - Object] 现在 Actor 有 2 个属性是 [ name - mbox],我尝试修改 Tincan 模块以添加自定义属性,即 [country],但 LRS API“L​​earning 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"

}

4

1 回答 1

1

标准 API 对属性的添加是严格的。并且 Agent/Group 对象(actor可以包含的)不包括扩展其范围的能力。

额外的数据点可以添加到特殊属性extensions中,这些属性在语句对象的几个位置可用。在这种情况下,您可以在属性值中使用扩展名context来包含有关actor. 您可以将其作为单个离散信息片段来执行,其中每个片段都有自己的扩展键,或者您可以使用单个键,将对象用作其值并在该对象的属性中包含单个信息片段。有关扩展的更多信息,请参阅:http ://tincanapi.com/deep-dive-extensions/

请注意,扩展键不能通过/statements流资源过滤,因此任何基于其键或值的查询都必须通过规范 API 之外的其他方式完成。

于 2017-02-06T18:17:35.830 回答