Delayed attempts in quizzes

Quiz access rules ::: quizaccess_delayed
Maintained by Juan Pablo de Castro
Control the initial access to a Quiz with a randomized delay to reduce the load at the start and end times. By lightly spreading the access of the students the server load decreases dramatically and the overall capacity of your system increases by orders of magnitude.
Latest release:
329 sites
167 downloads
19 fans
Current versions available: 1

Quiz Access Rule quizaccess_delayed

There is a tutorial page at https://juacas.github.io/quizaccess_delayed/index.html

During the COVID19 epidemic, we had to radically change the way in which the evaluation was carried out. Suddenly, the infrastructure designed for face-to-face teaching had to absorb the burden of a multitude of synchronous questionnaires. This has caused saturation in all Moodle systems.
A measure to mitigate the problem is to control the initial access to a Quiz with a randomized delay to reduce the load at the start and end times. 

It is a module for Moodle platform that makes the “Attempt quiz now” button auto-enable at quiz open timing plus a randomized delay, without requiring to refresh the page.
This is done by a client side countdown timer (javascript) which is initiated when the page is rendered in the browser.
If you enable quiz open time in quiz settings, quiz students will no longer have to manually refresh the
page in order to get “Attempt Quiz Now” button at the quiz open timing.
A random delay up to 10 minutes is assigned to each student for spreading the entry times.


Background and Need

  1. In a quiz with strict time constraints students tend to refresh the page too often, just to make sure if the attempt is available yet.
  2. This unnecessarily increases the server load, and is a problem with large number of students.
  3. Synchronized start of many attempts places a heavy short-time load in the Quiz core engine. By phasing in access, the impact is minimized.
  4. Some questionnaire configurations generate particularly high server loads.
  5. Some quiz schedules generate problems for students.

Solution

The “Activate Delayed Attempt” plugin makes the “Attempt quiz now” button auto-enable at quiz open timing plus a randomized delay, without requiring to refresh the page. This is done by a client side countdown timer (javascript) which is initiated when the page is rendered in the browser.


The plugin is implemented as an access-rule plugin overriding the default activity page render.
The page, displays the time remaining to start the quiz using an animated countdown. A pseudo-random delay is assigned to each student depending on the number of students and a set of site-wide parameters as fixed rate of entry, maximum allowable delay. An optional message for the students can be defined for all quizzes in the platform. An optional check and advice message for teachers can be defined for all quizzes in the platform.


How the delay is calculated

  • The plugin acts only until the instant of the start of the quiz plus the number of minutes of maximum delay. After that it doesn't work anymore because the critical moment of the start is supposed to be over.
  • The maximum delay is calculated as follows:
    • Number of students divided by the entry rate specified by the administrator. E.g. with 25 students/minute, if the course has 200 students, the maximum delay will be 8 minutes.
    • Maximum of 10% of the test duration. We have considered that it is not logical to wait 4 minutes for a 15-minute exam. E.g. 15 minute exam => maximum wait of 1.5 minutes.
    • Maximum time limit defined by the administrator. This is to put a reasonable limit in the case of large groups at the cost of suffering a higher entry fee. E.g. maximum 4 minutes.
    • At least 1 minute. This is to ensure that there is always gradual access. With 1 minute, students do not notice the delay because it is in the range of accuracy of the usual clock.
  • With all these limitations, the final entry rate is the one needed to meet all specifications. In this example it would be 200 students/1.5 minutes = 133 students/minute (about 2 per second). If we want to spit out the input rate we will have to give up the absolute limit or the percentage of the completion time. In the UVa we have decided that a long delay is not functionally admissible in the case of short exams, because it would make some students almost finish and others would still be starting.

How a quiz is marked as "resource-intensive" or "problematic"

In our experience, a mass quiz is "resource-intensive" aka "problematic" when it meets these characteristics:

  • It's paged so that each page will last less than 10 minutes.
  • The time allotted is too tight.
  • The entry rate of students is too high.

The time alloted is considered too tight if

  • The total time allotted is less than:
    • the completion time plus the gradual entry delay plus 10% of the completion time. (An opening of the activity of less than this time does not allow to face the small incidences of any test.)
    • not excess a 20% of the execution time.

Releases

  • v1.2.1 Place advices for the teacher for quizzes that are resource intensives of potentially problematic.
  • v1.2.0 Rule can be enabled/disabled in each instance.
  • v1.1.1b Management controls in system settings.
  • v1.1.1 Animated countdown.
  • v1.1.0 Textual countdowmn.

Installation

  1. Unzip it into /mod/quiz/accessrule/delayed
  2. Log in into Moodle
  3. A notification will appear stating “Plugins requiring attention”.
  4. Complete the installation by clicking on “Upgrade Moodle database now”,click on continue after the success notification appears on the page.

Usage

If you enable quiz open time in quiz settings, quiz students will no longer have to manually refresh the page in order to get “Attempt Quiz Now” button at the quiz open timing. A random delay up to 10 minutes is assigned to each student for spreading the entry times.

Acknowledgements

This plugin is based on the previous work in the quizaccess_activateattempt plugin. Customization by quiz instance code was contributed by Enrique Castro @ULPGC.

This plugin was developed and is being successfully used at the University of Valladolid, Spain.

Potential privacy issues

None.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3

Contributors

Juan Pablo de Castro (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Tue, Jul 6, 2021, 7:49 PM
    Thanks for the response, Juan.
    Some students are also getting this message when they click on the 'Attempt Quiz' button after the timer count is completed
    "This quiz requires a browser that supports JavaScript. If you have a Javascript blocker you will need to disable it."
  • Tue, Jul 6, 2021, 8:52 PM
    That message comes from another plugin or from the very Moodle's core.
    IMHO, currently Javascript is a must and provides so many advantages (periodic saves, auto-submit) that should be enabled in every browser during quizes.
  • Thu, Sep 16, 2021, 12:47 AM
    does this plugin also work on version 3.11?
    I can not see the timer settings it in single course
  • Thu, Sep 16, 2021, 12:59 AM
    Hi, what do you mean by "it in single course"?
    What do you see if you go to https://YOUR MOODLE/admin/settings.php?section=modsettingsquizcatdelayed URL?
  • Thu, Sep 30, 2021, 9:29 PM
    Hi, sorry for the late answer but moodle.org banned my account for few days.
    I see the setting page. In the course page, in quiz settings i see "Gradual entry to the quiz" and "Sets a random access delay" selected, but if i try to enter the quiz, i see enter button active and not see the countdown
  • Fri, Oct 1, 2021, 2:46 AM
    Have you setup a start date (in the future) in that quiz?
    If yes, is there any error message in the browser's console?
  • Mon, Oct 4, 2021, 8:50 PM
    Hi
    no normally I only set access to the quiz after completing the previous scorm module.
  • Mon, Oct 4, 2021, 9:07 PM
    The timer countdown is only shown and done if there is a starting time scheduled for the quiz. Otherwise it is useless.
  • Mon, Oct 4, 2021, 9:14 PM
    Well.
    So, despite being a good plugin, it's not for me. I need to delay access to the quiz for a number of hours after completing the previous scorm module
  • Ricardo Caiado
    Mon, Oct 4, 2021, 10:45 PM
    Giovanni,

    Did you try this?

    https://moodle.org/plugins/availability_relativedate

    Ricardo
  • Mon, Oct 4, 2021, 11:12 PM
    Hi Ricardo, Thank you for your suggestion. But even this plugin is not for me. I need to set a particular criterion that allows the user to access the quiz, 12 to 24 hours after completing the previous scorm module.
    The plugin you suggest allows you to set a limit based on course start date or course end date and I don't set this type of deadline on courses. The courses are always accessible
  • Ricardo Caiado
    Mon, Oct 4, 2021, 11:24 PM
    Giovanni,

    Did you try the Foruns?

    Ricardo
  • Mon, Oct 4, 2021, 11:39 PM
    Ricardo,
    You mean Community Forums?
  • Ricardo Caiado
    Mon, Oct 4, 2021, 11:48 PM
    Giovanni,

    Yes.

    Ricardo
  • Mon, Oct 4, 2021, 11:52 PM
    Ricardo,
    I want to try some existing tools first, I left the request to a forum as a last option. It is not a very urgent thing so before creating a discussion I would like to be able to find something independently
1 2
Please login to post comments