18 Replies Latest reply: Oct 16, 2014 3:50 AM by RodWard RSS

    Prevent a quiz module to run again?

    RCEditor Community Member

      Hello to all I have to solve an important problem.
      I have a quiz that must be subjected to a series of people only once. This quiz has not thresholds for pass / fail, I'm interested only get a final score. Just like an exam in school. Only one attempt, one result.

      With my software (LMS Litmos) I can not avoid to redo the quiz. But I can see how many attempts the person did and the various results.
      As I understand it is one thing to set up Captivate.


      I saw that there is a variable that can be recognized as an attempt is in progress (CpQuizInfoAttempts).


      But there is a simple way to lock the course after it was done the first time?


      How can I do?



      Thanks so much!

        • 1. Re: Prevent a quiz module to run again?
          Lilybiri CommunityMVP

          If you set the number of attempts on Quiz level at 1, the user will be allowed only one attempt. But if he closes the course and reopens it, can try again.

           

          Question Question Slides in Captivate - Captivate blog

          • 2. Re: Re: Prevent a quiz module to run again?
            RCEditor Community Member

            Thanks a lot for your answer.

             

            So, if the user complete my quiz, and on the platform LMS i see he's score too,

            i can not avoid that he can retake the quiz and send me other results?

             

            it's strange...

            • 3. Re: Re: Prevent a quiz module to run again?
              Lilybiri CommunityMVP

              No, it is not strange, because that is something you can configure in the LMS, at least I could do it in Blackboard.

              • 4. Re: Prevent a quiz module to run again?
                RCEditor Community Member

                Thanks a lot.

                So with Blackboard is possible... here for this work i have to use LITMOS...

                i have to ask to their customer service!

                • 5. Re: Prevent a quiz module to run again?
                  RCEditor Community Member

                  Litmos customer service replied that I have to set the thing inside Captivate.

                   

                  My problem is being able to recognize at the beginning of my Captivate project

                  (launched from a platform that is called Litmos LMS)

                  if it is the first time that the user faces the quiz, or if it has already done.

                   

                  This is because I want my Quiz is done only once, get the result and record it and manage it in my LMS.

                   

                  So my question is:

                   

                  Is it possbile to set Captivate so that when the Quiz module is launched from the LMS to recognize if it is first, second or third time that a user faces the quiz?


                  In this way I would be able to send the slides of the results of those who have already completed the quiz the first time.



                  Thanks a lot!

                  • 6. Re: Prevent a quiz module to run again?
                    Lilybiri CommunityMVP

                    It is always the same, LMS cannot do what it should do and then they tell you the authoring tool has to do it. Maybe with JS, but that is beyond my expertise. A good LMS takes over this kind of limitations to deployed courses, as I already answered. This is not meant to be done by an authoring tool.

                    • 7. Re: Prevent a quiz module to run again?
                      TLCMediaDesign Community Member

                      What vesion of SCORM are you using?

                       

                      You should be able to read a SCORM value and if true, either exit the course or redirect to a specific page.

                       

                      You may need to read a pair of values if yje user exited the quiz in the middle and returned without finishing.  You could just use completion status and if "complleted" exit the module. Be aware that if the students aren't notified of this action, they may think there is a problem with the course.

                      • 8. Re: Prevent a quiz module to run again?
                        RCEditor Community Member

                        Thanks a lot for your kind answer.

                         

                        I'm using SCORM 1.2

                         

                        Ok, what you say I think going in the right direction,
                        but how do I read these variables at the start of my form captivate?

                        That's the point ...
                        I tried to use CpQuizInfoAttempts but it seems that every time I open the module is reset to zero.

                        Something wrong?

                        Thank you so much for the help!

                        • 9. Re: Prevent a quiz module to run again?
                          RodWard CommunityMVP

                          No. That is the normal designed behaviour fo a Cp module.

                           

                          I don't care what your LMS dude says. I

                          • 10. Re: Prevent a quiz module to run again?
                            TLCMediaDesign Community Member

                            Not sure of your settings for the quiz but this should work if your student has either passed or completed the lesson.  Execute in JavaScript on enter of the first slide. Note that I have not tested this.

                             

                            var myStatus = SCORM_CallLMSGetValue("cmi.core.lesson_status");

                             

                            if (myStatus == "passed" || myStatus == "completed")

                            {

                                 DoFinish();

                            }

                            • 11. Re: Prevent a quiz module to run again?
                              RodWard CommunityMVP

                              Dave,

                               

                              I'm wondering if your code could help me with a problem I'm currently having with a client's course.

                               

                              If the learner successfully passes a course module, the LMS will revert the module status back to Incomplete if the learner goes back into that module for any reason (e.g. to review the content again).

                               

                              The client wants me to add some code to the modules to detect whether the module status is Passed or Completed (it's SCORM 1.2) and if so, then NOT send any more information to the LMS at all for that module to prevent the LMS from losing their status.  So this code would need to execute right at the initial connection with the LMS API, query the module status, and if it's already passed, then terminate the LMS connection to prevent further changes to that status.

                               

                              Have you tried doing this?

                              • 12. Re: Prevent a quiz module to run again?
                                RCEditor Community Member

                                Hello everyone,
                                Unfortunately this code in javascript does not seem to work.

                                When I start the form again from the LMS (after completed it the first time)

                                will not lock, instead it starts again as if for the first run.

                                I attach a screenshot of the program window in which I entered javascript code,
                                maybe you see something strange.

                                Otherwise there may be a mismatch of scorm variables name?
                                Where could I check?

                                Again, thank you so much for the help you are giving me!

                                 

                                 

                                 

                                yU2HVCc.jpg

                                • 13. Re: Prevent a quiz module to run again?
                                  TLCMediaDesign Community Member

                                  I do this in all of my courses. I always use a start page that redirects to the actual course once the LMS is initialized. This page does does the initailization which returns "incomplete" when the API is initialized. Our LMS, and most I believe, will not let you read the value of the lesson before you set it. What we do is to write 0 for not attempted, 1 for inprogress, or 2 for completed to the cmi.comments.

                                   

                                  When the course is initialized and returns "incomplete", you immediately read the comment and set the lesson status back to complete if the value is 2.

                                   

                                  In your case you would likely want to set the cmi.core.lesson_mode to Browse or Review to stop Captivate from making any further calls. Even so, I've never seen Captivate write a comment so any time after completion the course would always register complete if re-acccessed.

                                   

                                  Since it would be slightly difficult to do this using Captivate's published SCORM files, you would need to rewrite the initialization function and the function(s) that sets completion to add the cmi.comment.

                                   

                                  I've never really traced out CP's SCORM functionality since I don't use CP's SCORM API, but I think it should be doable.

                                  • 14. Re: Prevent a quiz module to run again?
                                    TLCMediaDesign Community Member

                                    Add an alert to see what is being returned from the LMS:

                                     

                                    var myStatus = SCORM_CallLMSGetValue("cmi.core.lesson_status");

                                     

                                    alert(myStatus);

                                     

                                    if (myStatus == "passed" || myStatus == "completed")

                                    {

                                         DoFinish();

                                    }

                                    • 15. Re: Prevent a quiz module to run again?
                                      RCEditor Community Member

                                      I tried it and here is the result:

                                       

                                      - Launching for the first time the quiz (the JavaScript show me the status INCOMPLETE), then i have completed it and in the LMS I see that the test is completed (marked in green): 100% completed

                                       

                                      - I'm going in again in the course and the LMS says: The course was completed earlier. Would you like to start again this form?

                                       

                                      If I press RESTART, I restart the module, and the javascript tells me again INCOMPLETE.

                                       

                                      It 'a real problem of the LMS?

                                      Thanks again for your patience and for your invaluable help.

                                      • 16. Re: Prevent a quiz module to run again?
                                        TLCMediaDesign Community Member

                                        That is how the LMS should operate. The isuue is that they set the status to incomplete when initializing. Try this:

                                         

                                        On the last slide of your project or when the lesson is complete, execute this JavaScript;

                                         

                                        SCORM_CallLMSSetValue("cmi.comments", 2);

                                         

                                        Then on enter of the first slide:

                                         

                                        var myStatus = SCORM_CallLMSGetValue("cmi.comments");

                                         

                                        alert(myStatus);

                                         

                                        if (myStatus == "2" )

                                        {

                                             DoFinish();

                                        }

                                        • 17. Re: Prevent a quiz module to run again?
                                          RCEditor Community Member

                                          Thanks again for your help.
                                          Unfortunately not even this attempt did not work with javascript.


                                          These days I have left it up to the engineers LMS Litmos to try to figure out what's not working ...
                                          eventually admitted that it is a lack of their platform,
                                          and hoping in the future to solve the problem.

                                          Thanks to all and
                                          W CAPTIVATE!

                                          • 18. Re: Prevent a quiz module to run again?
                                            RodWard CommunityMVP

                                            On the 8th of October "Litmos customer service replied that I have to set the thing inside Captivate."

                                             

                                            On the 16th of October: "eventually admitted that it is a lack of their platform"

                                             

                                            This is why I NEVER trust what the LMS vendors say when there's a problem.  They're far too ready to blame the authoring tool.