Giter Club home page Giter Club logo

moodle-checklist's Introduction

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

moodle-checklist's People

Contributors

alexmorrisnz avatar andrewhancox avatar cjcliffe avatar davosmith avatar dpalou avatar frmbelz avatar grillonbleu avatar hdagheda avatar jboulen avatar kristian-94 avatar lucaboesch avatar mwchambers avatar noisyjerm avatar opitz avatar phmemmel avatar pm84 avatar rlorenzo avatar semteacher avatar stopfstedt avatar syxton avatar t-schroeder avatar tonyjbutler avatar wiktorwandachowicz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moodle-checklist's Issues

Installing via composer version error

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

Progress percentage is never non-zero.

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

Modules are added even if completion tracking not activated

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?

Auto completion of hvp activities fails if student doesnt meet the minimum grade

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

Editing checklist item with date removes date.

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 can't export regular qualifications, only the checklist ones

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...
Captura_PRO
Captura_PRE

Function get_objectid_mapping() lacking

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().

Duplicate value found in column 'groupingid'

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();
    }

Request: Please add git release tags to repository

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"

Update supposedly requires Moodle 201711306 but won't install in Moodle 3.5+ (Build: 20180614)

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.

mod_checklist_must upgrade to moodle 3 5 3 or above l

mod_checklist_validation successful

mod_checklist_upgrade available

German language in AMOS

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

Behat test failing - course_link.feature

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)

Importing checklist into new course changes custom item dates incorrectly

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:

  1. Create a course (A) with start date 18-May-2019
  2. Add a checklist activity (C1) to course A
  3. Add a custom checklist item (CC1) with an expected date of 27-May-2019
  4. Create a second course (B) with start date 20-May-2019
  5. Import the checklist created in step 2 (C1) from course A into course B to automatically create a new checklist activity C2 with custom checklist item CC2
    Expected result:
    (a) The custom checklist item CC2 has an expected date of 29-May-2019 i.e. shifted by 2 days from CC1, the same as the increment between the course start dates from A to B
    OR
    (b) The custom checklist item CC2 has an expected date of 27-May-2019 i.e. the same as CC1.
    I believe that (a) is preferable because this is the same as the behaviour of other date-specific modules e.g. Assignment, but others might argue differently.
    Actual result:
    The custom checklist item CC2 has an expected date of 31-May-2019 i.e. double the increment between the course start dates from A to B. I assume that the same would happen with backup/restore if the course start date was modified, but haven't tested this.
    I haven't been able to track down exactly what is causing this, but thought I should log the issue so that others are aware of it.

Automatic update not fetching data in 2.8

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,

Change get_context_instances calls

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()

Divide by zero warnings after restoring a course backup with a checklist activity

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.

checklist-div-zero-warnings

XMLDB file needs reconciling

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

Moodle 3.4: Activities and ressources are added even if completion tracking not activated

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.

How to reproduce

  • In a course with many activities and resources add the checklist module
  • Use settings from attached screenshot
  • Save checklist
  • Result: All activities resources are added to the checklist even if the completion tracking is not activated for the resources or activities

Expected behaviour: Only activities and resources with completion tracking enabled should be added as item to the checklist.

screenshot-2018-3-22 editing checklist

Unit test failure


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)

requesting new release

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!

  • Stefan

Filter View Progress by group (both viewing and editing/checking off)

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.

Toggle Row issue

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

Impossible to install plugin with Moodle plugin installer

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"

Undefined property: stdClass::$checklistgroup

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.

Activity name only updates after teacher views checklist again

To reproduce:

  • Create checklist, setting: coursemodules to show -> current section
  • Add some activities to the section so you can see some entries in the checklist
  • Log in as student: Student sees all entries, great so far.
  • Now change name of an activity
  • Again show checklist as student: Activity will still show the old name! -> Bug!
  • As teacher: Show checklist: Activity will show new name, from now on also the students will see the new name

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)

Moodle 2.7 update_event() is deprecated

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()

2nd tick deletes and substitutes a 0

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

Minimum requires value should not to be updated with each new release

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.

Unsupported $module syntax detected in version.php of the mod_checklist plugin.

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.

Checklist doesn't detect completion for courses completed before enrollment

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.

Email to Teacher = more than Teacher?

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

Completion by number instead of percentage?

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.

Checklist module will not install in Moodle 3.0

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

add "Back to Course" button

Greetings - could we have a button added to the bottom of the view.php file which goes back to the originating course?

Missing in AMOS

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

Checklist-exporter needs to implement enclosing the checklist elements in single single or double quotes

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!

Proposal - feature request: Student comments on individual checklist items

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:
Screen Shot 2021-09-18 at 12 22 05 pm

This is what a student sees when they're in a checklist:

Screen Shot 2021-09-18 at 12 22 41 pm

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.

Duplicate / Restore events doubled

@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.

Change "Yes" "No" to alternatives

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.

each() function is deprecated in PHP 7.2

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)

Adding same comment for all students.

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.

Error in the view checklist tab

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()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.