where should I start developing this plugin?

where should I start developing this plugin?

by Paul You -
Number of replies: 2

Hi, 

I'm new to moodle and php, but I have to develop a plugin for moodle as a part of a university project?

the plugin should enable the teacher (admin of the course) to create dependencies between questions, so that the points the student gets when answering the current question determines the next question he gets. 

should I start writing this as a question behaviour plugin or an activity module plugin ? 

Thanks in advance


Average of ratings: -
In reply to Paul You

Re: where should I start developing this plugin?

by Daniel Thies -
Picture of Core developers Picture of Plugin developers Picture of Testers

This type of behaviour is really different from the way the quiz regularly works. The quiz module initializes a set of questions at the start of the attempt, and it would be difficult to change that. A question behaviour plugin would not be sufficient. You would need to write an activity module the uses the question engine. There are a couple of existing ones that may give you some ideas: question practice and adaptive quiz. You should also look at the quiz developer docs at the top of this forum.

In reply to Daniel Thies

Re: where should I start developing this plugin?

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

Right. I am afraid to say that this would be an extremely difficult modifcation to make in the existing quiz module. There is a fairly fundamental assumption throughout the code that each question is independent.

This is a relevant forum thread: https://moodle.org/mod/forum/discuss.php?d=328970#p1323499. If what was talked about vaguly there ever got implemented, then the kind of thing you want to do might become possible. However, that is all hypothetical for now.

Until then, as Daniel says, you would need to make a new separate activity.