You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To recap what we did until now
-1, -2, and -3 are done.
-4 and -5 are the goals of this ticket.
Now that the statements are correctly stored in our LRS we have to intercept/get them and generate a hash (better if SHA256) for every single statement (or a bunch of them).
For example, this xAPI statement of MCQ: is "object": { "id": "http://iMN2Cp-biyUt-jvXp_Ecw2A5z-SfiY9V_rise/RpCLjWOYobK8Fi2p7ZZr_NDLlE9ei8rt/cjz7jfvyd002y3h5y51r4rrtg_1658239762358", "objectType": "Activity", "definition": { "type": "http://adlnet.gov/expapi/activities/cmi.interaction", "name": { "und": "Did you know that you can add images to your questions? After adding a question, simply click the camera icon. " }, "description": { "und": "Did you know that you can add images to your questions? After adding a question, simply click the camera icon. " }, "interactionType": "choice", "correctResponsesPattern": [ "cjz7jfvye002z3h5ymcx3exy8" ], "choices": [ { "id": "cjz7jfvye002z3h5ymcx3exy8", "description": { "und": "Choice 1" } }, { "id": "cjz7jfvye00303h5yfekkhzb7", "description": { "und": "Choice 2" } }, { "id": "cjza807kk003g3h635zjvg69v", "description": { "und": "Choice 3" } }, { "id": "cjza8095b003h3h63dltfuyf4", "description": { "und": "Choice 4" } } ] } },
will be transformed via SHA256 into bdb0db3636c43f3093b25ba14ab050e669876be05327deb82de8b5d38b9283ea
Therefore, the unique hashes generated will be temporarily stored in a log or DB. I mentioned temporarily because, at another development stage, these hashes will be stored on-chain and associated with the learner.
There are 3 ways to intercept the statements:
-via LRS push (but it seems to me the SQLRS we use doesn't support it)
-via LRS pull (it is possible to read SQLRS DB or API in a corn way, every X minute)
-via forwarding through LRSpipe (https://www.sqllrs.com/lrspipe).
I don't know yet if LRSpipe is sync or async and if it does LRS to LRS only but it could be configurable.
The text was updated successfully, but these errors were encountered:
after updating with the last moodle version (4) the plugin used () before to store xAPIs statements into LRS doesn't work anymore, so point -3 is not working.
To recap what we did until now
-1, -2, and -3 are done.
-4 and -5 are the goals of this ticket.
Now that the statements are correctly stored in our LRS we have to intercept/get them and generate a hash (better if SHA256) for every single statement (or a bunch of them).
For example, this xAPI statement of MCQ: is
"object": { "id": "http://iMN2Cp-biyUt-jvXp_Ecw2A5z-SfiY9V_rise/RpCLjWOYobK8Fi2p7ZZr_NDLlE9ei8rt/cjz7jfvyd002y3h5y51r4rrtg_1658239762358", "objectType": "Activity", "definition": { "type": "http://adlnet.gov/expapi/activities/cmi.interaction", "name": { "und": "Did you know that you can add images to your questions? After adding a question, simply click the camera icon. " }, "description": { "und": "Did you know that you can add images to your questions? After adding a question, simply click the camera icon. " }, "interactionType": "choice", "correctResponsesPattern": [ "cjz7jfvye002z3h5ymcx3exy8" ], "choices": [ { "id": "cjz7jfvye002z3h5ymcx3exy8", "description": { "und": "Choice 1" } }, { "id": "cjz7jfvye00303h5yfekkhzb7", "description": { "und": "Choice 2" } }, { "id": "cjza807kk003g3h635zjvg69v", "description": { "und": "Choice 3" } }, { "id": "cjza8095b003h3h63dltfuyf4", "description": { "und": "Choice 4" } } ] } },
will be transformed via SHA256 into
bdb0db3636c43f3093b25ba14ab050e669876be05327deb82de8b5d38b9283ea
Therefore, the unique hashes generated will be temporarily stored in a log or DB. I mentioned temporarily because, at another development stage, these hashes will be stored on-chain and associated with the learner.
There are 3 ways to intercept the statements:
-via LRS push (but it seems to me the SQLRS we use doesn't support it)
-via LRS pull (it is possible to read SQLRS DB or API in a corn way, every X minute)
-via forwarding through LRSpipe (https://www.sqllrs.com/lrspipe).
I don't know yet if LRSpipe is sync or async and if it does LRS to LRS only but it could be configurable.
The text was updated successfully, but these errors were encountered: