wiris / moodle-qtype_wq Goto Github PK
View Code? Open in Web Editor NEWWiris Quizzes Commons - question type
Wiris Quizzes Commons - question type
Trying to install "Wiris Quizzes for Moodle" version 2017051000 on moodle 3.3 but get
Fatal error: Cannot redeclare decode_html_entities() (previously declared in /home/.../www/question/type/wq/lib.php:19) in /home/.../www/question/type/wq/db/upgrade.php on line 105
The following warning appears after upgrading to PHP 7.4
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\inetpub\wwwroot\moodle\question\type\wq\quizzes\lib\php\Boot.class.php on line 221
All accesses to array elements and string offsets now show a deprecation message. They will stop working on php 8.0
Related issue from Moodle core: https://tracker.moodle.org/browse/MDL-66319
Hello,
We are reviewing the use of PHP 7.4.
When is it expected for this plugin to work with PHP 7.4?
Deprecated: Array and string offset access syntax with curly braces is deprecated in /vagrant/www/moodle/question/type/wq/quizzes/lib/php/Boot.class.php on line 221
Call Stack:
0.0003 409008 1. {main}() /vagrant/www/moodle/admin/tool/phpunit/cli/util.php:0
2.1006 20483808 2. phpunit_util::install_site() /vagrant/www/moodle/admin/tool/phpunit/cli/util.php:151
2.1028 20484240 3. install_cli_database() /vagrant/www/moodle/lib/phpunit/classes/util.php:466
633.8123 101067608 4. admin_apply_default_settings() /vagrant/www/moodle/lib/installlib.php:512
633.8392 101067512 5. admin_get_root() /vagrant/www/moodle/lib/adminlib.php:8734
638.4309 105865152 6. require('/vagrant/www/moodle/admin/settings/plugins.php') /vagrant/www/moodle/lib/adminlib.php:8708
648.0949 142559936 7. core\plugininfo\block->load_settings() /vagrant/www/moodle/admin/settings/plugins.php:81
648.0972 142564312 8. include('/vagrant/www/moodle/blocks/sharing_cart/settings.php') /vagrant/www/moodle/lib/classes/plugininfo/block.php:99
648.2034 142625088 9. admin_setting_configmulticheckboxqtypes->__construct() /vagrant/www/moodle/blocks/sharing_cart/settings.php:43
648.2034 142625088 10. question_bank::get_all_qtypes() /vagrant/www/moodle/blocks/sharing_cart/lib/settingslib.php:162
648.2419 143881392 11. question_bank::get_qtype() /vagrant/www/moodle/question/engine/bank.php:154
648.2432 143905336 12. include_once('/vagrant/www/moodle/question/type/essaywiris/questiontype.php') /vagrant/www/moodle/question/engine/bank.php:100
648.2446 143952824 13. require_once('/vagrant/www/moodle/question/type/wq/questiontype.php') /vagrant/www/moodle/question/type/essaywiris/questiontype.php:19
648.2456 143953960 14. require_once('/vagrant/www/moodle/question/type/wq/config.php') /vagrant/www/moodle/question/type/wq/questiontype.php:19
648.2470 143957600 15. require_once('/vagrant/www/moodle/question/type/wq/quizzes/quizzes.php') /vagrant/www/moodle/question/type/wq/config.php:19
648.2495 143978912 16. com_wiris_system_CallWrapper->init() /vagrant/www/moodle/question/type/wq/quizzes/quizzes.php:9
provider_testcase::test_userdata_provider_implements_userlist with data set "qtype_wq" ('qtype_wq', 'qtype_wq\privacy\provider')
Failed asserting that false is true.
To re-run:
vendor/bin/phpunit "provider_testcase" privacy/tests/provider_test.php
Cheers
Hi,
When I was translating the Question types: WIRIS QUIZZES Commons question type plugin in AMOS, I noticed a strange-looking English language string:
wqsummary | qtype_wq
This adds a generic WIRIS question. Only for test purpose. It will be hide from here
I wonder if it should be 'hidden' insted of 'hide'
Thanks in advance for your help.
We are receiving reports about quizzes with around 100 students having problems with wiris questions.
We have raised the max_connections parameter in configuration.ini to 50 from the original 20 (on each of our 3 load balanced front ends) but will have to monitor closely the resource consumption as the waiting processes also reserve database connections and possibly other resources.
But we think there might be some additional underlying problems with the connection queueing/pooling mechanism:
I'm attaching screenshots from a couple users. Our installation is Moodle 3.9 using PHP 7.3.11
'object' class has been deprecated, please use stdClass instead.
line 71 of /lib/setuplib.php: call to debugging()
line 105 of /question/type/wq/step.php: call to object->__construct()
line 193 of /question/type/shortanswerwiris/question.php: call to qtype_wirisstep->set_var()
line 67 of /question/type/shortanswerwiris/question.php: call to qtype_shortanswerwiris_question->get_matching_answer()
line 109 of /question/behaviour/deferredfeedback/behaviour.php: call to qtype_shortanswerwiris_question->grade_response()
line 57 of /question/behaviour/deferredfeedback/behaviour.php: call to qbehaviour_deferredfeedback->process_finish()
line 1233 of /question/engine/questionattempt.php: call to qbehaviour_deferredfeedback->process_action()
line 1271 of /question/engine/questionattempt.php: call to question_attempt->process_action()
line 839 of /question/engine/questionusage.php: call to question_attempt->finish()
line 167 of /question/preview.php: call to question_usage_by_activity->finish_all_questions()
Replacing the $gc = new Object();
with $gc = new stdClass();
seems to fix the issue for me.
Hi
The follow error appears if a student finishs his quiz. We use Moodle 3.10 with PHP 7.4.28.
out of nothing. it didn't work anymore. please help me.
uncaught exception: Call to a member function release() on bool
in file: /home/stromna1/public_html/lernplattform/question/type/wq/classes/moodlelockprovider.class.php line 56
#0 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/SharedVariables.class.php(22): moodlelockprovider->getLock('wiris_maxconnec...')
#1 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/MaxConnectionsHttpImpl.class.php(19): com_wiris_quizzes_impl_SharedVariables->lockVariable('wiris_maxconnec...')
#2 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/MaxConnectionsHttpImpl.class.php(84): com_wiris_quizzes_impl_MaxConnectionsHttpImpl->getConnectionSlot()
#3 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/QuizzesServiceImpl.class.php(43): com_wiris_quizzes_impl_MaxConnectionsHttpImpl->request(true)
#4 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/QuizzesServiceImpl.class.php(54): com_wiris_quizzes_impl_QuizzesServiceImpl->callService(Object(com_wiris_quizzes_impl_MultipleQuestionRequest), false, Object(com_wiris_quizzes_impl_QuizzesServiceSyncListener), false)
#5 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/QuizzesServiceImpl.class.php(58): com_wiris_quizzes_impl_QuizzesServiceImpl->executeMultipleImpl(Object(com_wiris_quizzes_impl_MultipleQuestionRequest), Object(com_wiris_quizzes_impl_QuizzesServiceSyncListener), false)
#6 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/QuizzesServiceImpl.class.php(84): com_wiris_quizzes_impl_QuizzesServiceImpl->executeMultiple(Object(com_wiris_quizzes_impl_MultipleQuestionRequest))
#7 /home/stromna1/public_html/lernplattform/question/type/wq/quizzes/lib/com/wiris/quizzes/wrap/QuizzesServiceWrap.class.php(30): com_wiris_quizzes_impl_QuizzesServiceImpl->execute(Object(com_wiris_quizzes_impl_QuestionRequestImpl))
#8 /home/stromna1/public_html/lernplattform/question/type/wq/question.php(351): com_wiris_quizzes_wrap_QuizzesServiceWrap->execute(Object(com_wiris_quizzes_impl_QuestionRequestImpl))
#9 /home/stromna1/public_html/lernplattform/question/type/shortanswerwiris/question.php(188): qtype_wq_question->call_wiris_service(Object(com_wiris_quizzes_wrap_QuestionRequestWrap))
#10 /home/stromna1/public_html/lernplattform/question/type/shortanswerwiris/question.php(81): qtype_shortanswerwiris_question->get_matching_answer(Array)
#11 /home/stromna1/public_html/lernplattform/question/behaviour/immediatefeedback/behaviour.php(131): qtype_shortanswerwiris_question->grade_response(Array)
#12 /home/stromna1/public_html/lernplattform/question/behaviour/immediatefeedback/behaviour.php(85): qbehaviour_immediatefeedback->process_finish(Object(question_attempt_pending_step))
#13 /home/stromna1/public_html/lernplattform/question/engine/questionattempt.php(1356): qbehaviour_immediatefeedback->process_action(Object(question_attempt_pending_step))
#14 /home/stromna1/public_html/lernplattform/question/engine/questionattempt.php(1396): question_attempt->process_action(Array, 1646921576, NULL)
#15 /home/stromna1/public_html/lernplattform/question/engine/questionusage.php(859): question_attempt->finish(1646921576)
#16 /home/stromna1/public_html/lernplattform/mod/quiz/attemptlib.php(2171): question_usage_by_activity->finish_all_questions(1646921576)
#17 /home/stromna1/public_html/lernplattform/mod/quiz/attemptlib.php(2443): quiz_attempt->process_finish(1646921576, true)
#18 /home/stromna1/public_html/lernplattform/mod/quiz/processattempt.php(89): quiz_attempt->process_attempt(1646921576, 1, 0, 0)
#19 {main}
We are unable to regrade wiris quizzes.
This is the initial error and stack trace:
Sorry! The system can not generate one of the questions of the quiz.
Maybe there is a temporary connection problem right now.
Maybe the question algorithm has a bug, and fails sometimes.
Maybe it will fail always.
Don't panic...
You can retry the quiz, without penalty, just clicking Continue.
You can also tell the Teachers that there is an issue with the question titled: 'Normal distribution 1'
More information about this error
×Debug info:
Error code: wirisquestionincorrect
×Stack trace:
line 328 of /question/type/wq/question.php: moodle_exception thrown
line 169 of /question/type/multianswerwiris/question.php: call to qtype_wq_question->call_wiris_service()
line 216 of /question/type/multianswerwiris/question.php: call to qtype_multianswerwiris_question->set_shortanswer_matching_answers()
line 151 of /question/behaviour/adaptive/behaviour.php: call to qtype_multianswerwiris_question->grade_response()
line 95 of /question/behaviour/adaptive/behaviour.php: call to qbehaviour_adaptive->process_submit()
line 1233 of /question/engine/questionattempt.php: call to qbehaviour_adaptive->process_action()
line 1307 of /question/engine/questionattempt.php: call to question_attempt->process_action()
line 876 of /question/engine/questionusage.php: call to question_attempt->regrade()
line 379 of /mod/quiz/report/overview/report.php: call to question_usage_by_activity->regrade_question()
line 450 of /mod/quiz/report/overview/report.php: call to quiz_overview_report->regrade_attempt()
line 307 of /mod/quiz/report/overview/report.php: call to quiz_overview_report->regrade_attempts()
line 99 of /mod/quiz/report/overview/report.php: call to quiz_overview_report->process_actions()
line 96 of /mod/quiz/report.php: call to quiz_overview_report->display()
If I comment out the try and catch block in the function 'call_wiris_service' then the stack trace is:
Exception - Remote exception: java.io.IOException: Connexion error while connecting with wiris kernel: Connection reset
More information about this error
×Debug info:
Error code: generalexceptionmessage
×Stack trace:
line 38 of /question/type/wq/quizzes/lib/com/wiris/quizzes/wrap/QuizzesServiceWrap.class.php: HException thrown
line 315 of /question/type/wq/question.php: call to com_wiris_quizzes_wrap_QuizzesServiceWrap->execute()
line 169 of /question/type/multianswerwiris/question.php: call to qtype_wq_question->call_wiris_service()
line 216 of /question/type/multianswerwiris/question.php: call to qtype_multianswerwiris_question->set_shortanswer_matching_answers()
line 151 of /question/behaviour/adaptive/behaviour.php: call to qtype_multianswerwiris_question->grade_response()
line 95 of /question/behaviour/adaptive/behaviour.php: call to qbehaviour_adaptive->process_submit()
line 1233 of /question/engine/questionattempt.php: call to qbehaviour_adaptive->process_action()
line 1307 of /question/engine/questionattempt.php: call to question_attempt->process_action()
line 876 of /question/engine/questionusage.php: call to question_attempt->regrade()
line 379 of /mod/quiz/report/overview/report.php: call to question_usage_by_activity->regrade_question()
line 450 of /mod/quiz/report/overview/report.php: call to quiz_overview_report->regrade_attempt()
line 307 of /mod/quiz/report/overview/report.php: call to quiz_overview_report->regrade_attempts()
line 99 of /mod/quiz/report/overview/report.php: call to quiz_overview_report->process_actions()
line 96 of /mod/quiz/report.php: call to quiz_overview_report->display()
Error / Stack trace:
uncaught exception: join(): Passing glue string after array is deprecated. Swap the parameters (errno: 8192) in /var/www/html/question/type/wq/quizzes/lib/php/Boot.class.php at line #834join(): Passing glue string after array is deprecated. Swap the parameters
in file: /var/www/html/question/type/wq/quizzes/lib/php/Boot.class.php line 834
#0 [internal function]: _hx_error_handler(8192, 'join(): Passing...', '/var/www/html/q...', 834, Array)
#1 /var/www/html/question/type/wq/quizzes/lib/php/Boot.class.php(834): join(Array, '.')
#2 /var/www/html/question/type/wq/quizzes/lib/php/Boot.class.php(843): _hx_build_paths('/var/www/html/q...', Array, Array, NULL)
#3 /var/www/html/question/type/wq/quizzes/lib/php/Boot.class.php(843): _hx_build_paths('/var/www/html/q...', Array, Array, NULL)
#4 /var/www/html/question/type/wq/quizzes/lib/php/Boot.class.php(843): _hx_build_paths('/var/www/html/q...', Array, Array, NULL)
#5 /var/www/html/question/type/wq/quizzes/lib/php/Boot.class.php(853): _hx_build_paths('/var/www/html/q...', Array, Array, NULL)
#6 /var/www/html/question/type/wq/quizzes/lib/com/wiris/system/CallWrapper.class.php(44): require_once('/var/www/html/q...')
#7 /var/www/html/question/type/wq/quizzes/quizzes.php(9): com_wiris_system_CallWrapper->init('/var/www/html/q...')
#8 /var/www/html/question/type/wq/config.php(19): require_once('/var/www/html/q...')
#9 /var/www/html/question/type/wq/questiontype.php(19): require_once('/var/www/html/q...')
#10 /var/www/html/question/type/essaywiris/questiontype.php(19): require_once('/var/www/html/q...')
#11 /var/www/html/question/engine/bank.php(100): include_once('/var/www/html/q...')
#12 /var/www/html/question/engine/bank.php(154): question_bank::get_qtype('essaywiris')
#13 /var/www/html/mod/quiz/classes/output/edit_renderer.php(1186): question_bank::get_all_qtypes()
#14 /var/www/html/mod/quiz/classes/output/edit_renderer.php(109): mod_quiz\output\edit_renderer->initialise_editing_javascript(Object(mod_quiz\structure), Object(question_edit_contexts), Array, Object(moodle_url))
#15 /var/www/html/mod/quiz/edit.php(211): mod_quiz\output\edit_renderer->edit_page(Object(quiz), Object(mod_quiz\structure), Object(question_edit_contexts), Object(moodle_url), Array)
#16 {main}
Error occurs when using PHP 7.4, downgrading to PHP 7.3 resolves the error.
Hi, if the question attempt was gaveup, the step data would not have a filed with answer, and it occurs the displaying issues by an error of "Compound answer index out of bounds." when people do the quiz reviewing (all question in one page).
I am using PHP 7.1 and Moodle 3.4.1+ (build 20180201) with the latest wiris plugin.
Is any existing solution to solve this?
Hi.
We have a problem with qtype_wq php classes. After upgrading to Moodle 3.9 and PHP 7.4.11 we get similar errors in out tests:
uncaught exception: Class 'com_wiris_quizzes_impl_ConfigurationImpl' not found
in file: /srv/moodle/public_html/question/type/wq/quizzes/lib/com/wiris/quizzes/impl/QuizzesBuilderImpl.class.php line 678
#0 /srv/moodle/public_html/question/type/wq/quizzes/lib/com/wiris/quizzes/wrap/QuizzesBuilderWrap.class.php(25): com_wiris_quizzes_impl_QuizzesBuilderImpl->getConfiguration()
#1 /srv/moodle/public_html/question/type/wq/quizzes/lib/com/wiris/quizzes/wrap/QuizzesBuilderWrap.class.php(13): com_wiris_quizzes_wrap_QuizzesBuilderWrap->setReferrerPHP()
#2 /srv/moodle/public_html/question/type/wq/quizzes/lib/com/wiris/quizzes/wrap/QuizzesBuilderWrap.class.php(336): com_wiris_quizzes_wrap_QuizzesBuilderWrap->__construct()
#3 /srv/moodle/public_html/question/type/wq/quizzes/lib/com/wiris/quizzes/api/QuizzesBuilder.class.php(62): com_wiris_quizzes_wrap_QuizzesBuilderWrap::getInstance()
#4 /srv/moodle/public_html/question/type/wq/questiontype.php(122): com_wiris_quizzes_api_QuizzesBuilder::getInstance()
#5 /srv/moodle/public_html/question/type/essaywiris/questiontype.php(73): qtype_wq->initialise_question_instance(Object(qtype_essaywiris_question), Object(stdClass))
#6 /srv/moodle/public_html/question/type/questiontypebase.php(872): qtype_essaywiris->initialise_question_instance(Object(qtype_essaywiris_question), Object(stdClass))
#7 /srv/moodle/public_html/question/engine/bank.php(288): question_type->make_question(Object(stdClass), false)
#8 /srv/moodle/public_html/question/engine/bank.php(278): question_bank::make_question(Object(stdClass))
#9 /srv/moodle/public_html/mod/quiz/classes/structure.php(204): question_bank::load_question('8574689')
#10 /srv/moodle/public_html/mod/quiz/classes/output/edit_renderer.php(543): mod_quiz\structure->can_finish_during_the_attempt('1')
#11 /srv/moodle/public_html/mod/quiz/classes/output/edit_renderer.php(510): mod_quiz\output\edit_renderer->question_row(Object(mod_quiz\structure), '1', Object(question_edit_contexts), Array, Object(moodle_url))
#12 /srv/moodle/public_html/mod/quiz/classes/output/edit_renderer.php(94): mod_quiz\output\edit_renderer->questions_in_section(Object(mod_quiz\structure), Object(stdClass), Object(question_edit_contexts), Array, Object(moodle_url))
#13 /srv/moodle/public_html/mod/quiz/edit.php(211): mod_quiz\output\edit_renderer->edit_page(Object(quiz), Object(mod_quiz\structure), Object(question_edit_contexts), Object(moodle_url), Array)
#14 {main}
Right now i have tried to include class paths manually, but it's not working and gets stuck on including interfaces.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.