Picture of fergus beake
"Could Not Connect to the LMS"
by fergus beake - Monday, 20 March 2017, 12:10 PM
 

Hi, 

I've recently needed  to remove percentage scoring from my companies courses in favour of Complete/incomplete, However ever since this the courses have began throwing errors when trying to close,

the scoring tracks as intended.

What would the likely cause be? 

 

Picture of Matt Leathes
Re: "Could Not Connect to the LMS"
by Matt Leathes - Monday, 20 March 2017, 12:59 PM
 

Hi Fergus

Could you do as the error message asks and "Press 'OK' to view debug information"? If you can post that information here it should help to identify where things are going wrong.

It would also help to know what changes you made " to remove percentage scoring from my companies courses in favour of Complete/incomplete".

If you could let us know what version of the framework and what version of the spoor plugin this course is running that would help too, as well as knowing what LMS you are using.

If you try on a different LMS, for example SCORM Cloud or Moodle, do you get the same error?

Picture of fergus beake
Re: "Could Not Connect to the LMS"
by fergus beake - Monday, 20 March 2017, 2:56 PM
 

Hi Matt, thanks for the reply

When I click Ok, the debug popup returns blank, debugging it shows that it has a single div and a onload JavaScript function.

Changing the course to complete/incomplete was done by removing the assessment extension and setting the Spoor extension to complete/incomplete instead of pass/fail.

Spoor is version 2.0.14, I'm having problems finding the adapt version, typing adapt -v into the linux console returns 0.0.23, but that seems incorrect.

It throws the error regardless of what LMS I use, even launching it without an LMS returns the error.

 

Thanks,

 

EDIT: one of my colleagues managed to get the debug information,

14:51:20.684 ScormWrapper::setVersion: 1.2

14:51:20.684 ScormWrapper::initialize

14:51:20.779 ScormWrapper::initTimedCommit

14:51:20.780 ScormWrapper::getValue: _property=cmi.suspend_data

