Best way to simplify / customize moodle UX

Best way to simplify / customize moodle UX

by Thomas Debay -
Number of replies: 9

Hello,

I'm trying to customize the way my users will interact with my moodle setup. My goal is to remove everything that isn't necessary to my users from the interface. I can easily hide blocks using CSS, but I'm wondering how to remove navigation steps. For instance, I'd like the test questions to display immediately after the user opens the test - hence removing the first page and the "take the test" button.

I would appreciate any help or feedback regarding this sort of modifications. Can I do everything within my theme? Or should I "fork" the quiz module and customize it to fit my needs?

I'm not strictly speaking a developer, although I can find my way around PHP files.

Thank you for your advice!

Average of ratings: -
In reply to Thomas Debay

Re: Best way to simplify / customize moodle UX

by Luis de Vasconcelos -

The Quiz module is huge so creating a fork of it will mean a lot of maintenance work for you in the future. Do you really want that?

If you have a problem with the current design why not submit improvements via the Moodle Tracker so that Tim and the other Quiz maintainers can look at your proposals and implement them?

The Moodle codebase is huge and very complex, so just being able to "find my way around PHP files" won't be enough. Can you code in PHP? Do you understand object-orientated PHP? And all the other related technologies like sql, javascript and css, ajax...?

The "take the test button" is actually a good thing. For timed quizzes it makes sure the quiz timer only starts when the student is ready to start the quiz.

In reply to Luis de Vasconcelos

Re: Best way to simplify / customize moodle UX

by Thomas Debay -

Luis, thank you for your answer. I agree with you and I would also prefer not forking the module to avoid all the maintenance that this would require.

However, if I understood correctly, the quiz module doesn't use templates or renderers that I could override from the theme. So I have to apply changes directly to the mod files themselves (but perhaps patching is a better way than forking).

I also agree that the "take the quiz" button isn't a bad thing as such, but my team and I are trying to reduce the number of clicks needed by the user to complete a Moodle activity. For this reason, I would love to have an option to print the quiz questions immediately after the Quiz module is opened, at least for some of the (non-graded) quizes. To be honest, I would prefer to use the lesson module but the questions types I need aren't available in it.

So I managed to modify index.php to redirect all users without editing priviledges (ie. students) directly to view.php. However, I realize that this isn't a good option and I hope to find a better way... Any suggestions would be appreciated.

In reply to Thomas Debay

Re: Best way to simplify / customize moodle UX

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

"the quiz module doesn't use templates or renderers"

Why would you think that? https://github.com/moodle/moodle/blob/master/mod/quiz/renderer.php

In reply to Tim Hunt

Re: Best way to simplify / customize moodle UX

by Thomas Debay -

Oops, sorry! This is interesting; I'll try to understand how it all works and make my changes from the renderer. I was confused because I knew the glossary module doesn't use a renderer.

However, if I understood renderers correctly, I won't be able to change the "take the quiz" button using the renderer? For this kind of changes I would still have to edit the php code directly?

Thank you Tim!

In reply to Thomas Debay

Re: Best way to simplify / customize moodle UX

by Luis de Vasconcelos -

How do you want ot change the "take the quiz" button? Do you want to change the text on the button? You do that by changing the language string.

In reply to Luis de Vasconcelos

Re: Best way to simplify / customize moodle UX

by Thomas Debay -

No I want to remove it, to jump directly to the questions page withouth having to click on the button.

In reply to Thomas Debay

Re: Best way to simplify / customize moodle UX

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

That sort of change probably can't be done with a renderer. However, what you can do is use the renderer to add some JavaScript to the page, which clicks the button as soon as the page has loaded. A bit ugly, but it will work.

In reply to Thomas Debay

Re: Best way to simplify / customize moodle UX

by Richard Jones -
Picture of Plugin developers Picture of Testers

You may find the book in this course useful: https://open-learning.co.nz/course/view.php?id=9.  You can log in as a guest to access it.

HTH


Average of ratings: Useful (1)
In reply to Richard Jones

Re: Best way to simplify / customize moodle UX

by Thomas Debay -

Thank you Richard, this is interesting material smile