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
69 sites
7 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

• 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?
• 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
• Tue, Jan 7, 2020, 12:07 AM
[moodle 3.8] Dear Camille, just experimenting this wonderful plugin and found that my group members cannot answer more than once to the quiz if defining grouping with the plugin. Even if quiz settings allows unlimited quiz attempts.
My example: 3 members in one group. Once one member submits one attempt to the quiz, no one within that group can answer again another attempt even though the quiz has unlimited attempts. If I change settings to "no grouping" than there can be multiple attempts but I fail to distribute the grade to all the other members...
Am I missing something??
• Wed, Apr 22, 2020, 4:02 AM
I propose this fix for use with 3.7. https://github.com/cborn/moodle_quiz_group
• Thu, Jul 16, 2020, 8:46 AM
Hi Carly:

Thanks for sharing your update for 3.7--do you know if by any chance your update might also work with 3.8, since 3.8 has Long Term Support?

Thank you Carly and Camille for this great plug-in! During remote learning, I coupled Group Quiz with the Group Choice plugin so students could pick a team mate to work with together, and it was fantastic!

Thank you for sharing your great work with the Moodle community!
• Thu, Jul 16, 2020, 8:50 AM

I think Group Quiz is only meant for 1 attempt since it is set to transfer the first attempt of a group member to each of the other group members in the Moodle gradebook--so you are correct, the Group Quiz only allows for 1 attempt.

HOWEVER: I usually have my students first work together in a team, and then once the due date passes, I unlock the quiz from Group mode back to the "standard" individual mode--then any other attempts override the Group attempt.

This fits perfectly with the Team Based Learning (TBL) principles and cycles where students benefit from working in teams, but also have the opportunity to individually remediate and practice any gaps in their understanding!

Either way, a fantastic plugin for encouraging teamwork and encouraging students to work effectively together since they are "in the race" together!
• Thu, Jul 16, 2020, 2:19 PM
Hi everyone sorry for the silence I was away from work for the last months.
My colleagues have prepare the update for moodle 3.8. I’ll post it here asap.
I’ll have a look at all the comments and questions in details next week when i’m properly back. Thanks everyone for your contributions.
Camille
• Tue, Jul 21, 2020, 10:30 AM
Thanks Camille for the update! Wanted to let you know I was about to manually install Group Quiz on Moodle 3.8--haven't tested it yet with students though.

The only bug is the occasional "Error writing to database" message as reported above. Let us know if there is anything you need us to test or we can do to help!