Quiz access rules: Delayed attempts in quizzes

quizaccess_delayed
Maintained by Picture of Juan Pablo de CastroJuan 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.
83 sites
203 downloads
8 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.


Potential privacy issues

None.

Screenshots

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

Contributors

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

Comments RSS

Show comments
  • Picture of Plugins bot
    Tue, May 26, 2020, 10:02 PM
    Approval issue created: CONTRIB-8102
  • Picture of egyanjyoti OSOU
    Fri, Sep 4, 2020, 10:34 AM
    Nice Plugins. But one issue that i am finding is that the start Attempts option is showing 3 time. One by the plugin and twice by moodle. Can we minimize it???
  • Picture of Juan Pablo de Castro
    Fri, Sep 4, 2020, 3:54 PM
    Do you mean the text "This quiz will not be available until [....]"? The opening and closing dates are printed out by Moodle and should not be removed. Although one can hide it using javascript, I do not recommend that because the information shown is related to the countdown but not the same. Think of people visiting the page several days before the quiz is to be opened: then, the countdown gives no much useful information but the date is ok.

    If do you refer to other effect, please fill it in the Bug Tracker (https://github.com/juacas/quizaccess_delayed/issues) section of the plugin and I'll take a look at it.
Please login to post comments