Customise the button appearance by clicking on 'Edit the Navigation Button settings' in the newly created block.

Check the message at the bottom of the screen (under the 'Save changes' button) - it should read "Navbuttons self-test: required core modifications have been completed successfully". If not, then go back to step 5 above and check carefully.

Note: The block is only visible to users who are able to edit courses modules. Deleting the block will remove the navigation buttons (they can also be disabled through the settings).

I will give it a go and see how it turns out. All we need is for students to scroll through activities using "Prev/Next" links from within the activity and not go to the Course front page every now and then to move to the next activity.

Is there a way to get the button to update when a requirement has been met? Currently we have modules that are not accessible until the student has passed a quiz on the previous module.

The student enters a module. The next button does not point to the next module since they don't yet have access to it. Instead the next button skips the module. (We'd ideally like an option to just gray out the next button so that the student knows that they need to accomplish something before moving on).

Once the student has passed the quiz in the scorm module, we would ideally like the button to update. Now the student has met the requirements for the next module, but the 'next' button still skips the next module since it was created when the module was not available.

Sarah - there's certainly not any built-in functionality to do what you are asking. The option to disable the next button if the next activity is unavailable might be possible to implement (but it would need to be an option, as other sites might use availability settings to provide different students with different resources - so having the navigation stop just because the next activity is unavailable would be undesirable).

For the other part, making the next button detect that the next activity was not available, the only way I can think of working that would be to have each of the buttons call a special re-routing script that would take the current activity and then work out the next activity to go to at the point where the button was clicked - but that would have the problem that I wouldn't ever be able to remove the next / previous buttons when I didn't think there was a next / previous activity to go to.

Anyway, either of these will require extra development, something I'm can discuss if you have a budget for me to undertake during my day job, but which is unlikely to be done in my spare time.

I have been trying to install the navigator plugin in moodle 3.1, but when I tried to install this, the activity_modules and activity_results is missing in disk. And the plugin don't installed.

Check this error message:

The plugin "block_activity_results" is mistakenly installed in "$CFG->dirroot/blocks/navbuttons", The correct location is "$CFG->dirroot/blocks/activity_results"

Debug info:
Error code: detectedmisplacedplugin

Stack trace:
line 812 of /lib/upgradelib.php: plugin_misplaced_exception thrown
line 429 of /lib/upgradelib.php: call to upgrade_plugins_blocks()
line 1641 of /lib/upgradelib.php: call to upgrade_plugins()
line 677 of /admin/index.php: call to upgrade_noncore()

Hi Daniel - thanks for letting me know. I don't know what is going on, as I've been importing it from github as usual, so I don't know why it hasn't worked this time. I've re-uploaded it and double-checked that it has worked this time.

Hi Davo, I'm no expert on how the Moodle systems work but I notice that the folder in your archive is called davosmith-moodle-navbuttons-eb00d1e where I think it would be more normal for it to be called navbuttons. I hope this helps.

This is because the plugin has been categorised as 'other' instead of 'block' (due to the required small core change). The import process does not work properly due to this categorisation - there isn't anything I can do to fix this (other than to manually upload the zip file, instead of importing from github).