Learning Locker and SCORM-to-xAPI-Wrapper

96 views
Skip to first unread message

Stephen Lane

unread,
Mar 17, 2015, 9:34:01 AM3/17/15
to learnin...@googlegroups.com
Hi there,


I have two version of learning locker installed. One version the statements are received however I cant view any of my previous statements as LL seems to be stuck


When I use my new version of LL, no statements are received however I do get a load of errors. 



xapiwrapper.min.js:2 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
xapiwrapper.min.js:2 GET http://52.16.190.132/data/xAPI/activities/profile?activityId=http%3A%2F%2F1…fileId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Factivity-profile 404 (Not Found)
xapiwrapper.min.js:2 XHR finished loading: GET "http://52.16.190.132/data/xAPI/activities/profile?activityId=http%3A%2F%2F1…fileId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Factivity-profile".
xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/activities/profile?activityId=http%3A%2F%2F1…fileId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Factivity-profile".
xapiwrapper.min.js:2 GET http://52.16.190.132/data/xAPI/activities/state?activityId=http%3A%2F%2F10.…D&stateId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Fattempt-state 400 (Bad Request)
xapiwrapper.min.js:2 XHR finished loading: GET "http://52.16.190.132/data/xAPI/activities/state?activityId=http%3A%2F%2F10.…D&stateId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Fattempt-state".
xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":"`homePage` is not a valid irl in account. ,An `account` must have a `name` and a `homePage`.,`agent` is not a valid actorIdentifier in params. ","trace":"#0 \/var\/www\/learninglocker\/app\/controllers\/xapi\/BaseController.php(114): Controllers\\xAPI\\BaseController->validateValue('agent', Array, 'agent')\n#1 \/var\/www\/learninglocker\/app\/controllers\/xapi\/DocumentController.php(269): Controllers\\xAPI\\BaseController->requiredValue('agent', '{\"account\":{\"ho...', 'agent')\n#2 \/var\/www\/learninglocker\/app\/controllers\/xapi\/DocumentController.php(30): Controllers\\xAPI\\DocumentController->checkParams(Array, Array, Array)\n#3 \/var\/www\/learninglocker\/app\/controllers\/xapi\/DocumentController.php(68): Controllers\\xAPI\\DocumentController->getShowData()\n#4 \/var\/www\/learninglocker\/app\/controllers\/xapi\/BaseController.php(53): Controllers\\xAPI\\DocumentController->show()\n#5 \/var\/www\/learninglocker\/app\/controllers\/xapi\/BaseController.php(36): Controllers\\xAPI\\BaseController->get()\n#6 [internal function]: Controllers\\xAPI\\BaseController->selectMethod()\n#7 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Controller.php(231): call_user_func_array(Array, Array)\n#8 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/ControllerDispatcher.php(93): Illuminate\\Routing\\Controller->callAction('selectMethod', Array)\n#9 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/ControllerDispatcher.php(62): Illuminate\\Routing\\ControllerDispatcher->call(Object(Controllers\\xAPI\\StateController), Object(Illuminate\\Routing\\Route), 'selectMethod')\n#10 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php(962): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request), 'Controllers\\\\xAP...', 'selectMethod')\n#11 [internal function]: Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#12 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Route.php(109): call_user_func_array(Object(Closure), Array)\n#13 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php(1028): Illuminate\\Routing\\Route->run(Object(Illuminate\\Http\\Request))\n#14 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php(996): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))\n#15 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Application.php(776): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))\n#16 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Application.php(746): Illuminate\\Foundation\\Application->dispatch(Object(Illuminate\\Http\\Request))\n#17 \/var\/www\/learninglocker\/vendor\/asm89\/stack-cors\/src\/Asm89\/Stack\/Cors.php(51): Illuminate\\Foundation\\Application->handle(Object(Illuminate\\Http\\Request), 1, true)\n#18 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Session\/Middleware.php(72): Asm89\\Stack\\Cors->handle(Object(Illuminate\\Http\\Request), 1, true)\n#19 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Cookie\/Queue.php(47): Illuminate\\Session\\Middleware->handle(Object(Illuminate\\Http\\Request), 1, true)\n#20 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Cookie\/Guard.php(51): Illuminate\\Cookie\\Queue->handle(Object(Illuminate\\Http\\Request), 1, true)\n#21 \/var\/www\/learninglocker\/vendor\/stack\/builder\/src\/Stack\/StackedHttpKernel.php(23): Illuminate\\Cookie\\Guard->handle(Object(Illuminate\\Http\\Request), 1, true)\n#22 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Application.php(642): Stack\\StackedHttpKernel->handle(Object(Illuminate\\Http\\Request))\n#23 \/var\/www\/learninglocker\/public\/index.php(49): Illuminate\\Foundation\\Application->run()\n#24 {main}"} )http://52.16.190.132/data/xAPI/activities/state?activityId=http%3A%2F%2F10.…D&stateId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Fattempt-state
xapiwrapper.min.js:2 POST http://52.16.190.132/data/xAPI/activities/state?activityId=http%3A%2F%2F10.…D&stateId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Fattempt-state 400 (Bad Request)
xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/activities/state?activityId=http%3A%2F%2F10.…D&stateId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Fattempt-state".
xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":"`homePage` is not a valid irl in account. ,An `account` must have a `name` and a `homePage`.,`agent` is not a valid actorIdentifier in params. ","trace":"#0 \/var\/www\/learninglocker\/app\/controllers\/xapi\/BaseController.php(114): Controllers\\xAPI\\BaseController->validateValue('agent', Array, 'agent')\n#1 \/var\/www\/learninglocker\/app\/controllers\/xapi\/DocumentController.php(269): Controllers\\xAPI\\BaseController->requiredValue('agent', '{\"account\":{\"ho...', 'agent')\n#2 \/var\/www\/learninglocker\/app\/controllers\/xapi\/DocumentController.php(30): Controllers\\xAPI\\DocumentController->checkParams(Array, Array, Array)\n#3 \/var\/www\/learninglocker\/app\/controllers\/xapi\/DocumentController.php(80): Controllers\\xAPI\\DocumentController->getShowData()\n#4 \/var\/www\/learninglocker\/app\/controllers\/xapi\/BaseController.php(38): Controllers\\xAPI\\DocumentController->store()\n#5 [internal function]: Controllers\\xAPI\\BaseController->selectMethod()\n#6 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Controller.php(231): call_user_func_array(Array, Array)\n#7 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/ControllerDispatcher.php(93): Illuminate\\Routing\\Controller->callAction('selectMethod', Array)\n#8 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/ControllerDispatcher.php(62): Illuminate\\Routing\\ControllerDispatcher->call(Object(Controllers\\xAPI\\StateController), Object(Illuminate\\Routing\\Route), 'selectMethod')\n#9 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php(962): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request), 'Controllers\\\\xAP...', 'selectMethod')\n#10 [internal function]: Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#11 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Route.php(109): call_user_func_array(Object(Closure), Array)\n#12 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php(1028): Illuminate\\Routing\\Route->run(Object(Illuminate\\Http\\Request))\n#13 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php(996): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))\n#14 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Application.php(776): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))\n#15 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Application.php(746): Illuminate\\Foundation\\Application->dispatch(Object(Illuminate\\Http\\Request))\n#16 \/var\/www\/learninglocker\/vendor\/asm89\/stack-cors\/src\/Asm89\/Stack\/Cors.php(51): Illuminate\\Foundation\\Application->handle(Object(Illuminate\\Http\\Request), 1, true)\n#17 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Session\/Middleware.php(72): Asm89\\Stack\\Cors->handle(Object(Illuminate\\Http\\Request), 1, true)\n#18 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Cookie\/Queue.php(47): Illuminate\\Session\\Middleware->handle(Object(Illuminate\\Http\\Request), 1, true)\n#19 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Cookie\/Guard.php(51): Illuminate\\Cookie\\Queue->handle(Object(Illuminate\\Http\\Request), 1, true)\n#20 \/var\/www\/learninglocker\/vendor\/stack\/builder\/src\/Stack\/StackedHttpKernel.php(23): Illuminate\\Cookie\\Guard->handle(Object(Illuminate\\Http\\Request), 1, true)\n#21 \/var\/www\/learninglocker\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Application.php(642): Stack\\StackedHttpKernel->handle(Object(Illuminate\\Http\\Request))\n#22 \/var\/www\/learninglocker\/public\/index.php(49): Illuminate\\Foundation\\Application->run()\n#23 {main}"} )http://52.16.190.132/data/xAPI/activities/state?activityId=http%3A%2F%2F10.…D&stateId=http%3A%2F%2Fadlnet.gov%2Fxapi%2Fprofile%2Fscorm%2Fattempt-state
xapiwrapper.min.js:2 POST http://52.16.190.132/data/xAPI/statements 400 (Bad Request)
xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/statements".
xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":["`test` should be a valid `Locker\\XApi\\IRI` in `statement.actor.account.homePage`"]} )http://52.16.190.132/data/xAPI/statements
jquery.min.js:4 XHR finished loading: GET "http://10.3.0.171/moodle/pluginfile.php/29/mod_scorm/content/12/models_html5/quiz.html".xapiwrapper.min.js:2 POST http://52.16.190.132/data/xAPI/statements 400 (Bad Request)
xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/statements".
xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":["`test` should be a valid `Locker\\XApi\\IRI` in `statement.actor.account.homePage`"]} )http://52.16.190.132/data/xAPI/statements
yui_combo.php?rollup/3.17.2/yui-moodlesimple.js&rollup/1426267206/mcore-debug.js:24186 XHR finished loading: GET "http://10.3.0.171/moodle/lib/yui/build/moodle-core-checknet/assets/checknet.txt?time=1426596376630".
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 POST http://52.16.190.132/data/xAPI/statements 400 (Bad Request)
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/statements".
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":["`test` should be a valid `Locker\\XApi\\IRI` in `statement.actor.account.homePage`"]} )http://52.16.190.132/data/xAPI/statements
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 POST http://52.16.190.132/data/xAPI/statements 400 (Bad Request)
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/statements".
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":["`test` should be a valid `Locker\\XApi\\IRI` in `statement.actor.account.homePage`"]} )http://52.16.190.132/data/xAPI/statements
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 POST http://52.16.190.132/data/xAPI/statements 400 (Bad Request)
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/statements".
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":["`test` should be a valid `Locker\\XApi\\IRI` in `statement.actor.account.homePage`"]} )http://52.16.190.132/data/xAPI/statements
/moodle/pluginfile.php/29/mod_scorm/content/12/apiwrapper_2004.3rd.js:615 SetValue(cmi.total_time, PT71.07S) failed. 
404: Data Model Element Is Read Only
/moodle/pluginfile.php/29/mod_scorm/content/12/apiwrapper_2004.3rd.js:615 GetValue(cmi.exit) failed. 
405: Data Model Element Is Write Only
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 POST http://52.16.190.132/data/xAPI/statements 400 (Bad Request)
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 XHR finished loading: POST "http://52.16.190.132/data/xAPI/statements".
/moodle/pluginfile.php/29/mod_scorm/content/12/scorm-xapi/xapiwrapper.min.js:2 There was a problem communicating with the Learning Record Store. ( 400 | {"error":true,"success":false,"message":["`test` should be a valid `Locker\\XApi\\IRI` in `statement.actor.account.homePage`"]} )


any one have any ideas.

Thanks 

Stephen

Ryan Smith

unread,
Mar 18, 2015, 9:44:32 AM3/18/15
to learnin...@googlegroups.com
Re: First Issue
Sounds to me like you haven't gone through the upgrade process described in the release notes.

Re: Second Issue
You're not sending valid data hence the errors. I've picked out the unique errors for you as seen below. Please refer to the xAPI specification for further information regarding your invalid data.

{"error":true,"success":false,"message":"`homePage` is not a valid irl in account. ,An `account` must have a `name` and a `homePage`.,`agent` is not a valid actorIdentifier in params. "}
{"error":true,"success":false,"message":["`test` should be a valid `Locker\\XApi\\IRI` in `statement.actor.account.homePage`"]}

Stephen Lane

unread,
Mar 19, 2015, 8:26:13 AM3/19/15
to learnin...@googlegroups.com

Ryan Smith

unread,
Mar 19, 2015, 11:00:47 AM3/19/15
to learnin...@googlegroups.com
Good stuff.
Reply all
Reply to author
Forward
0 new messages