adlnet / xAPI-Spec

The xAPI Specification describes communication about learner activity and experiences between technologies.
https://adlnet.gov/projects/xapi/
907 stars 404 forks source link

xAPI modelling actor as Agent #1107

Open calvernaz opened 1 year ago

calvernaz commented 1 year ago

This question arose when trying to model the actor property from an xAPI statement. Given that an agent can be identified using different IFI, let's imagine this scenario.

An LRS can receive xAPI statements from different learning vendors (3rd party LRSes). On LRS A, the actor is identified with agent:mbox whereas on LRS B, it identifies using agent:openid.

As the receiving end of those statements, coming from both LRSes, even though they are the same person, from the xAPI persona perspective, they are not. I hope this scenario makes sense, but I'm wondering if you'd recommend some consolidation or treat these statements coming from different actors.

thomasturrell commented 1 year ago

Statements are immutable, there are some exceptions, however, agent is not one of those exceptions.

If an LRS received a statement from a learning record provider (maybe another LRS) then it must not alter the agent.

I can see the argument that a data visualisation tool might consolidate statements if there was reason to believe that one person has multiple agents. However, it is difficult for me to believe that this could be could be achieved without some possibility of error (I believe that there would need to be some lookup table for aliases).

It is worth noting that even statements with the same agents from two different LRS's can't really be assumed to be the same person unless it is known that both LRS's authenticate users and have a mechanism that prevents them from using agents that belong to other people.

You could potentially consolidate signed statements.