How to ensure users don't skip content?

Profile picture for user MiniYabber
MiniYabber
Forums
Hi everyone, I use iSpring to convert PowerPoint slideshows to SCORM packages and use them within Opigno, but one thing I noticed is that users can easily skip through the SCORM package! Is there any way to ensure that they don’t skip through it all? Users have two ways of skipping my content: No.1 Clicking the next arrow keys (part of the SCORM PowerPoint package). No.2 Clicking the “Next” button below the PowerPoint slideshow, skipping its entirety. Here's a screenshot: http://imgur.com/a/c7jjm Correct me if I’m wrong, but I don’t think there’s a way to have the SCORM package interact with Opigno LMS so that you can only click Opigno’s “Next” button when the SCORM slideshow is completed. I’ve already inquired to iSpring if there’s a way of having each slide a mandatory 5 seconds minimum to proceed, which would satisfy issue #1 to an extent, but then Opigno’s issue, #2, would still be an issue because they can skip the SCORM slideshow entirely.. Are there any modules out there that can help with this that I’m not finding? Any way of disabling the “Next” button and enabling it after a set amount of time, as well? The only workaround I can think of is to have EACH slide of my PowerPoint presentations converted into individual SCORM packages and uploaded as individual “questions”, since I’m aware that each question, regardless of whether it has any actual quizzes/questions or not, can be given a value or worth. I would then give each of these individual questions holding single slides a value (rather than entire slideshows), and users will be granted a percentage or whatever it may be indicating completion (or that they at least had the page displayed to them for at least a second). But that’s very tedious and not exactly a solution! ☹ If I’m unable to make it work, I’ll need to resort to an alternate LMS, which I really don’t want.. but I’m not convinced that one can have SCORM content work that way with any LMS though! If anyone has any ideas, or if another LMS would do this better, please let me know! Is SCORM also my only option, since that appears to be the only thing I can have my PowerPoint presentations convert to... Anyone know much about TinCan API? Is that something?
Profile picture for user James Aparicio
James Aparicio

Hi MiniYabber,

Hi MiniYabber,

Looking at your image, i can see that you have enabled "allow skiping question" in the lesson settings. If you do remove this option, the middle button "Leave blank and finish" will desapear.

Regarding not allowing the user to finish or clicking next, what you can do it to make sure the scorm package is sending cmi.completion_status when the user finishes the lesson. And with some javascript you can have the button hidden and display it only once the scorm package has sent this information as completed.

You can take a look at /profiles/opigno_lms/modules/opigno/opigno/modules/scorm/js/lib/api-2004.js. You can put some logs there to check if the scorm package is sending this information.

 

 

Best regards

 

mdyurur

Help please

I can send via Scorm Package cmi.completion_status, so i don't have any problem with finishing the course. But i can't disable the Finish button. Do you have any idea where can i find it and how to disable?
Profile picture for user James Aparicio
James Aparicio

Hi mdyurur,

Hi mdyurur,

You cannot disable the finish button. Scores for specific lessons are only stored once the user clicked on finish. If they do not, courses will never be passed if they have required lessons.

What you could do is hide/diplay with javascript when you receive cmi.completion_status from the scorm package. (Only allow the user to click finish once you have recived conformation from the scorm package)

Best regards

markusd1984

automatic scoring via cmi.completion_status ?

Would it be possible to trigger the scoring (finish button) automatically once a lesson end has reached and thus completed via cmi.completion_status ? This could eliminate the need for a finish button and avoid an additional step for the user, unless it's needed in a different situation?
Profile picture for user James Aparicio
James Aparicio

Hi Markusd1984,

Hi Markusd1984,

I think both options are doable. The first simply with javascript and the second one you need to create an ajax callback that does what the quiz module does when the user finishes. (set the score, mark it as finished, etc)

Best regards

markusd1984

Please implement option to hide finish button

Sounds great, perhaps somebody might have the skills and time one day or you get to implement it into version 2 ++ to enable it as option which would be ideal :) Actually, with automatic scoring and no Finish button, it would then be very attractive to have a true full-screen mode to load scorm / tincan modules that record activity and completions fully transparently. I see there are a few posts about full screen mode in the past :) Another option would be to load it in a pop-up window or new tab (which I think is popular in other platforms). I see there was a similar post in 2015 "it-necessary-click-finish-complete-course" (can't post the opgino forum link as it get's recongised as spam) wondering as well when a user just clicks the finish button without going through the lesson will it automatically record as completed or does that depend on the scorm/tincan module settings to possibly prevent this?
mdyurur

Thanks James

Hi, thanks for your help. I understood your solution, but I just don't know where to write that Javascript code. Should i control the Finish button's visibility within api-2004.js file? Or, i searched i lot, should i control it within opigno_quiz_app.module?
9802008

Check on 'Next' button - prevent skipping content

Here is the Javascript to disable the 'Next' button on a SCORM package in Opigno. The SCORM Package was created in Articulate and imported. The Javascript checks to see if the DIV in the SCORM Package is set to 100%. The DIV in the Articulate Course is called: progress-bar__percentage-bottom This DIV could be updated for other elements on the SCORM Package. Full solution would be to update javascript to use: cmi.completion_status and/or cmi.core.lesson_status. Please post your Javascript code if you manage to get the 'Next' button to interact with the CMI variables in the SCORM package. Note: Javascript to be added to Drupal (eg in the Opigno Theme JS file). On admin/config/development/performance, 'Aggregate JavaScript files' should be turned off document.getElementById("edit-submit").onclick = function(e) {validateProgress(e)}; function validateProgress(e) { var iframe = document.getElementById("iFrameResizer0"); var innerDoc1 = iframe? (iframe.contentDocument || iframe.contentWindow.document) : null; var iframe2 = innerDoc1? (innerDoc1.getElementById("content-frame")): null; var innerDoc = iframe2? (iframe2.contentDocument || iframe2.contentWindow.document): null; var percentcounter = innerDoc? innerDoc.getElementsByClassName("progress-bar__percentage-bottom")[0]: null; if (typeof percentcounter === "undefined"){ return } if (e.currentTarget.value === 'Next' && (!percentcounter.innerText.includes('100'))) { alert("Please complete the entire 'Module' first before clicking on the 'Next' button. Ensure that you have completed all portions of the Module."); e.preventDefault(); return false; } }