VPL Question
Maintained by
Astor Bizard
VPL Questions are questions that can fit within a Moodle quiz. They are intended to create small to medium coding exercises, based on the Virtual Programming Lab plugin.
They are designed to offer a simple interface for students, while keeping the power and versatility of Virtual Programming Labs.
Comments
Comments are no longer open for new posts. Existing comments remain available to read.
when we integrate a VPL question into the quiz module, the following error message occurs in an apparently random way: A required parameter (sesskey) was missing.
Later, the quiz becomes inaccessible to the student and the same error message is always displayed on the screen.
I report the message reported in the moodle task logs:
Execute scheduled task: Updating overdue quiz attempts (mod_quiz\task\update_overdue_attempts)
... started 15:54:14. Current memory use 4.7MB.
Looking for quiz overdue quiz attempts...
Error while processing attempt 68 at 31 quiz:
Un parametro obbligatorio (sesskey) è mancante
#0 /var/www/html/moodle/lib/moodlelib.php(566): print_error()
#1 /var/www/html/moodle/lib/sessionlib.php(73): required_param()
#2 /var/www/html/moodle/lib/sessionlib.php(84): confirm_sesskey()
#3 /var/www/html/moodle/question/type/vplquestion/question.php(97): require_sesskey()
#4 /var/www/html/moodle/question/behaviour/deferredfeedback/behaviour.php(109): qtype_vplquestion_question->grade_response()
#5 /var/www/html/moodle/question/behaviour/deferredfeedback/behaviour.php(57): qbehaviour_deferredfeedback->process_finish()
#6 /var/www/html/moodle/question/engine/questionattempt.php(1356): qbehaviour_deferredfeedback->process_action()
#7 /var/www/html/moodle/question/engine/questionattempt.php(1396): question_attempt->process_action()
#8 /var/www/html/moodle/question/engine/questionusage.php(859): question_attempt->finish()
#9 /var/www/html/moodle/mod/quiz/attemptlib.php(2171): question_usage_by_activity->finish_all_questions()
#10 /var/www/html/moodle/mod/quiz/attemptlib.php(2005): quiz_attempt->process_finish()
#11 /var/www/html/moodle/mod/quiz/cronlib.php(79): quiz_attempt->handle_if_time_expired()
#12 /var/www/html/moodle/mod/quiz/classes/task/update_overdue_attempts.php(61): mod_quiz_overdue_attempt_updater->update_overdue_attempts()
#13 /var/www/html/moodle/lib/cronlib.php(248): mod_quiz\task\update_overdue_attempts->execute()
#14 /var/www/html/moodle/lib/cronlib.php(120): cron_run_inner_scheduled_task()
#15 /var/www/html/moodle/lib/cronlib.php(73): cron_run_scheduled_tasks()
#16 /var/www/html/moodle/admin/cron.php(81): cron_run()
#17 {main}
Considered 0 attempts in 1 quizzes.
... used 18 dbqueries
... used 0.013264894485474 seconds
Scheduled task complete: Updating overdue quiz attempts (mod_quiz\task\update_overdue_attempts)
Kind regards,
Fabrizio
I am aware of that problem. However, I still have no clue about what happens and how to solve it.
I you somehow sort it out, please let me know. I will let you know if I find out on my side!
I'm sorry that I can't help you further with this problem. It has been there since the beginning of the development of this plugin :-'(
Best regards,
Astor
I have the same problem too!
Kind regards,
Fabrizio
I am using VPL for grading tests. Doing tests directly based on the VPL works perfekt - the automatic grading based on the evaluate.cases works as expected.
But when I try to grade the tests based on the Moodle Plugin VPL_question, I get the error: "An error occured during question grading (no grade obtained)."
Setting the debug level to 8 on the server shows me that the files have been uploaded and executed as expected, the output of the test result is written into the log entry also. But it seems that this result is not transferred to the moodle server correctly.
In addition to this, I get the same error when I activate the checkbox "Validate" inside the question activity, when I am trying to save the question.
I have followed the described procedure on the moodle plugin site and I have added the pre_vpl_run.sh script.
Can you help me in solving this problem?
Any help is apprechiated a lot!
Best regards,
Michael
Your Maximum number of files is too low on the VPL side.
As written in the documentation:
Edit settings > Submission restrictions: Set the Maximum number of files to a large enough number, as submissions will include execution files.
Best regards,
Astor
Today I was trying to make some tests on this new question type, I think will be very usefull for my students, but I'm unable to get it working correctrly.
When I go to test the Pre-check program I'm getting the Execution Error: Not saved: Maximum number of files exceeded.
What can I do?
Best Regards
Henrique
(sorry for the little troll, it's just that I replied to your email - maybe check your spam folder)
I think whatever breaks does so when you pick the template, but I am not sure why. I have tried a Java VPL too - same problem.
I have a screenshot that shows some javascript syntax errors, but I cannot paste here?
Can you please check that the names of your files do not contain any spaces or special characters?
And if not, please open your javascript console (F12 on most browsers) and provide a screenshot of its contents.
Looking forward to sort this out,
Astor
I have followed the instructions above to the letter. My VPLs are Python 3. The VPLs themselves work fine, but when I try to use them in a question, even once I have chosen the template vpl and saved, all the text areas such as Edit Template remain empty and do not show line numbers or other code editing features. In preview the run and check buttons do nothing and the console is not shown. If I enable debugging output I can see the following warning:
Warning: Invalid argument supplied for foreach() in /srv/www/cable.chapeltownacademy.com/html/vle/question/type/vplquestion/locallib.php on line 37
What is wrong please?
I wasn't aware of such a problem... I find it quite strange that a minor inconsistence like this can trigger a fatal error!
I will include a fix in the next released version.
Thank you for your help!
Best regards,
Astor
with some PHP versions, the plugin causes a fatal error in cron due to a method, that does not declare the return value like the parent class does. I published a fix:
https://github.com/center-for-learning-management/moodle-qtype_vplquestion/commit/695c35f1549b4b1d5e5fe63f2254c42af944b698
Would be great, if you could add that to the official repo.
Kind regards,
David
This is for sure the biggest flaw of the VPL Questions. I am aware of it, and finally came up with a fix - this is what the 1.3.0 version is all about.
You will now be able to clone questions, then simply edit them and change to a new VPL (especially a clone of the old VPL). You then will be prompted to merge contents, which should finalize a proper copy of the question and keep it functional.
Feel free to update to the newest version and to share any further feedback, it is really helpful!