<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Moodle Plugins directory: Checklist: Comments</title>
    <link>https://moodle.org</link>
    <description>A checklist can be created by a teacher (or generated from the activities in a course) and then the students or teachers can check-off each item as they are completed.</description>
    <generator>Moodle</generator>
    <language>en</language>
    <copyright>(c) 2026 Moodle - Open-source learning platform | Moodle.org</copyright>
    <image>
      <url>https://moodle.org/theme/image.php/moodleorg/core/1774890407/i/rsssitelogo</url>
      <title>moodle</title>
      <link>https://moodle.org</link>
      <width>140</width>
      <height>35</height>
    </image>
    <item>
      <title>Tuesday, 9 December 2025, 6:59 PM - Davo Smith</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-89082</link>
      <pubDate>Tue, 09 Dec 2025 10:59:38 GMT</pubDate>
      <description>by Davo Smith. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Marius - I'm afraid I'm not familiar with the functionality of the Timeline block or how you set up reminders in it (I am a developer, not actually a user of Moodle these days, so some aspects of Moodle functionality I don't touch on very often).&lt;br&gt;
&lt;br&gt;
If you think there is a specific bug in the checklist plugin, then I suggest you open up a ticket in GitHub where you describe step-by-step what you are doing, exactly what you expect to happen and what actually happens. I cannot promise I'll look at it quickly, but I will try to review it at some point.&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-89082</guid>
    </item>
    <item>
      <title>Tuesday, 9 December 2025, 4:49 AM - Marius Larose</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-89074</link>
      <pubDate>Mon, 08 Dec 2025 20:49:59 GMT</pubDate>
      <description>by Marius Larose. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Hello, is it normal that, with this activity module, adding a reminder for the Timeline block doesn't make it show up on the Dashboard's Timeline block? It does show up on the Calendar block, though. This is when testing with the latest plugin version (4.1.0.7) on either Moodle version 4.5.7 and 5.1, PHP 8.X.&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-89074</guid>
    </item>
    <item>
      <title>Sunday, 2 November 2025, 12:57 AM - Davo Smith</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88786</link>
      <pubDate>Sat, 01 Nov 2025 16:57:41 GMT</pubDate>
      <description>by Davo Smith. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Hi Matt,&lt;br&gt;
&lt;br&gt;
I tried to reach out to you on this, but it doesn't look like I'm able to send you a direct Moodle message.&lt;br&gt;
&lt;br&gt;
Could you drop me an email to moodle@davosmith.co.uk to discuss this patch you have listed above, because I'm really struggling to understand what problem you are trying to solve here?&lt;br&gt;
&lt;br&gt;
This activity already fully supports filtering the list of users by group - to check it works, I've just added a Behat test here: &lt;a href=&quot;https://github.com/davosmith/moodle-checklist/blob/master/tests/behat/groups.feature&quot; class=&quot;_blanktarget&quot; target=&quot;_blank&quot; rel=&quot;noreferrer&quot;&gt;https://github.com/davosmith/moodle-checklist/blob/master/tests/behat/groups.feature&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
This test is passing for Moodle 4.1-5.1 and shows the standard groups selector working as I would expect - a teacher can select different groups from the drop-down and the list of students is filtered according to this list. I'd really like to understand what is different on your system and why you need to modify the code to get it to work? (Or to see if I've completely misunderstood what you're trying to do).&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88786</guid>
    </item>
    <item>
      <title>Friday, 31 October 2025, 6:07 AM - Matt Tyldesley</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88772</link>
      <pubDate>Thu, 30 Oct 2025 22:07:45 GMT</pubDate>
      <description>by Matt Tyldesley. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;To reply to my own comment above, I've managed to get this filtering groups with small tweaks to report.php and locallib.php. I'll explain what I've done below.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
mod/checklist/report.php:&lt;br&gt;
&lt;br&gt;
Simplified the script to a minimal bootstrap that delegates all rendering (header, content, footer, and controls) to checklist_class-&amp;gt;report().&lt;br&gt;
&lt;br&gt;
Some variants of report.php were doing a mixture of:&lt;br&gt;
Calling $OUTPUT-&amp;gt;header()/$OUTPUT-&amp;gt;footer() directly (risking moodle_page::set_state errors, since the class also outputs headers), or&lt;br&gt;
Injecting UI elements (like a second group control), causing duplication and layout issues.&lt;br&gt;
&lt;br&gt;
Full Code:&lt;br&gt;
require(__DIR__ . '/../../config.php');&lt;br&gt;
require_once($CFG-&amp;gt;dirroot . '/mod/checklist/locallib.php');&lt;br&gt;
$id        = required_param('id', PARAM_INT);&lt;br&gt;
$studentid = optional_param('studentid', 0, PARAM_INT);&lt;br&gt;
$url = new moodle_url('/mod/checklist/report.php', ['id' =&amp;gt; $id]);&lt;br&gt;
if ($studentid) {&lt;br&gt;
    $url-&amp;gt;param('studentid', $studentid);&lt;br&gt;
}&lt;br&gt;
$cm        = get_coursemodule_from_id('checklist', $id, 0, false, MUST_EXIST);&lt;br&gt;
$course    = $DB-&amp;gt;get_record('course', ['id' =&amp;gt; $cm-&amp;gt;course], '*', MUST_EXIST);&lt;br&gt;
$checklist = $DB-&amp;gt;get_record('checklist', ['id' =&amp;gt; $cm-&amp;gt;instance], '*', MUST_EXIST);&lt;br&gt;
$PAGE-&amp;gt;set_url($url);&lt;br&gt;
require_login($course, true, $cm);&lt;br&gt;
$context = context_module::instance($cm-&amp;gt;id);&lt;br&gt;
require_capability('mod/checklist:viewreports', $context);&lt;br&gt;
$chk = new checklist_class($cm-&amp;gt;id, $studentid, $checklist, $cm, $course);&lt;br&gt;
echo $chk-&amp;gt;report();&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
mod/checklist/locallib.php&lt;br&gt;
&lt;br&gt;
I replaced the stock group label with a real dropdown and made sure the selection is applied to the user queries. I also added a small, consistent bottom margin so the dropdown doesn’t collide with the “Hide optional items” button.&lt;br&gt;
&lt;br&gt;
Inside checklist_class-&amp;gt;report() find this block:&lt;br&gt;
$out .= groups_print_activity_menu($this-&amp;gt;cm, $thisurl, true);&lt;br&gt;
$activegroup = groups_get_activity_group($this-&amp;gt;cm, true);&lt;br&gt;
if ($activegroup == 0) {&lt;br&gt;
    if (groups_get_activity_groupmode($this-&amp;gt;cm) == SEPARATEGROUPS) {&lt;br&gt;
        if (!has_capability('moodle/site:accessallgroups', $this-&amp;gt;context)) {&lt;br&gt;
            $activegroup = -1; // Not allowed to access any groups.&lt;br&gt;
        }&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Replace that entire block with:&lt;br&gt;
// --- Group selector (always a real dropdown) ---&lt;br&gt;
$activegroup = groups_get_activity_group($this-&amp;gt;cm, true); // Moodle's current group (may be 0)&lt;br&gt;
// Build a course group list the current user can access.&lt;br&gt;
$coursecontext = context_course::instance($this-&amp;gt;course-&amp;gt;id);&lt;br&gt;
$canseeall = has_capability('moodle/site:accessallgroups', $coursecontext);&lt;br&gt;
if ($canseeall) {&lt;br&gt;
    $groups = groups_get_all_groups($this-&amp;gt;course-&amp;gt;id, 0, 0, 'g.id, g.name');&lt;br&gt;
} else {&lt;br&gt;
    global $USER;&lt;br&gt;
    $groups = groups_get_all_groups($this-&amp;gt;course-&amp;gt;id, $USER-&amp;gt;id, 0, 'g.id, g.name');&lt;br&gt;
}&lt;br&gt;
$menugroups = [0 =&amp;gt; get_string('allparticipants')];&lt;br&gt;
foreach ($groups as $g) {&lt;br&gt;
    $menugroups[$g-&amp;gt;id] = format_string($g-&amp;gt;name, true, ['context' =&amp;gt; $coursecontext]);&lt;br&gt;
}&lt;br&gt;
// Render a dropdown that sets the ?group= URL parameter.&lt;br&gt;
$select = new single_select($thisurl, 'group', $menugroups, $activegroup, null);&lt;br&gt;
$select-&amp;gt;label = get_string('groups');&lt;br&gt;
$select-&amp;gt;formid = 'checklist-report-groupselector';&lt;br&gt;
// Compact, consistent spacing&lt;br&gt;
$out .= html_writer::tag(&lt;br&gt;
    'span',&lt;br&gt;
    $OUTPUT-&amp;gt;render($select),&lt;br&gt;
    ['style' =&amp;gt; 'display:inline-block;margin-right:1rem;margin-bottom:8px;']&lt;br&gt;
);&lt;br&gt;
// Respect Separate groups rules when viewer lacks access-all.&lt;br&gt;
if ($activegroup == 0) {&lt;br&gt;
    if (groups_get_activity_groupmode($this-&amp;gt;cm) == SEPARATEGROUPS) {&lt;br&gt;
        if (!has_capability('moodle/site:accessallgroups', $this-&amp;gt;context)) {&lt;br&gt;
            $activegroup = -1; // No permitted groups -&amp;gt; show no users.&lt;br&gt;
        }&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
// Use the explicit selection from the URL if present.&lt;br&gt;
$activegroup = optional_param('group', $activegroup, PARAM_INT);&lt;br&gt;
&lt;br&gt;
Hope this helps someone!&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88772</guid>
    </item>
    <item>
      <title>Friday, 31 October 2025, 3:42 AM - Davo Smith</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88765</link>
      <pubDate>Thu, 30 Oct 2025 19:42:25 GMT</pubDate>
      <description>by Davo Smith. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Matt,&lt;br&gt;
&lt;br&gt;
I've not tried this in ages, but, as far as I can see, the report on user progress is already filtered by group, so I'm not quite sure what you're asking for (unless the filter is currently broken?)&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88765</guid>
    </item>
    <item>
      <title>Friday, 31 October 2025, 2:22 AM - Matt Tyldesley</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88763</link>
      <pubDate>Thu, 30 Oct 2025 18:22:28 GMT</pubDate>
      <description>by Matt Tyldesley. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Hi Everyone,&lt;br&gt;
&lt;br&gt;
I have this plugin and it's working wonderfully on 5.1+&lt;br&gt;
&lt;br&gt;
What I would like to do is be able to filter by group in the 'view progress &amp;gt; edit checks&quot; view, as we have a large number of learners. Has anybody figured a way to enable this filter?&lt;br&gt;
&lt;br&gt;
Thank you&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88763</guid>
    </item>
    <item>
      <title>Wednesday, 10 September 2025, 3:38 AM - Senol Guel</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88294</link>
      <pubDate>Tue, 09 Sep 2025 19:38:47 GMT</pubDate>
      <description>by Senol Guel. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;I found a solution. I commented lines 231-235 in the locallib.php file.&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88294</guid>
    </item>
    <item>
      <title>Wednesday, 10 September 2025, 12:44 AM - Senol Guel</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88292</link>
      <pubDate>Tue, 09 Sep 2025 16:44:58 GMT</pubDate>
      <description>by Senol Guel. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Hi @ David,&lt;br&gt;
&lt;br&gt;
i get the error message on mobile app of moodle.&lt;br&gt;
At background runs Moodle 3.9.4+&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88292</guid>
    </item>
    <item>
      <title>Tuesday, 9 September 2025, 8:42 PM - Davo Smith</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88287</link>
      <pubDate>Tue, 09 Sep 2025 12:42:17 GMT</pubDate>
      <description>by Davo Smith. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Boris - that sounds like an interesting suggestion. I'm unlikely to look at it in my spare time, but if you have a developer who can submit a well-written patch with automated test coverage, then I'd be happy to review it.&lt;br&gt;
&lt;br&gt;
Alternatively, if you are wanting to fund this development, please contact me directly and I can look to see if this could be completed during my working day.&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88287</guid>
    </item>
    <item>
      <title>Tuesday, 9 September 2025, 7:54 PM - Boris R</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-88284</link>
      <pubDate>Tue, 09 Sep 2025 11:54:07 GMT</pubDate>
      <description>by Boris R. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Hi @david,&lt;br&gt;
Would it be possible to add a feature to mod_checklist allowing group-based collaborative validation?&lt;br&gt;
The idea: when one member of a group checks a task, it gets marked as completed for all members of that group.&lt;br&gt;
This would be very useful for shared workflows in group activities.&lt;br&gt;
&lt;br&gt;
Thanks for considering!&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-88284</guid>
    </item>
    <item>
      <title>Tuesday, 8 July 2025, 4:38 PM - Davo Smith</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-87728</link>
      <pubDate>Tue, 08 Jul 2025 08:38:23 GMT</pubDate>
      <description>by Davo Smith. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Senol - that shouldn't be possible - 'core_external\util' is only reference at one place in the code and it checks to see if the class exists, before it tries to use it.&lt;br&gt;
&lt;br&gt;
I'd need to know exactly which version of Moodle and which version of the plugin you were using in order to investigate any further.&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-87728</guid>
    </item>
    <item>
      <title>Tuesday, 8 July 2025, 4:33 PM - Senol Guel</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-87727</link>
      <pubDate>Tue, 08 Jul 2025 08:33:59 GMT</pubDate>
      <description>by Senol Guel. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;If i use this plugin on Moodle App it returns a &quot;Class 'core_external\util' not found&quot; error. Is there a solution?&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-87727</guid>
    </item>
    <item>
      <title>Tuesday, 3 June 2025, 2:36 PM - Vincent Garnier</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-87467</link>
      <pubDate>Tue, 03 Jun 2025 06:36:04 GMT</pubDate>
      <description>by Vincent Garnier. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Thank you Davo. I will have my developper take a look at it. &lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-87467</guid>
    </item>
    <item>
      <title>Friday, 30 May 2025, 8:24 PM - Davo Smith</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-87431</link>
      <pubDate>Fri, 30 May 2025 12:24:25 GMT</pubDate>
      <description>by Davo Smith. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Vincent,&lt;br&gt;
&lt;br&gt;
I've not looked at what is involved in adding subsection support to the checklist activity, so I don't know how complicated it would be.&lt;br&gt;
&lt;br&gt;
I'm very unlikely to look at it anytime soon (I do very little Moodle development in my free time), but I'd certainly review a well written patch that implemented such a feature (as long as it had good automated test coverage and followed the Moodle coding guidelines).&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-87431</guid>
    </item>
    <item>
      <title>Friday, 30 May 2025, 6:09 PM - Vincent Garnier</title>
      <link>https://moodle.org/plugins/mod_checklist#comment-87430</link>
      <pubDate>Fri, 30 May 2025 10:09:38 GMT</pubDate>
      <description>by Vincent Garnier. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;no-overflow&quot;&gt;&lt;div class=&quot;text_to_html&quot;&gt;Hello, first we love you plugin!! We are upgrading to 4.5 in july to take advantage of the addition of subsections. But we have a major issue. We use checklist everywhere in our courses within sections.Would it possible to add a setting inside a checklist to include section and subsections ? For example a section has 4 subsections. I want a check list that includes activities in the 4 subsections. Or I have a checklist in the last subsection and I want to include activities from the 3 previous subsections. &lt;/div&gt;&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/plugins/mod_checklist#comment-87430</guid>
    </item>
  </channel>
</rss>