chamilo / chamilo-lms

Chamilo is a learning management system focused on ease of use and accessibility
https://chamilo.org
GNU General Public License v3.0
774 stars 469 forks source link

SCORM js issues #2951

Open opensourcecompany opened 5 years ago

opensourcecompany commented 5 years ago

A simple SCORM module is not working anymore after the upgrade from 1.11.8 to 1.11.10. JS console throws several errors. Already tried it on 11.chamilo.org, same issue. Attached is the sample package, seems to be a compatibility issue :-( Validated against SCORM Cloud, says no errors.

Errors are: ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at ui.js:146 UIControl.updateLayout @ ui.js:900 (anonymous) @ ui.js:146 setTimeout (async) UIControl.initialize @ ui.js:146 Engine.initialize @ engine.js:78 init @ init.js:47 (anonymous) @ init.js:63 condition @ mootools-core-1.5.0-full-compat.js:4501 defn @ mootools-core-1.5.0-full-compat.js:4515 load (async) addListener @ mootools-core-1.5.0-full-compat.js:4007 addEvent @ mootools-core-1.5.0-full-compat.js:4518 (anonymous) @ mootools-core-1.5.0-full-compat.js:4775 (anonymous) @ init.js:62 (anonymous) @ init.js:66 controller.js:1235 Uncaught TypeError: $(...).store is not a function at Controller.checkNavState (controller.js:1235) at HTMLIFrameElement.Engine.contentLoaded (engine.js:263) Controller.checkNavState @ controller.js:1235 Engine.contentLoaded @ engine.js:263 load (async) Engine.createContentWindowListener @ engine.js:190 Engine.initialize @ engine.js:84 init @ init.js:47 (anonymous) @ init.js:63 condition @ mootools-core-1.5.0-full-compat.js:4501 defn @ mootools-core-1.5.0-full-compat.js:4515 load (async) addListener @ mootools-core-1.5.0-full-compat.js:4007 addEvent @ mootools-core-1.5.0-full-compat.js:4518 (anonymous) @ mootools-core-1.5.0-full-compat.js:4775 (anonymous) @ init.js:62 (anonymous) @ init.js:66 controller.js:1235 Uncaught TypeError: $(...).store is not a function at Controller.checkNavState (controller.js:1235) at HTMLIFrameElement.Engine.contentLoaded (engine.js:263) Controller.checkNavState @ controller.js:1235 Engine.contentLoaded @ engine.js:263 load (async) Engine.createContentWindowListener @ engine.js:188 Engine.initialize @ engine.js:84 init @ init.js:47 (anonymous) @ init.js:63 condition @ mootools-core-1.5.0-full-compat.js:4501 defn @ mootools-core-1.5.0-full-compat.js:4515 load (async) addListener @ mootools-core-1.5.0-full-compat.js:4007 addEvent @ mootools-core-1.5.0-full-compat.js:4518 (anonymous) @ mootools-core-1.5.0-full-compat.js:4775 (anonymous) @ init.js:62 (anonymous) @ init.js:66 controller.js:1235 Uncaught TypeError: $(...).store is not a function at Controller.checkNavState (controller.js:1235) at HTMLIFrameElement.Engine.contentLoaded (engine.js:263) Controller.checkNavState @ controller.js:1235 Engine.contentLoaded @ engine.js:263 load (async) Engine.createContentWindowListener @ engine.js:189 Engine.initialize @ engine.js:84 init @ init.js:47 (anonymous) @ init.js:63 condition @ mootools-core-1.5.0-full-compat.js:4501 defn @ mootools-core-1.5.0-full-compat.js:4515 load (async) addListener @ mootools-core-1.5.0-full-compat.js:4007 addEvent @ mootools-core-1.5.0-full-compat.js:4518 (anonymous) @ mootools-core-1.5.0-full-compat.js:4775 (anonymous) @ init.js:62 (anonymous) @ init.js:66 3ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at engine.js:622 at Engine.checkForZoom (engine.js:628) at engine.js:630 UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 (anonymous) @ engine.js:622 Engine.checkForZoom @ engine.js:628 (anonymous) @ engine.js:630 setTimeout (async) Engine.checkForZoom @ engine.js:630 (anonymous) @ engine.js:630 setTimeout (async) Engine.checkForZoom @ engine.js:630 (anonymous) @ engine.js:630 setTimeout (async) Engine.checkForZoom @ engine.js:630 (anonymous) @ engine.js:630 setTimeout (async) Engine.checkForZoom @ engine.js:630 Engine.initialize @ engine.js:135 init @ init.js:47 (anonymous) @ init.js:63 condition @ mootools-core-1.5.0-full-compat.js:4501 defn @ mootools-core-1.5.0-full-compat.js:4515 load (async) addListener @ mootools-core-1.5.0-full-compat.js:4007 addEvent @ mootools-core-1.5.0-full-compat.js:4518 (anonymous) @ mootools-core-1.5.0-full-compat.js:4775 (anonymous) @ init.js:62 (anonymous) @ init.js:66 5ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 2ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 ui.js:900 Uncaught TypeError: $(...).getStyle is not a function at UIControl.updateLayout (ui.js:900) at UIControl.handleResize (ui.js:381) at Engine.handleResize (engine.js:562) at window.onresize (init.js:19) UIControl.updateLayout @ ui.js:900 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 resize (async) UIControl.updateLayout @ ui.js:878 UIControl.handleResize @ ui.js:381 Engine.handleResize @ engine.js:562 window.onresize @ init.js:19 utils.js:597 Uncaught TypeError: $(...).setStyle is not a function at Object.hide (utils.js:597) at Controller.gotoPageByName (controller.js:686) at Controller.playExitTransitionAndGoToPageByName (controller.js:410) at Controller.nextLinear (controller.js:454) at HTMLDivElement.<anonymous> (baseskin.js:66) at HTMLDivElement.defn (mootools-core-1.5.0-full-compat.js:4515)

Musterkurs.zip

ywarnier commented 4 years ago

Still not working today, but the issue seem to be related with the paths of the files. Not sure. Ask an official provider to look at it? ;-) (honestly, we have dozens of SCORM that work, and it takes hours to debug a single SCORM that doesn't)

ywarnier commented 4 years ago

@lonesomewalker any comment?

lonesomewalker commented 4 years ago

As you've written, it takes AGES to debug. Opening the SCORM packages in a popup window works for problems related to this. But a good solution would be different, because the SCORM content should be handled as in other LMS: separated from Chamilo code, only doing feedback by API. But i think this will be tricky and at the moment only working with iframes...?

ywarnier commented 4 years ago

Do you know there is a SCORM debug option available only when you're platform admin and only visible in the JS console of your browser when you enabled the ladybug icon in the learning path list?

lonesomewalker commented 4 years ago

Hello Yannick,

yes, you get to the point WHAT breaks pretty easy. But fixing this takes some time since there are many functions...