14:51:20.780 ScormWrapper::getValue: returning {"lang":"en","a11y":false,"completion":"-1000000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:20.780 ScormWrapper::getValue: _property=cmi.core.lesson_location

14:51:20.781 ScormWrapper::getValue: returning 58cbd0b148e21aac2a694da9

14:51:20.781 ScormWrapper::getValue: _property=cmi.core.score.raw

14:51:20.781 ScormWrapper::getValue: returning

14:51:20.781 ScormWrapper::getValue: _property=cmi.core.lesson_status

14:51:20.782 ScormWrapper::getValue: returning incomplete

14:51:20.782 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:20.782 ScormWrapper::getValue: returning Admin, Jenison

14:51:20.782 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:20.782 ScormWrapper::getValue: returning Admin, Jenison

14:51:20.782 ScormWrapper::getValue: _property=cmi.core.student_id

14:51:20.783 ScormWrapper::getValue: returning admin

14:51:20.784 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1000000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:21.676 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1000000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:21.718 ScormWrapper::getValue: _property=cmi.core.lesson_location

14:51:21.718 ScormWrapper::getValue: returning 58cbd0b148e21aac2a694da9

14:51:21.718 ScormWrapper::getValue: _property=cmi.core.score.raw

14:51:21.719 ScormWrapper::getValue: returning

14:51:21.719 ScormWrapper::getValue: _property=cmi.core.lesson_status

14:51:21.720 ScormWrapper::getValue: returning incomplete

14:51:21.720 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:21.721 ScormWrapper::getValue: returning Admin, Jenison

14:51:21.721 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:21.721 ScormWrapper::getValue: returning Admin, Jenison

14:51:21.722 ScormWrapper::getValue: _property=cmi.core.student_id

14:51:21.722 ScormWrapper::getValue: returning admin

14:51:21.866 ScormWrapper::getValue: _property=cmi.core.lesson_location

14:51:21.867 ScormWrapper::getValue: returning 58cbd0b148e21aac2a694da9

14:51:21.903 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694d9b

14:51:25.026 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694da8

14:51:35.470 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694da9

14:51:36.923 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1100000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:40.448 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694daa

14:51:43.718 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1110000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:45.466 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dab

14:51:45.771 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:49.746 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dac

14:51:50.194 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111100001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:52.064 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dad

14:51:53.132 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111100001","questions":"CIhOiBYQGAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:53.198 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111110001","questions":"CIhOiBYQGAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:56.576 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111001","questions":"CIhOiBYQGAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:56.745 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dae

14:51:58.098 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694daf

14:51:58.791 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111001","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:58.839 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111101","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:52:01.675 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694db0

14:52:04.960 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111111","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:52:05.005 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111111","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":true,"_isAssessmentPassed":false}

14:52:05.005 ScormWrapper::setValue: _property=cmi.core.lesson_status _value=completed

14:52:05.006 ScormWrapper::commit

14:52:08.772 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694da7

14:52:08.888 ScormWrapper::finish

14:52:22.367 ScormWrapper::finish

14:52:22.367 Course is not connected to the LMS

14:51:20.684 ScormWrapper::setVersion: 1.2

14:51:20.684 ScormWrapper::initialize

14:51:20.779 ScormWrapper::initTimedCommit

14:51:20.780 ScormWrapper::getValue: _property=cmi.suspend_data

14:51:20.780 ScormWrapper::getValue: returning {"lang":"en","a11y":false,"completion":"-1000000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:20.780 ScormWrapper::getValue: _property=cmi.core.lesson_location

14:51:20.781 ScormWrapper::getValue: returning 58cbd0b148e21aac2a694da9

14:51:20.781 ScormWrapper::getValue: _property=cmi.core.score.raw

14:51:20.781 ScormWrapper::getValue: returning

14:51:20.781 ScormWrapper::getValue: _property=cmi.core.lesson_status

14:51:20.782 ScormWrapper::getValue: returning incomplete

14:51:20.782 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:20.782 ScormWrapper::getValue: returning Admin, Jenison

14:51:20.782 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:20.782 ScormWrapper::getValue: returning Admin, Jenison

14:51:20.782 ScormWrapper::getValue: _property=cmi.core.student_id

14:51:20.783 ScormWrapper::getValue: returning admin

14:51:20.784 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1000000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:21.676 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1000000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:21.718 ScormWrapper::getValue: _property=cmi.core.lesson_location

14:51:21.718 ScormWrapper::getValue: returning 58cbd0b148e21aac2a694da9

14:51:21.718 ScormWrapper::getValue: _property=cmi.core.score.raw

14:51:21.719 ScormWrapper::getValue: returning

14:51:21.719 ScormWrapper::getValue: _property=cmi.core.lesson_status

14:51:21.720 ScormWrapper::getValue: returning incomplete

14:51:21.720 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:21.721 ScormWrapper::getValue: returning Admin, Jenison

14:51:21.721 ScormWrapper::getValue: _property=cmi.core.student_name

14:51:21.721 ScormWrapper::getValue: returning Admin, Jenison

14:51:21.722 ScormWrapper::getValue: _property=cmi.core.student_id

14:51:21.722 ScormWrapper::getValue: returning admin

14:51:21.866 ScormWrapper::getValue: _property=cmi.core.lesson_location

14:51:21.867 ScormWrapper::getValue: returning 58cbd0b148e21aac2a694da9

14:51:21.903 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694d9b

14:51:25.026 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694da8

14:51:35.470 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694da9

14:51:36.923 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1100000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:40.448 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694daa

14:51:43.718 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1110000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:45.466 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dab

14:51:45.771 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111000001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:49.746 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dac

14:51:50.194 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111100001","questions":"","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:52.064 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dad

14:51:53.132 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111100001","questions":"CIhOiBYQGAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:53.198 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111110001","questions":"CIhOiBYQGAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:56.576 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111001","questions":"CIhOiBYQGAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:56.745 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694dae

14:51:58.098 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694daf

14:51:58.791 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111001","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:51:58.839 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111101","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:52:01.675 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694db0

14:52:04.960 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111111","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":false,"_isAssessmentPassed":false}

14:52:05.005 ScormWrapper::setValue: _property=cmi.suspend_data _value={"lang":"en","a11y":false,"completion":"-1111111111","questions":"CIE6IFhAYADgx4KCFOiBYQIAA4MeCgh","_isCourseComplete":true,"_isAssessmentPassed":false}

14:52:05.005 ScormWrapper::setValue: _property=cmi.core.lesson_status _value=completed

14:52:05.006 ScormWrapper::commit

14:52:08.772 ScormWrapper::setValue: _property=cmi.core.lesson_location _value=58cbd0b148e21aac2a694da7

14:52:08.888 ScormWrapper::finish

14:52:22.367 ScormWrapper::finish

14:52:22.367 Course is not connected to the LMS

Picture of Matt Leathes
Re: "Could Not Connect to the LMS"
by Matt Leathes - Monday, 20 March 2017, 4:24 PM
 

OK thanks, that helps some

I've never seen this happen myself but I think you might be running into this issue. I haven't yet released a new version of this plugin but I will try to do that later tonight if that's OK?

It looks to me as if it may be one of your colleagues that spotted & fixed this issue.. I can't help noticing that the student_name in the debug logs above is Admin, Jenison and that the fix was pushed from a github account called ''...

Picture of Matt Leathes
Re: "Could Not Connect to the LMS"
by Matt Leathes - Monday, 20 March 2017, 9:10 PM
 

https://github.com/adaptlearning/adapt-contrib-spoor/releases/tag/v2.0.15

Picture of fergus beake
Re: "Could Not Connect to the LMS"
by fergus beake - Tuesday, 21 March 2017, 11:13 AM
 

That appears to have fixed it, Thank you very much!

Picture of Shaneshwar Bhagat
Re: "Could Not Connect to the LMS"
by Shaneshwar Bhagat - Tuesday, 10 September 2019, 1:57 PM
 

Hi Matt,

I found similar issue but the solution that worked for Fergus doesnt work for me. 

Here is some description of my issue: This Error comes when i click on close button/icon of adapt-close extensionTried Testing in Cloud scorm and moodle both

I have used 1.2 SCORm as default, tried uploading in MOODLE and COUD SCORM both but same issue.

Console output is this:

this has set course completion on assessment

in Config.json: value as set as mentioned below
"_completionCriteria": {
"_requireContentCompleted": false,
"_requireAssessmentCompleted": true
}, 
SPOOR is set to: 
"_spoor": {
"_isEnabled": true,
"_tracking": {
"_shouldSubmitScore": true,
"_shouldStoreResponses": false,
"_shouldRecordInteractions": true,
}
Do I need to set "_requireContentCompleted": false, to true as this course does not have assessment. Do this will solve or do I need to look for some another aspects. 
 
Your help is deeply appreciated. Thank you.
Picture of Matt Leathes
Re: "Could Not Connect to the LMS"
by Matt Leathes - Tuesday, 10 September 2019, 2:40 PM
 

Could you let me know what versions of the:

  • adapt framework
  • spoor plugin
  • close plugin

you are using?

Also, you haven't included the entirety of the SCORM debug log - as you haven't scrolled down the key bit is missing.

As you're running on Moodle you might be better off enabling Moodle's SCORM debug feature, it's generally a lot more detailed than the one in Adapt.

Do I need to set "_requireContentCompleted": false, to true as this course does not have assessment. Do this will solve or do I need to look for some another aspects.

Yes you should absolutely do this. It is not related to the 'Course is not connected to the LMS' error you're getting but you need to have this setting enabled or - as the course does not contain an assessment - the learner will not be able to complete it.

 

Picture of Shaneshwar Bhagat
Re: "Could Not Connect to the LMS"
by Shaneshwar Bhagat - Friday, 13 September 2019, 6:27 AM
 

Thanks Matt. I am using

Adapt version : 2.0.6
Spoor version:3.0.0
Close plugin version: 1.1.0

SCORM:1.2

yes. After enabling "_requireContentCompleted": true, and tracking by assessment to false have solve my problem. This is working for CLOUD SCORM but not for moodle I am getting the error. Its showing course not completed in moodle. Is their any compatibility issue in moodle. Please see the snapshot of error

Moodle does not show course completed

 

Picture of Matt Leathes
Re: "Could Not Connect to the LMS"
by Matt Leathes - Friday, 13 September 2019, 10:32 AM
 

Hi Shaneshwar

Not sure what I'm missing here but in the above debug log the course is showing as completed...

If you are using spoor v3.0.0 together with Adapt v2.0.6 then that's going to be a problem because those two versions are incompatible (spoor v3.0.0 requires Adapt v3 as a minimum)

Adapt v2.0.6 is really quite old indeed, it was released nearly 4 years ago now...!

Picture of Shaneshwar Bhagat
Re: "Could Not Connect to the LMS"
by Shaneshwar Bhagat - Monday, 16 September 2019, 5:56 AM
 

Thanks Matt, I will look with version issues.

Picture of Ailiniyazi Maimaiti
Re: "Could Not Connect to the LMS"
by Ailiniyazi Maimaiti - Wednesday, 13 January 2021, 3:52 PM
 

Hi Matt, 

 

I also met this problem, after I uploaded a course to our LMS, I got this error message after I clicked "OK" :

16:19:23.762 ScormWrapper::setVersion:

1.216:19:23.762 ScormWrapper::initialize

16:19:23.851 Course could not connect to the LMS

16:19:47.281 ScormWrapper::commit

16:19:47.282 Course is not connected to the LMS

 

The attached image is from browser's console.

I had added and enabled the plugin, I've tried both "passed" and "completed" at Tracking success status.

I'm using Spoor 3.3.2 and Framework v4.4.1.

 

The second image is the log from adapt authoring tool.

 



Picture of Ailiniyazi Maimaiti
Re: "Could Not Connect to the LMS"
by Ailiniyazi Maimaiti - Wednesday, 13 January 2021, 4:00 PM
 

I don't if it was related to our LMS, I've tried SCORM Cloud, it works there. 

Picture of Matt Leathes
Re: "Could Not Connect to the LMS"
by Matt Leathes - Wednesday, 13 January 2021, 5:21 PM
 

well, in the first image you see the error "API.LMSInitialize is not a function" and just below that "API: [object Window]" - I think that's the source of your problem.

It should be "API: [object Object]" and the API object needs to have the following functions defined on it:

  • LMSInitialize
  • LMSGetValue
  • LMSSetValue
  • LMSCommit
  • LMSFinish
  • LMSGetLastError
  • LMSGetErrorString
  • LMSGetDiagnostic

Given that it works OK in SCORM Cloud I think it probably is an issue on your LMS.

This is the key part of the 'find SCORM API' code. Seems like it might be finding something else (a browser window going by the [object Window] reference you're getting) that has the same name as the SCORM API..?

I can also see some errors that appear to be from your LMS e.g.

Picture of Ailiniyazi Maimaiti
Re: "Could Not Connect to the LMS"
by Ailiniyazi Maimaiti - Monday, 18 January 2021, 1:11 PM
 

Hello Matt,

 You are right, that was the problem from the LMS, now it works fine, many thanks!