Discussions started by Tim Hunt

Moodle in English -> Quiz -> Warning for quiz developers

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

If you do development relating to the quiz, then you should probably look at MDL-33071, since what I am proposing to do there will probably break any custom code you have written. (Although in terms of long-term maintainability of the quiz code, and performance, it is a good thing to do.)

Basically, this is your opportunity to agree or disagree with this proposed change before I submit it for integration. Please comment in the tracker issue.

Average of ratings: -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I have just put out a new version of this plugin.

Notable new features include:

  • Better handling of dates. If a column has a name ending in 'date' and contains integer values, then they
    will be assumed to be unix timestamps, and formatted as dates. If a query
    placeholder has a name ending in 'date', then users will be give a date-time
    selector to input the value of that parameter. Thanks to Mahmoud Kassaei of the Open University, UK. Laura McLeod (OU) also deserves thanks for incredibly patient testing, and finding lots of things that Mahmoud and I missed during development.
  • Ability to change the limit on the number of rows returned. We still won't let you increase beyond hard limit of REPORT_CUSTOMSQL_MAX_RECORDS = 5000 (unless you edit the code) but you can now make a query to return the top 10 of something. Thanks to Troy Williams or The University of Waikato, NZ.
  • If the report you are trying to create returns an error, then the full database error is displayed on the editing form. Thanks to Tim Hunt, the Open University, UK.

This should work with all versions of Moodle 2.2 -> 2.5. As ever, let us know if you encounter any problems.

Average of ratings: -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I have mentioned in several recent threads that the OU would like to make several changes (we hope improvements!) to the quiz edit page, and the structure of quizzes. Here are the changes we are proposing

1. Breaking up a quiz into section

The sole purpose of this is to let you put section headings into the navigation, to break up large quizzes. You can see what we mean by going to https://students.open.ac.uk/openmark/s205.ayrf/ and clicking the Begin link. The quiz is in 5 sections.

I know some people would like to be able to compute a separate score for each subsection. I'm sorry but we are not going to implement that at this time. However, these changes should make it easier to implement that later.

2. Question dependencies

Suppose you have a sequence of questions that guide a student through a calculation one step at a time. Then, the text of question 2 might inevitably give away the answer to question 1. Therefore, we want the ability to say, you can't see question 2 until you have answered question 1. (This idea works best with a behaviour like Immediate feedback, so a student can submit one question and get the feedabck before starting the next question.)

3. Sequences of question variants

The idea here is that you might have a sequence of related questions, all about the same thing. For example:

i. Description containing a picture
Q1 What is in the name of the animal in the picture?
Q2 What colour is the animal?
Q3 Which continent is the usual home for the animal?
Q4 Complete the following sentence to describe the picture.

and suppose you have several different pictures, and you want each student to get a different randomly selected picture, and then the corresponding follow-up questions. (In this example, the question text for Q2-5 is identical, but of course the answer matching rules are different, so there are different versions of those questions for each picture.)

4. Repeating a question in-situ

This is aimed at formative quizzes, where we want to encourage students to keep trying until they can get 100%.

At the moment, you can let students have repeated attempts at the whole quiz, but then they have to re-attempt all the questions, and the can only do that after they have finished all the questions in their first attempt.

Of course, we have the "Each attempt builds on last" option, but if you turn that on, then the second attempt will use exacty the same questions as the first attempt. At the OU, with practice quizzes, we provide several randomly selected versions of each question, to give students more practice.

So, what we want is that when a student has finished a question in an attempt, then they see a Re-start question button (probably in the grey information area to the left of the question). If they click that button, then they can try the question again within the same attempt, and if it is a random question, they will see a different variant. (Again, this is an idea that works best with a behaviour like Immediate feedback or Intereactive)

[Note, this sounds like a really crazy requirement. At least, it has to me. However, we have had this feature in our OpenMark system for a long time (as an option) and students really like it. You can see it here: https://students.open.ac.uk/openmark/s205.ayrf/. Answer question 1 and get it wrong. Then click next. Then click back to question 1. Note you are now looking at a different variant of the same question, and you can have another go.]

5. Modernising the quiz edit page

The UI here is quite clunky. E.g. having to click up and down arrows to move questions one space at a time. Since this page was made, there have been major improvements to the course edit page (to give just one example). We should take the best ideas from there to make the quiz editing easier.

Also, we think we can eliminate the difference between the Editing quiz and Order and paging tab in the UI, and make a single screen that does everything that both of those do, while at the same time being simpler to look at. (This will require more use of JavaScript, but our facilities for doing JavaScript in Moodle have been getting better.)

I guess you don't need to believe we can do that until we have shown you the UI mock-ups wink (I will believe we can do it once I have drawn the UI mock-ups big grin)

Full specification

Note that all the above features will be optional. You can turn them on when and where you want them.

The full specification (which was written for an internal audience by my colleague Phil Butcher, so excuse the OU-specific stuff) is here:

https://docs.google.com/file/d/0B_W3H1TnOxK-WHpzdk1SYktiT0k/edit?usp=sharing

I think that is a good, clear, summary of the goals of what we are trying to achieve, in more detail than I have given above. It contains some suggested user-interface mock-ups. Some of which I like, and some of while I want to try to improve on.

There is not yet anything written about how this will be implemented. I need to write that and I am unlikely to have time soon. I particularly need to think about, and write down, how we are going to change the database structure to store all the necessary information.

Comments please!

I hope you agree with us that these are a useful set of additions to the quiz.

Past experence shows that when we post a spec in the forum, normally someone can point out something stupid we should have thought of, or some way to improve on what we are proposing. So, please do not hold back in telling us what you think. smile Thank you for considering this.

Average of ratings: Useful (10)
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

http://docs.moodle.org/dev/Automatic_Class_Loading_Proposal

This is something that HQ have started proposing. It is a good idea, and has already been discussed before several times. E.g. https://tracker.moodle.org/browse/MDLSITE-2261?focusedCommentId=222150&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-222150

There wasn't a thread yet, so I am creating this one, rather than mising this up with my comments on the Events spec.

I like the proposal apart from the bit

look for file bbbdir/classes/ccc/ddd/eee/fff.php

That naming convention is a pain in the bum. (We are forced to use it for YUI modules). Please can we use

look for file bbbdir/classes/ccc_ddd_eee_fff.php instead.

Average of ratings: -