davosmith / moodle-checklist Goto Github PK
View Code? Open in Web Editor NEWChecklist plugin for Moodle - allows a teacher to create a checklist for their students to tick-off
License: GNU General Public License v3.0
Checklist plugin for Moodle - allows a teacher to create a checklist for their students to tick-off
License: GNU General Public License v3.0
Checklist module ================ ==Introduction== This is a Moodle plugin that allows a teacher to create a checklist for their students to work through. The teacher can monitor all the student's progress, as they tick off each of the items in the list. Note: This is the Moodle 3.9+ version (other versions are available for Moodle 1.9 and above). Items can be indented and marked as optional or turned into headings; a range of different colours can be used for the items. Students are presented with a simple chart showing how far they have progressed through the required/optional items and can add their own, private, items to the list. ==Changes== * 2024-05-18 - 4.1.0.2 - fix error when showing a forum activity without completion enabled * 2024-04-02 - 4.1.0.0 - M4.4 compatibility fixes + drop maintenance of versions compatible with M4.0 and below * 2024-04-02 - 3.9.5.0 - adds new "checklist updated" event, for when a teacher has made changes - thanks to Andrew Hancox * 2024-02-02 - 3.9.4.1 - fix compatibility issue with M3.9 - M4.1 introduced in previous commit * 2024-01-20 - 3.9.4.0 - now works with Moodle Mobile App, thanks to Dani & Pau from Moodle HQ your help with this at the Global Moodle Moot and Dani for finishing this work off afterwards! * 2023-11-27 - 3.9.3.6 - fix completion rule handling for M4.3. Thanks to opitz for the fix. * 2023-10-02 - 3.9.3.5 - update GitHub actions ready for 4.3 release, fix PHP8.2 compatibility issue and M4.3 compatibility issue * 2023-04-14 - 3.9.3.4 - Minor M4.2 compatibility fixes * 2023-03-11 - 3.9.3.3 - Fix 'open link in new window' inclusion in backup + restore * 2022-11-19 - 3.9.3.2 - Minor M4.1 compatibility fixes * 2022-10-15 - 3.9.3.1 - Convert Javascript to AMD module + support multiple checklists on the page (thanks to alexmorrisnz); fix display of group selector (thanks to wiktorwandochowicz) * 2022-09-24 - 3.9.3.0 - Allow embedding checklists, styling of student comments, extend privacy coverage, fix layout in M4.0, fix PHP8.0 compatibility in Behat tests. * 2022-05-28 - 3.9.2.0 - Fix for bug that incorrectly emailed all previously-complete users when the checklist maxgrade was changed. This upgrade will create a one-off background task that will check the grades and completion states for all users/checklists on the site. * 2022-01-22 - 3.9.1.2 - Update checklist items to match renamed activities when being viewed by students (who do not have permission to edit checklist items themselves) * 2021-10-23 - 3.9.1.1 - If a checklist is edited (add/delete item, mark item as required/optional) then grades will be recalculated (as a background task, to avoid slowing down the editing) * 2021-10-23 - 3.9.1.0 - New feature from Kristian to allow students to add comments to items which are visible to the teacher * 2021-10-13 - Fix Behat tests in M4.0 * 2021-06-30 - 3.9.0.2 - Fix completion debugging error when no checklist items in M3.11 * 2021-06-12 - 3.9.0.1 - Fix completion sort order error in M3.11 * 2021-05-15 - Further M3.11 compatibility fixes, new setting to disable colour picker (from Peter Mayer) * 2021-04-09 - M3.11 compatibility fixes + work with github actions * 2020-11-14 - Minor bug fix: remove unwanted warning from student view when 'lock teacher marks' is set + minor layout fix. * 2020-11-04 - Fix bug preventing 'save and next' from working * 2020-06-15 - Add 'complete by number of items' option * 2020-01-29 - "open link in new window" option from Stefan Topfstedt * 2019-04-26 - Fix bug with autocompletion updating grades during unenrolment. Autocompletion now only updates checkmarks if the user has capability 'mod/checklist:updateown'. * 2018-11-16 - Support new privacy features in M3.4.6, M3.5.3, M3.6+ * 2018-04-21 - Fix bug when editing items with dates when date editing is disabled * 2018-04-02 - Add support for GDPR * 2018-02-24 - Fix import/export, backup/restore of course + url links; fix recycle bin compatibility * 2017-11-09 - Minor behat fix for Moodle 3.4 compatibility * 2017-08-30 - Switch to only showing enrolled users in lists (instead of all users with the 'updateown' capability) * 2017-08-30 - Fix bug with groupmembersonly call * 2017-06-08 - Fix bug when saving completion settings (where students had already completed) * 2017-06-05 - Fix bug in teacher marking with 'Save and show next' functionality * 2017-05-12 - Moodle 3.3 compatibility fixes * 2016-11-21 - Minor M3.2 compatibility fix (only behat affected) * 2016-10-30 - Make item import/export work more reliably * 2016-09-09 - Major restructuring of checklist code, to aid future maintenance; dropping of pre-Moodle 2.7 support. Support for linking items to courses (with automatic check-off on course completion) OR external URLs. Support for linking items to groupings (only shown to users who are members of groups within the item's grouping) For 'teacher only' checklists, automatic check-off now affects teacher marks, instead of student marks * 2016-05-20 - Minor behat fixes for Moodle 3.1 compatibility * 2016-03-15 - Show/hide multiple activity items at once when editing the checklist (Tony Butler) * 2015-12-23 - Handle missing calendar events + fix deprecated 'get_referer' warning. * 2015-11-08 - M3.0 compatibility fixes * 2015-10-02 - Better forum completion support + Hotpot completion support * 2015-09-13 - M2.7+ cron not needed at all for automatic update of checklist (Moodle completion + 'complete from logs' both handled via events). * 2015-06-19 - In M2.7+ automatic update from logs now happens immediately (via the new events system), cron still needed for updates from completion. * 2015-05-09 - Moodle 2.9 compatibility fixes * 2015-04-28 - Autoupdate now works with Moodle 2.7+ logs, as well as legacy logs (for activities which do not have completion enabled) * 2015-03-02 - Fix item output so that multilang filters will work * 2015-02-21 - Add automated testing. Fix code to prevent multiple emails when same checklist completed multiple times by the same student within an hour. * 2015-02-19 - Setting 'max grade' to 0 in the checklist removes it from the gradebook * 2014-10-26 - Option to hide checklists you cannot update from 'My home' (thanks to Syxton); fix PostgreSQL compatibility with autoupdate. * 2014-07-06 - Fix toggle row/column buttons. Update version.php. * 2014-05-31 - Add toggle row / toggle column buttons to report view - developed by Simon Bertoli * 2014-05-31 - Add Moodle 2.7 event logging; fix Postgres compatibility (Tony Butler); prevent teachers seeing student reports when they cannot access any groups; fix centering of report headings (Syxton). * 2014-01-15 - Fix compatibility of MS SQL with 2.6 version of plugin. * 2013-19-11 - Moodle 2.6 compatibility fixes (+ correction to this fix) * 2013-11-11 - Cope with empty section names * 2013-07-30 - Fix editing of item indents * 2013-05-22 - 'Display description on course page' + (old)IE compatibility fix * 2013-05-06 - Fix Moodle 2.4 compatibility regression * 2013-04-24 - Minor fixes for Moodle 2.5 compatibility * 2013-04-09 - Allow checklists to import current section when they are located in an 'orphaned' section, add 'questionnaire' + 'assign' to autoupdate list * 2013-03-01 - Fixed the backup & restore of items linked to course modules. * 2013-01-04 - Option to email students when their checklists are complete - added by Andriy Semenets * 2013-01-03 - Fixed the 'show course modules in checklist' feature in Moodle 2.4 * 2012-12-07 - Moodle 2.4 compatibility fixes * 2012-10-09 - Fixed email sending when checklists are complete (thanks to Longfei Yu for the bug report + fix) * 2012-09-20 - CONTRIB-3921: broken images in intro text; CONTRIB-3904: error when resetting courses; CONTRIB-3916: checklists can be hidden from 'My Moodle' (either all checklists, or just completed checklists); issue with checklists updating from 'completion' fixed; CONTRIB-3897: teachers able to see who last updated the teacher mark * 2012-09-19 - Split the 3 plugins (mod / block / grade report) into separate repos for better maintenance; added 'spinner' when updating server * 2012-08-25 - Minor fix to grade update function * 2012-08-06 - Minor fix to reduce chance of hitting max_input_vars limits when updated all student's checkmarks * 2012-07-07 - Improved progress bar styling; Improved debugging of automatic updates (see below); Fixed minor debug warnings * 2012-04-07 - mod/checklist:addinstance capability added (for M2.3); Russian / Ukranian translations from Andriy Semenets * 2012-03-05 - Bug fix: grades not updating when new items added to a course (with 'import course activities' on) * 2012-01-27 - French translation from Luiggi Sansonetti * 2012-01-02 - Minor tweaks to improve Moodle 2.2+ compatibility (optional_param_array / context_module::instance ) * 2012-01-02 - CONTRIB-2979: remembers report settings (sort order, etc.) until you log out; CONTRIB-3308 - 'viewmenteereport' capability, allowing users to view reports of users they are mentors for ==Installation== The checklist block and grade report are separate, optional plugins that can be downloaded from: http://moodle.org/plugins/view.php?plugin=block_checklist http://moodle.org/plugins/view.php?plugin=gradeexport_checklist 1. Unzip the contents of file you downloaded to a temporary folder. 2. Upload the files to the your moodle server, placing the 'mod/checklist' files in the '[moodlefolder]/mod/checklist', (optionally) the 'blocks/checklist' files in the '[moodlefolder]/blocks/checklist' folder and (optionally) the 'grade/export/checklist' files in the '[moodlefolder]/grade/export/checklist' folder. 3. Log in as administrator and click on 'Notifications' in the admin area to update the Moodle database, ready to use this plugin. ==Problems with automatic update?== Whilst automatic updates are working fine in all situations I have tested, there have been some reports of these not updating check-marks correctly on some sites. If this is the case on your site, one thing to try, before contacting me: * Make sure the checklist is set to 'Student only' - it is the student mark that is automatically updated, if this is not displayed, you won't see any changes. ==Adding a checklist block== (Optional plugin) 1. Click 'Turn editing on', in a course view. 2. Under 'blocks', choose 'Checklist' 3. Click on the 'Edit' icon in the new block to set which checklist to display and (optionally) which group of users to display. ==Exporting checklist progress (Excel)== (Optional plugin) 1. In a course, click 'Grades' 2. From the dropdown menu, choose 'Export => Checklist Export' 3. Choose the checklist you want to export and click 'Export Excel' If you want to change the user information that is included in the export ('First name', 'Surname', etc.), then edit the file 'grade/export/checklist/columns.php' - instructions can be found inside the file itself. ==Usage== Click on 'Add an activity' and choose 'Checklist'. Enter all the usual information. You can optionally allow students to add their own, private items to the list (this will not affect the overall progress, but may help students to keep note of anything extra they need to do). You can then add items to the list. Click on the 'tick' to toggle an item between required, optional and heading Click on the 'edit' icon to change the text. Click on the 'indent' icons to change the level of indent. Click on the 'move' icons to move the item up/down one place. Click on the 'delete' icon to delete the item. Click on the '+' icon to insert a new item immediately below the current item. Click on 'Preview', to get some idea of how this will look to students. Click on 'Results', to see a chart of how the students are currently progressing through the checklist. Students can now log in, click on the checklist, tick any items they have completed and then click 'Save' to update the database. If you have allowed them to do so, they can click on 'Start Adding Items', then click on the green '+' icons to insert their own, private items to the list. If you allow a checklist to be updated by teachers (either exclusively, or in addition to students), it can be updated by doing the following: 1. Click 'Results' 2. Click on the little 'Magnifying glass' icon, beside the student's name 3. Choose Yes / No for each item 4. Click 'Save' 5. (Optional) Click 'Add comments', enter/update/delete a comment against each item, Click 'Save' 5. Click 'View all Progress' to go back to the view with all the students shown. ==Further information== Moodle plugins database entry: http://moodle.org/plugins/view.php?plugin=mod_checklist Report a bug, or suggest an improvement: http://tracker.moodle.org/browse/CONTRIB/component/10608 ==Contact details== Any questions, suggested improvements to: Davo Smith - [email protected] Any enquiries about custom development to Synergy Learning: http://www.synergy-learning.com
Trying to install the correct version for moodle 3.8
Assume it's "moodle-plugin-db/mod_checklist": "2020012900"
However composer complains with
Problem 1 - Installation request for moodle-plugin-db/mod_checklist 2020012900 -> satisfiable by moodle-plugin-db/mod_checklist[2020012900]. - moodle-plugin-db/mod_checklist 2020012900 requires moodle/moodle 3.9.* -> satisfiable by moodle/moodle[v3.9.0, v3.9.0-beta, v3.9.0-rc1, v3.9.0-rc2, v3.9.0-rc3, v3.9.1, v3.9.2, v3.9.3, v3.9.4] but these conflict with your requirements or minimum-stability.
This seems to conflict with the version listed https://moodle.org/plugins/pluginversions.php?plugin=mod_checklist which states the correct version for 3.9 is 2020111400.
Any advice on how to resolve this conflict?
https://moodleplugarit.mmg.fi/search?q=checklist&moodle_version=3.8&search= reports that the version can be 2019111500 or 2020012900? However given i have installed 2020012900 moodle throws an exception if I try to install the earlier version.
Thanks
@davosmith locallib.php line 1138 looks like it lost the closing tag.
Love the plugin - and so do many users, but recently I've gotten requests about support on mobile. Any plans to add support for the Moodle mobile app? Right now it's kicks users out to their mobile browser.
Hi.
I've just installed your plugin for use on a client's website, and done some quick testing of it. Using fcb2d27 under Moodle 2.6, I'm not seeing the progress bar value ever change to non-zero.
I've tested it both as the site admin and as a student enrolled in the course in which I've created the checklist. With all five items in my checklist marked as done, the percentage remains at zero, even after reloading the page. Items do remain ticked off when reloading, and the "View progress tab" also shows them ticked off. If I click the "Show progress bars" button in that tab, those progress bars are also still at zero.
Regards,
Nigel
Some of our teachers found that when auto add section modules is ON,
the list is populated with modules that have activity completion turn OFF.
I looked at the code, and as far as I can see,
there is no reference to checking if the module has activity completion set to ON (manual or automatic with rules)
Maybe this is intentional, but I think this should be fixed.
@davosmith What do you think?
Scenario 1
hvp interactive video content with a passing grade and a completion condition of "Student must receive a grade to complete" will not be marked as completed in the checklist module if the student doesn't achieve the passing grade
The checklist entry for the hvp activity is not marked as completed but the moodle activity completion report does mark it completed but not meeting a passing grade.
Scenario 2
Same as above but if the student does meet the passing grade and as a result the checklist marks the activity as completed as does the activity completion report.
current workaround is too set the passing grade to 0 so any grade meets the minimum grade and the checklist is updated.
LMS version Moodle 3.10.3 (Build: 20210325)
checklist version is 2020111400
hvp version is 2020080400
php version is 7.2
db is Mysql 5.0.12
If Date Editing mode is not turned on, and a user edits a checklist item that had already been given a date, the date is removed upon update.
I propose that if you edit a checklist item that contains a date, the date editor will automatically be enabled.
We're running the last version of checklist plugin (3.9.1.2) and gradeexport_checklist on Moodle 4.0, and since we upgraded to 4.0, we can't export the regular course qualifications ( the checklist ones work fine) to any.
In the qualifications exports methods we have:
-gradeexport_checklist
-gradeexport_ods
-gradeexport_txt
-gradeexport_xls
-gradeexport_xml
In the qualifications>Export page, the selector to choose the output format doesn't appear, only the Ckecklist section...
In our pre-production installation where checklist isn't installed (all the other export methods are) it works without problem...
Upon performing a restore into Moodle 3.3 warnings are thrown:
In order to restore course logs accurately the event "mod_checklist\event\checklist_completed" must define the function get_objectid_mapping().
In order to restore course logs accurately the event "mod_checklist\event\student_checks_updated" must define the function get_objectid_mapping().
In order to restore course logs accurately the event "mod_checklist\event\course_module_viewed" must define the function get_objectid_mapping().
For some reason, in one of our Moodle instances we were seeing duplicate groupingid errors on the dashboard when debugging was enabled due to the checklist_class::get_user_groupings()
function in locallib.php
.
The error/warning was Did you remember to make the first column something unique in your call to get_records()? Duplicate value 'xxx' found in column 'groupingid'.
To remove the warnings, we changed the SELECT
statement to be SELECT DISTINCT
. The function now looks like the below
public static function get_user_groupings($userid, $courseid) {
global $DB;
$sql = "SELECT DISTINCT gg.groupingid
FROM ({groups} g JOIN {groups_members} gm ON g.id = gm.groupid)
JOIN {groupings_groups} gg ON gg.groupid = g.id
WHERE gm.userid = ? AND g.courseid = ? ";
$groupings = $DB->get_records_sql($sql, array($userid, $courseid));
if ($groupings) {
return array_keys($groupings);
}
return array();
}
It would be very helpful for automatic deployment if you could add the git tags for each release you're doing.
Here are the commands to add the tags for two releases on moodle.org we're currently upgrading from and to, just as examples:
# Add tag for 3.4+ (Build: 2019061900) (https://moodle.org/plugins/mod_checklist/3.4-build-2019061900/20135)
# Note: Maybe you have to leave out whitespaces, colon or other symbols
git tag -a "3.4+ (Build: 2019061900)" 384a3657657c0c47743f777d6ec1b7d4549f1396 -m "ADDITIONAL_OPTIONAL_INFO"
# Add tag for 3.9+ (Build: 2021051500) (https://moodle.org/plugins/mod_checklist/3.9-build-2021051500/24175)
# Note: Maybe you have to leave out whitespaces, colon or other symbols
git tag -a "3.9+ (Build: 2021051500)" 83a197f54c9910745fd8341cd0f7a3c4e43bac07 -m "ADDITIONAL_OPTIONAL_INFO"
Hi,
I attempted to upgrade several plugins for my Moodle 3.5+ (Build: 20180614) server.
Moodle checklist could not be updated as it ultimately asked me to upgrade to Moodle 3.5.3
The plugin current version states "3.4+ (Build: 2018051500) (2018051500)Moodle 3.4, 3.5, 3.6"
During plugin installation, validation results checked for Moodle 201711306.
Can you please sort this.
Thanks in advance.
Hi Davo,
I have included the german language for the mod / block / gradeexport parts of your plugin into AMOS. I will have a look at future new strings in your plugin, too. I think you can remove the german language from mod_checklist.
Greetings,
Alex
Hi, the test stated above is failing.
Environment details:
MySQL 5.7
PHP 7.4
Moodle latest MOODLE_311_STABLE
Error details:
Scenario: An item linked to a course is automatically checked-off when that course is completed
And I trigger cron: Other backtraces found:
line 2944 of /lib/deprecatedlib.php: call to debugging()
line 172 of /lib/classes/task/legacy_plugin_cron_task.php: call to cron_execute_plugin_type()
line 253 of /lib/cronlib.php: call to core()
line 120 of /lib/cronlib.php: call to cron_run_inner_scheduled_task()
line 73 of /lib/cronlib.php: call to cron_run_scheduled_tasks()
line 81 of /admin/cron.php: call to cron_run() (Exception)
Scenario: An item linked to a course is automatically checked-off if that course is already completed
And I trigger cron: Other backtraces found:
line 2944 of /lib/deprecatedlib.php: call to debugging()
line 172 of /lib/classes/task/legacy_plugin_cron_task.php: call to cron_execute_plugin_type()
line 253 of /lib/cronlib.php: call to core()
line 120 of /lib/cronlib.php: call to cron_run_inner_scheduled_task()
line 73 of /lib/cronlib.php: call to cron_run_scheduled_tasks()
line 81 of /admin/cron.php: call to cron_run() (Exception)
We've found an issue with importing checklists from one course into another where dates are set against custom checklist items. It's easiest to explain with an example using specific dates, and then the example is easily generalised.
Steps to reproduce:
Hi Davo,
we would like to be able to turn off the color chooser in edit.php via admin setting.
For this I have added a corresponding setting. We would be happy if you could adopt this simple setting option.
Many greetings
Peter
The automatic update system doesn't work on 2.8 as it seems the plugin is only checking the legacy logs instead of the new standard logging system.
A way around this is to enable both the legacy logs along side the new default logging system however this doesn't work flawlessly as SCORM packages are not checked off when accessed.
Moodle version: 2.8.5+ (Build: 20150326)
Plugin version: 2015050900
If you need any more information just let me know!
Thanks,
I notice that your code still uses the deprecated get_context_instance() function in a number of places. You should change these before they get rid of that function completely.
For example, get_context_instance(CONTEXT_SYSTEM) would become context_system::instance()
Moodle version: 3.11+ (Build: 20210625)
Checklist version: 2021061200
When restoring an MBZ that contains a checklist activity, then navigating to the newly-restored course, the following debugging warning is printed to the screen repeatedly:
Warning: Division by zero in mod/checklist/classes/completion/custom_completion.php on line 60
Navigating to the checklist activity, choosing 'Edit Checklist', then navigating away from that page without making any changes causes the warnings to disappear.
I can supply an MBZ file without any user data if you need something to poke about at.
The lastest Moodle version checks all db/install.xml files. When running Behat tests, an error is thrown with this output:
This functionality looks though the contents of all XMLDB files to verify that they match the results of generating them from the XMLDB editor. A list of files needing to be reconciled (regenerated) will be displayed and the XMLDB editor can be used to fix them.
Search results
Found files to reconcile: 1
mod/checklist/db/install.xml
In a course completion tracking is enabled, but not all activities and resources have completion tracking enabled. The checklist should only add items which have completion tracking enabled. But in Moodle 3.4 nearly everything is added no matter if completion tracking is enabled or not. Setting: Check-off when modules complete -> Yes, can not override.
Expected behaviour: Only activities and resources with completion tracking enabled should be added as item to the checklist.
If a manual checklist item is created with a URL the export/import and backup/restore/import strip the URL's from these items. MAJOR issue!
vendor/bin/phpunit --filter test_table_coverage
Moodle 3.11.8+ (Build: 20220722), 0fe025a14e5a458d15fa0e280cc068491a547167
Php: 7.4.30, mysqli: 5.7.31, OS: Linux 5.15.0-41-generic x86_64
PHPUnit 9.5.13 by Sebastian Bergmann and contributors.
F 1 / 1 (100%)
Time: 00:01.117, Memory: 328.00 MB
There was 1 failure:
1) core_privacy\privacy\provider_test::test_table_coverage
The following tables with user fields must be covered with metadata providers:
- checklist_comp_notification (userid)
Hi Davo,
Just wanted to respectfully request a new release, please let me know if I can help out in any way in order to expedite this (reviewing PRs, maybe fix a few of the outstanding issues).
Thanks!
See details at: https://moodle.org/mod/forum/discuss.php?d=144764#p1749782
For teacher, on the "View Progress" tab, finding the appropriate students in a large list is difficult. It would be good to filter by group to both see student progress and tick off students in that group.
Optionally it would also be good to change the number of students shown per page in the settings.
Hi Davo
Just updated the checklist on our site and noticed a bug.
Whenever the checklist has a heading column in the first column, the toggle row button doesn't work, seems to be fine when its anywhere else.
I am planning to get around to looking at it but as of yet i haven't.
S
It is unable to install the plugin via the Moodle plugin installer because it is said that :
"Débogage de l'output activé
Validation de mod_checklist ... Erreur
[OK] Nom du plugin à installer [checklist]
Aide sur Nom du plugin à installer
[OK] Version du plugin [2018051500]
[Erreur] Version de Moodle requise [2017111300]
Installation interrompue en raison de l'échec de la validation"
Hi Davo. I've just installed the latest version of Checklist (block build 2012080600) and am receiving the following errors:
Notice: Undefined property: stdClass::$checklistgroup in /srv/moodle2/blocks/checklist/block_checklist.php on line 190
Notice: Undefined property: stdClass::$checklistgroup in /srv/moodle2/blocks/checklist/block_checklist.php on line 190
I get those two errors at the top of the main course's page. The Apache error log's no more verbose.
It seems to still be working in Moodle itself: I am awaiting some feedback from users who use it considerably more than I do.
Vaughany.
To reproduce:
Expected behavior:
Student should see checklist with updated activity's name as soon as the activity's name has been updated. There should be no need for the teacher to click on the checklist item again to trigger this update.
Observed in moodle 3.11.4 at checklist commit id 070a307, also at latest master (cb6e97c)
Hi Dave,
Just testing on Moodle 2.7 and received this error when changing the activity name.
update_event() is deprecated, please use calendar_event->update() instead.
line 1756 of /lib/deprecatedlib.php: call to debugging()
line 2416 of /mod/checklist/locallib.php: call to update_event()
line 2438 of /mod/checklist/locallib.php: call to checklist_class->setevent()
line 110 of /mod/checklist/lib.php: call to checklist_class->setallevents()
line 548 of /course/modlib.php: call to checklist_update_instance()
line 266 of /course/modedit.php: call to update_moduleinfo()
Hello. I am using the 2.9 version of Moodle/Totara and I just installed the checklist which is very neat by the way. I have however, discovered a small bug in the software. Sometimes-apparently randomly, when you tick the box to turn the line into a header, instead of bolding the words, it deletes your writing and substitutes a 0. I have been dealing with this all of last week as I attempt to create different checklists in our system.
thanks
Christina
We're seeing that the minimum requires value in version.php appears to be updated with each new release, which causes problems when plugins are automatically updated to the newest version because it requires an immediate upgrade of the site just to get the checklist plugin updated. In general this value should be set at it's default lowest value for the earliest version of each branch (i.e. 2017111300 for M3.4 and 2018051700 for M3.5 per https://docs.moodle.org/dev/Releases), unless the plugin depends on some specific functionality that is only available in the latest Moodle release.
While installing latest mod checklist on a clean Moodle 3.1, I was getting the following errors:
($plugin->version = 2016052000;)
Unsupported $module syntax detected in version.php of the mod_checklist plugin.
line 322 of /lib/classes/plugin_manager.php: call to debugging()
line 348 of /lib/classes/plugin_manager.php: call to core_plugin_manager->load_present_plugins()
line 217 of /lib/classes/plugininfo/base.php: call to core_plugin_manager->get_present_plugins()
line 143 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base->load_disk_version()
line 97 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base::make_plugin_instance()
line 408 of /lib/classes/plugin_manager.php: call to core\plugininfo\base::get_plugins()
line 368 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins_of_type()
line 758 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins()
line 237 of /admin/index.php: call to core_plugin_manager->all_plugins_ok()
Skip to main content
Installation
System
Unsupported $module syntax detected in version.php of the mod_checklist plugin.
line 322 of /lib/classes/plugin_manager.php: call to debugging()
line 348 of /lib/classes/plugin_manager.php: call to core_plugin_manager->load_present_plugins()
line 217 of /lib/classes/plugininfo/base.php: call to core_plugin_manager->get_present_plugins()
line 143 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base->load_disk_version()
line 97 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base::make_plugin_instance()
line 408 of /lib/classes/plugin_manager.php: call to core\plugininfo\base::get_plugins()
line 43 of /admin/settings/plugins.php: call to core_plugin_manager->get_plugins_of_type()
line 7279 of /lib/adminlib.php: call to require()
line 7300 of /lib/adminlib.php: call to admin_get_root()
line 1635 of /lib/upgradelib.php: call to admin_apply_default_settings()
line 269 of /admin/index.php: call to install_core()
Success
Though It was installed successfully, after all.
If a user is enrolled in a course that has a checklist item for completing a course that they've already completed, it will never auto update. This is because the plugin is waiting to update that item until it hears the course completion event that has already happened.
Here is a possible fix:
moonami@7229a91
Do you have any thoughts? It solves the problem but feels a bit gratuitous to be effectively re-running all of a user's course completion events every time they are assigned a course role. There is refining I could to by checking the course they are assigned a role in for checklist items that need to be updated, but I wanted to get some feedback before spending too much time on this.
We have a number of users in administrative roles (at the system or course category levels) receiving Checklist student completion emails unexpectedly (they have nothing to do with the course). The Teacher had configured for Teacher to receive email upon completion. Email when checklist is complete: Teacher only
I haven't had chance to dig into the issue, but since it appears related to (not the result of) the recent change for 'enrolled users' I'm posting this now.
My guess
Email when checklist is complete: Teacher only
is not "Teacher only"
...dan wheeler
This plugin has helped me a lot during the time of distance learning. The only thing I was missing is the possibility to set completion criteria to a fixed number of items instead of a percentage. This would be very helpful for with a changing number of activities.
Attempting to install the latest version (2015100200) of mod_checklist on a Moodle 3.0 site (3.0dev+ (Build: 20151020)) results in the following error:
Unsupported $module syntax detected in version.php of the mod_checklist plugin.
Plugin "mod_checklist" is defective or outdated, can not continue, sorry.
Debug info: Unsupported $module syntax detected in version.php
Error code: detectedbrokenplugin
Greetings - could we have a button added to the bottom of the view.php file which goes back to the originating course?
Sorry for asking.
Do you know why last updated/added strings in lang file are missing in AMOS?
Is a AMOS issue?
For example:
$string['completiondetail:percent'] = 'Check-off items: {$a}%';
$string['completiondetail:items'] = 'Check-off items: {$a}';
$string['showcolorchooser'] = 'Display color chooser';
$string['showcolorchooserdesc'] = 'Displays the color chooser of the list elements in edit.php';
Thanks
When a checklist item contains commas, e.g. "Make a list of ICT-systems - name, vendor, version", exporting the checklist works, but importing the exported checklist fails since the item contains commas. These are interpreted by the importer as information fields, and the importer complains about the wrong number of fields in the line it is trying to import from the CSV-file and stops.
I guess the solution is to include some form of delimiter when exporting, so the importer can distinguish information fields from a single field containing commas.
It would be wise to document what kind of delimiter is expected if items do have commas, e.g. "Information fields containing strings with commas must be enclosed in CHARACTER_THAT_WORKS to successfully import the checklist".
Thanks for this otherwise great plugin!
Hi @davosmith ,
Thank you for the great plugin. I would like to work on a new feature and submit it as a PR for your review. Please let me know if you think this feature is a good idea.
At the moment, teachers can add feedback on each checklist item for the student when they mark the item Yes or No.
One feature that might be useful is to allow students to add a comment describing what they've done when they check off an item. This could be a checklist setting 'allowstudentcomments', default off to not change existing behaviour.
This is what a teacher sees when they are marking a checklist:
This is what a student sees when they're in a checklist:
At the moment, comments go one way, from teacher -> student. Can we add a comment from student -> teacher?
My approach would be to introduce a new table, similar to checklist_comment
called checklist_comment_student
and store the comments in there.
I don't think we need an extra capability for this, if the setting is enabled for the checklist, then all students should be able to add comments.
@davosmith
Create a checklist with dates shown in the calendar.
Add a single item with a date.
See that the calendar now shows 1 event for that item.
Duplicate the checklist.
See that the calendar now shows 3 events. 1 for the first checklist and 2 for the duplicate checklist.
I have found that commenting out checklist_refresh_events() in lib.php solves this issue, but I'm unsure what else this function does.
Activities that are added to the list via "Current Section" or "Whole Course" do not have dates and dates cannot be added.
We love the plugin - it work very well for us. This is not really an issue, but I would like to change the options from "YES" or "NO" to something else, like "SATISFACTORY" "UNSATISFACTORY" - I have a sandpit site I'm happy to have a play with but any help would be appreciated.
Cheers.
privacy:metadata:checklist_comment:item
I receive 3 generalexceptionmessages running behat tests on a php 7.2 server:
001 Scenario: When viewing an auto-populated checklist, a student should see items corresponding to the course modules : mod/checklist/tests/behat/show_hide_multiple_items.feature:30
002 Scenario: When I select multiple items and click the 'Show/hide' button, the items' visibility should toggle : mod/checklist/tests/behat/show_hide_multiple_items.feature:40
003 Scenario: The checklist should always display the current items from the section, keeping up to date when they change. : mod/checklist/tests/behat/completion.feature:47
Moodle exception: Exception - Unknown error type: The each() function is deprecated. This message will be suppressed on further calls in [dirroot]/mod/checklist/locallib.php on line 235
More information about this error
Debug info:
Error code: generalexceptionmessage
Stack trace:
line 158 of /lib/behat/lib.php: Exception thrown
line ? of unknownfile: call to behat_error_handler()
line 235 of /mod/checklist/locallib.php: call to each()
line 119 of /mod/checklist/locallib.php: call to checklist_class->update_items_from_course()
line 59 of /mod/checklist/view.php: call to checklist_class->__construct()
(Exception)
Hello, The check list plugin so useful for our education institution. Is it possible add one more option which is doing for same comment for all students as a default? It should be quite similar function as Toggle Column and Toggle Rows. If necessary teacher can change individual comments.
Thanks.
We just install the new 2.5.3 version of Moodle and we have the following errors in the page mod/checklist/view.php:
The third parameter sent to the function set_callback_options should be the component name, not a file path, please update this.
line 1307 of /lib/portfoliolib.php: call to debugging()
line 153 of /lib/portfoliolib.php: call to portfolio_include_callback_file()
line 514 of /mod/checklist/locallib.php: call to portfolio_add_button->set_callback_options()
line 68 of /mod/checklist/view.php: call to checklist_class->view()
Could not find the component specified mod_checklist_mahara.
More information about this error
Debug info:
Error code: nocallbackcomponent
Stack trace:
line 1312 of /lib/portfoliolib.php: portfolio_button_exception thrown
line 153 of /lib/portfoliolib.php: call to portfolio_include_callback_file()
line 514 of /mod/checklist/locallib.php: call to portfolio_add_button->set_callback_options()
line 68 of /mod/checklist/view.php: call to checklist_class->view()
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.