Quiz reports: Group quiz

quiz_group
Maintained by Camille Tardy
Add Group notion to Quiz. Only one member of a group can do the quiz and the grade is then dispatched to all the group's members
28 sites
6 fans
Current versions available: 1

Group Quiz

Sub-plugin of Moodle Quiz to enable the group notion for the quiz.
Must be install under .../mod/quiz/report/group.
Available in French and English.

How it works

Install

This plugin is a Quiz Report plugin type.

It must be installed under .../mod/quiz/report/group.

Set up and usage

The plugin creates a menu entry under Quiz > Report > Group quiz.

The plugin is available in every quiz and is set up from this menu.

By default, the group notion is not activated in the quiz as the grouping selected is "no grouping".

Students are grouped using the course grouping and group tools in the course. To activate the group quiz, the teacher must select a grouping when creating the quiz to define which group to use for the group quiz. If a grouping is selected, only one student per group can fill up the quiz.

If the "no grouping" choice is selected, the quiz behaves normally without taking the groups into account.

Copy the grades to the group's members
Once the students are done answering, the teacher can copy the grade registered for each participant to the rest of their respective group members in the Gradebook.

The grades copy can be done at any time.

So every time a teacher edit an attempt in the result view of the quiz, or a student is moved from a group to another, the copy will take into account the changes and overwrite the previous grade.

Notes
• If a teacher deletes an attempt, the Gradebook is not cleared of the copied grades. It must be done manually by the teacher.
• If a student is in more than one group in the same grouping, the system will only consider his first affiliation.
• Do not change the grouping if some attempts exist for a given quiz.

Privacy

Regarding personal data handling, our plugin stores in its DB Table the userID with the corresponding quiz_attemptID for the Group representative.

The Privacy API will be handled in a future release.

TODO in the next update
• Instantiate the Backup / Restore
• Do not allow grouping changing if an attempt already exist in the DB.

Contributors

• Thu, Mar 15, 2018, 11:30 PM
Approval issue created: CONTRIB-7218
• Thu, Jul 26, 2018, 9:26 AM
This looks like an amazing plugin with a lot of potential for Team Based learning, and for instructors wishing to harness the Moodle quiz engine to incorporate some group activities with mastery learning principles since the Moodle quiz engine is so flexible....thanks for sharing your great work with the Moodle community!
• Thu, Jul 26, 2018, 9:33 AM
...wanted to report that on your Github, it looks like your plugin can work on versions 3.1 up to 3.5, but here it only has the 3.1 and 3.4 version available. I wanted to let you know I was able to install your plugin successfully on a 3.2 and 3.3 system, so eventually when you have time it might be nice to update the plugin so that it can officially be installed on all systems from 3.1 - 3.5 to encourage more users who are not comfortable with manually installing the plugin...I can see this having a TON of potential and eventually should be adopted into the Moodle core....

Thanks again for sharing your great work--I already know a few teachers who will be excited about trying this out!
• Fri, Aug 3, 2018, 6:23 PM
@Joseph Liaw, Thanks for your messages.
I've updated the versions compatibility for the plugin.
We currently have it running on 3.5 as well.

Best
• Wed, Oct 24, 2018, 7:27 PM
Thanks for sharing! I want to find new quiz for The Impossible Quiz 3 games on https://theimpossiblegames.org/ .This test is not based on any scientific study whatsoever. It is intended for fun only! You can share it with me?
• Wed, Feb 13, 2019, 1:27 AM
Hi Camille:

Occasionally I get an error message when I hit "Apply Grades" to transfer the group grades after a quiz has closed with the message "Error writing to the database".

Then I just manually go back and override the gradebook by hand, but that defeats the point of your fantastic plugin.

Any ideas on how to troubleshoot this issue?

Thank you again for sharing your great work with the Moodle community--already my students have given me positive feedback and the team based learning dynamics has been a lot of fun to see it in action in the classroom!
• Mon, Feb 18, 2019, 9:04 PM
Hi Liam,
Thanks for the feedback !

We haven't encountered this issue in our instance.
Could you please describe to me in more details when the error is happening ? What do you do step by step when it happens?

Could you share those information with me. This information will be very helpful for me to reproduce the problem in order to fix it.

• Tue, Feb 19, 2019, 10:30 AM
Hi Camille:

I turned on debugging and these are the error messages that show up when I hit "Apply Grades" to transfer the group grades between the groups within the grouping:

Warning: htmlspecialchars() expects parameter 1 to be string, array given in /var/www/html/x1/lib/pear/HTML/Common.php on line 171

Group quiz
Only one student per group answers the quiz questions. The grade is copied to all the members of the group using the second form below.
If you need to change any grade in the test, you must use the Responses view and not the Gradebook. Then you can apply again the group grade to all the members of the group.

Careful:

The group quiz uses a specific grouping. Make sure to give the appropriate access rule in the 'Restrict access' section of the quiz main settings page.
If a student is in more than one groupe in the same grouping, the system will only consider his first affiliation.
Do not change the grouping if attempts exist for this quiz!

Choose the grouping for the quiz
Grouping for student groups

Apply the group grades to all the group members in the Gradebook. You can repeat this operation every time you edit a grade.

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 216

Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 228

Notice: Undefined property: stdClass::$grade in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 260 Notice: Trying to get property of non-object in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 228 Notice: Undefined property: stdClass::$grade in /var/www/html/x1/mod/quiz/report/group/locallib.php on line 245
Error writing to database

×Debug info: Column 'grade' cannot be null
[array (
0 => NULL,
1 => '17009',
)]
Error code: dmlwriteexception
×Stack trace:
line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
line 1557 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
line 1589 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->update_record_raw()
line 246 of /mod/quiz/report/group/locallib.php: call to mysqli_native_moodle_database->update_record()
line 161 of /mod/quiz/report/group/report.php: call to dispatch_grade()
line 97 of /mod/quiz/report.php: call to quiz_group_report->display()
• Tue, Feb 19, 2019, 10:30 AM
Any insights or tips on what settings I should use would be appreciated--thanks again for sharing your great work with the Moodle community!
• Wed, Feb 20, 2019, 10:32 PM
Thanks Joseph for the details.

Does this happen for a given Quiz or for any off your quizzes?
• Wed, Apr 24, 2019, 6:33 PM
Thanks sir for this informative details...
• Wed, Apr 24, 2019, 9:20 PM
Thanks for the plugin.
It will be compatible with 3.6?
• Sun, Apr 28, 2019, 4:28 PM
Thanks for sharing this valuable plugin information it really helpfull for us..
• Fri, May 10, 2019, 6:49 PM
Any help with this? TIA
First image my settings and second image with error after apply grades
https://imgur.com/a/Q2oNqI5