cancel
Showing results for 
Search instead for 
Did you mean: 
Learner

Preventing previous/next jumps between modules

Jump to solution

Hello Canvas community,

This is a very circumstantial issue that I've been unable to solve. We're designing navigation in certain courses to work in a slightly different way than usual. 

I won't bore you with the lengthy details, but we need to prevent students from being able to jump between different modules using the Next/Previous buttons. It's fine that they jump between pages/assignments/quizzes within the same module. 

Is there any way to accomplish this? For now, the only solution I can see is to control access to modules by publishing/unpublishing but this is only a backup-plan for now.

Scripts, work-arounds or other clever solutions - anything goes.

Thanks in advance. 🙂 

Michael

EDIT - problem has been solved, see Christopher Esbrandt's solution for a functional script.


I was working on a lighter script - it is not fully functional yet, but if anyone wants to complete it, here it is. It works by scanning the content div for the tooltip "Næste modul" ("Next module") and then setting the display property of the next button to none. The setTimeout function was implemented because of the order of the content generation, ensuring that the next button is removed after it has been loaded (and not before, which would accomplish nothing). If the tooltip text "Næste modul" cannot be found, the script simply returns an error message.

function removeNext() {
   setTimeout(function(){ 
   var markup = document.getElementById("content").outerHTML;
   n = markup.includes("Næste modul:");
   if (n==true){ 
   $(".module-sequence-footer-button--next").css("display", "none"); 
   } 
   }, 1000);
   }
removeNext();

24 Replies

Thanks for the prompt response. I see that it works when I save the theme. However, in testing it, while I don’t see the next/previous buttons, the grade for each assignment (SCORM) is now resetting when revisited. Have you had this happen before?

Sorry for the slow response, been a busy week.

Yes, I have seen that before. The issue is that your SCORM is submitting a new score with each access, whether the student has completed the activity or not.

Canvas has no attempt controls for SCORM, so if the SCORM allows it every access will be an attempt. If your SCORM recognizes each access as a new attempt, it will send 0s for incomplete use. If it doesn't recognize each access as a new attempt, check your grading configuration and submission settings in the SCORM for 0 submissions.

Thanks, Christopher. Changing some settings in my published SCORM file to not reset upon revisit has resolved this issue. I really appreciate your help.

Learner II

Hi, my answer is simpler and may or may not meet your needs. 

When on the list of modules, there is a settings gear above each module. You can set rules for accessing the module.  For example, you came make a prerequisite of completing the previous module. Or you can set it to be available on a certain date. 

If you need more details or screenshots just let just let us know and someone will help you out!

Cheers!

Shauna

Hello Shauna,

Thanks for the tip but we've already experimented with this. None of the prerequisites are sufficient, unfortunately. 😞