Moodle
  1. Moodle
  2. MDL-29689

A student can't see a feedback attached to an assignment with no grade

    Details

    • Testing Instructions:
      Hide

      Test below instructions for all assignment(2.2) types

      1-Create an assignment (of any type)
      2-In the assignment's settings: set "Grade" to "No grade".
      3-As a student, hand in an assignment.
      4-Add a feedback to the assignment.

      Expected behaviour:
      – Student should see the feedback and not grade.

      Original behaviour
      – Student won't be able to see the grade/feedback.

      1-Create an assignment
      2-In the assignment's settings, set "Grade" to a numerical value.
      3-As a student, hand in an assignment.
      4-Add a feedback to the assignment while leaving Grade to "No grade".
      -The student will be able to see the feedback and grade as ''.
      5-Grade the assignment
      --The student should see feedback and proper formatted grades.

      Show
      Test below instructions for all assignment(2.2) types 1-Create an assignment (of any type) 2-In the assignment's settings: set "Grade" to "No grade". 3-As a student, hand in an assignment. 4-Add a feedback to the assignment. Expected behaviour: – Student should see the feedback and not grade. Original behaviour – Student won't be able to see the grade/feedback. 1-Create an assignment 2-In the assignment's settings, set "Grade" to a numerical value. 3-As a student, hand in an assignment. 4-Add a feedback to the assignment while leaving Grade to "No grade". - The student will be able to see the feedback and grade as ' '. 5-Grade the assignment --The student should see feedback and proper formatted grades.
    • Workaround:
      Hide

      1-Set a maximum grade for the assignment.
      2-Create a category in the gradebook with a total value of 0.
      3-Put the assignment inside the new category.

      Show
      1-Set a maximum grade for the assignment. 2-Create a category in the gradebook with a total value of 0. 3-Put the assignment inside the new category.
    • Affected Branches:
      MOODLE_20_STABLE, MOODLE_21_STABLE, MOODLE_22_STABLE, MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_24_STABLE
    • Pull Master Branch:
      wip-mdl-29689
    • Rank:
      19198

      Description

      If "No grade" has been selected for the maximum grade of an assignment in the assignment's settings, a student won't be able to see the feedback given by the teacher.
      However, if a maximum grade has been selected in the assignment's settings and the teacher leave doesn't give a grade to the student but gives a feedback, then the student will see the feedback.(Same behavior if the teacher actually gives a grade to the student)

        Issue Links

          Activity

          Hide
          Arshad Hussanee added a comment -

          Yes I am having the same problem too. Does anyone know if that has been fixed in 2.1.2?

          Show
          Arshad Hussanee added a comment - Yes I am having the same problem too. Does anyone know if that has been fixed in 2.1.2?
          Hide
          Irena Blazevic added a comment -

          I have this problem and I need to be able to give my students feedback without any grades.

          Show
          Irena Blazevic added a comment - I have this problem and I need to be able to give my students feedback without any grades.
          Hide
          Minh-Tam Nguyen added a comment -

          also affects 2.1

          Show
          Minh-Tam Nguyen added a comment - also affects 2.1
          Hide
          Monash University VLE team added a comment -

          Affects 2.0.2, 2.0.3, 2.0.4, 2.0.5, demo.moodle.net

          Teachers at our University are using the 'No grade' for optional tasks which makes perfect sense. However, as they use the 'No grade' method the feedback provided by the teacher is not shown to the student, which defeats the purpose of the exercise.

          Show
          Monash University VLE team added a comment - Affects 2.0.2, 2.0.3, 2.0.4, 2.0.5, demo.moodle.net Teachers at our University are using the 'No grade' for optional tasks which makes perfect sense. However, as they use the 'No grade' method the feedback provided by the teacher is not shown to the student, which defeats the purpose of the exercise.
          Hide
          Arshad Hussanee added a comment -

          Another problem from No Grade: When lecturers upload back a modified version of the document, Students can see only their own document, but not the modified version uploaded by the lecturer. To get it to work so student can see them, the lecturer needs to remove no grade and give the student any grade for it to show. That's not good.

          Show
          Arshad Hussanee added a comment - Another problem from No Grade: When lecturers upload back a modified version of the document, Students can see only their own document, but not the modified version uploaded by the lecturer. To get it to work so student can see them, the lecturer needs to remove no grade and give the student any grade for it to show. That's not good.
          Hide
          Sophia N added a comment -

          We have same problem version 2.0.

          Show
          Sophia N added a comment - We have same problem version 2.0.
          Hide
          Jean-Philippe Gaudreau added a comment -

          I've just submitted a patch for this bug in all Moodle 2.x stable branches. I'm waiting for feedbacks by the community for future integration.

          I also refactored the view_feedback method for "Upload a single file" and "Advanced uploading of files" assignments so that the method only exists in assignment_base super class. I added the method view_responsefile in assignment_upload and assignment_uploadsingle because it's the only part in view_feedback that is specific to those types of assignments.

          Show
          Jean-Philippe Gaudreau added a comment - I've just submitted a patch for this bug in all Moodle 2.x stable branches. I'm waiting for feedbacks by the community for future integration. I also refactored the view_feedback method for "Upload a single file" and "Advanced uploading of files" assignments so that the method only exists in assignment_base super class. I added the method view_responsefile in assignment_upload and assignment_uploadsingle because it's the only part in view_feedback that is specific to those types of assignments.
          Hide
          Lindy Klein added a comment -

          I have a client experiencing this issue as well - I don't know if it helps, but here is one proposed workaround for it:

          I believe you will need to make the assessments gradable for students to be able to see the feedback, but if you don't want those grades contributing to the course mark, follow these steps:

          Step1 - go to the Grader report by clicking the "Grades" link in the Settings block from the front page of the course.

          Step 2 - turn editing on by clicking the button in the upper-right hand area of the page

          Step 3 - go to the "Categories and Items" area of the grader report

          Step 4 - Click the "Add category" button to create a category for holding items that don't contribute to the overall course grade (in this case, called "Non-included items". In the settings for this category, select "Grade type" "None" (you may have to Show Advanced, depending on your site administrator's settings). Save the settings for the category.

          Step 5 - Check settings for the Course Overall Category, to ensure "Aggregate including sub-categories" is deselected. Do this by clicking on the edit settings icon, and show advanced settings.

          Step 6 - Move assignment that you prefer not to contribute to the overall class grades into the new category (Non-included items).

          Although students will be able to see the mark they received on this task, it will no longer be included in the aggregate for the course mark.

          I would also create a custom scale to use for grading these items, and use scale phrases such as "received and returned as draft" and "received and completed". This gives your students useful additional feedback, without affecting their course grades. For more on scales, see here: http://docs.moodle.org/22/en/Scales.

          Show
          Lindy Klein added a comment - I have a client experiencing this issue as well - I don't know if it helps, but here is one proposed workaround for it: I believe you will need to make the assessments gradable for students to be able to see the feedback, but if you don't want those grades contributing to the course mark, follow these steps: Step1 - go to the Grader report by clicking the "Grades" link in the Settings block from the front page of the course. Step 2 - turn editing on by clicking the button in the upper-right hand area of the page Step 3 - go to the "Categories and Items" area of the grader report Step 4 - Click the "Add category" button to create a category for holding items that don't contribute to the overall course grade (in this case, called "Non-included items". In the settings for this category, select "Grade type" "None" (you may have to Show Advanced, depending on your site administrator's settings). Save the settings for the category. Step 5 - Check settings for the Course Overall Category, to ensure "Aggregate including sub-categories" is deselected. Do this by clicking on the edit settings icon, and show advanced settings. Step 6 - Move assignment that you prefer not to contribute to the overall class grades into the new category (Non-included items). Although students will be able to see the mark they received on this task, it will no longer be included in the aggregate for the course mark. I would also create a custom scale to use for grading these items, and use scale phrases such as "received and returned as draft" and "received and completed". This gives your students useful additional feedback, without affecting their course grades. For more on scales, see here: http://docs.moodle.org/22/en/Scales .
          Hide
          Michael de Raadt added a comment -

          Thanks to those involved in this issue.

          Show
          Michael de Raadt added a comment - Thanks to those involved in this issue.
          Hide
          Adam Barbary added a comment -

          If you are going to the trouble of creating categories for excluding grades, then you might as well add a scale, with a couple of arbitrary levels, such as "Needs review", "Feedback", then the student won't see a mark at all, just one of the values you assigned to the scale. You will still need to use the category method, described by Lindy above, as Moodle will still assign a numerical value to the grade.

          Hopefully a fix for this will be available soon.
          Adam

          Show
          Adam Barbary added a comment - If you are going to the trouble of creating categories for excluding grades, then you might as well add a scale, with a couple of arbitrary levels, such as "Needs review", "Feedback", then the student won't see a mark at all, just one of the values you assigned to the scale. You will still need to use the category method, described by Lindy above, as Moodle will still assign a numerical value to the grade. Hopefully a fix for this will be available soon. Adam
          Hide
          Garret Gengler added a comment -

          @Jean-Philippe Gaudreau: thanks for your patch suggestion. I think you have the correct approach, and wish it would get integrated into a 2.2.x release. I wasn't able to test your patch directly, since your branch seemed to be an older 2.2 than I am running. But maybe I grabbed the wrong version from GIT.

          I was able to steal some of your ideas, and hack a quick fix to /mod/assignment/lib.php. This should work for Moodle 2.2.3, 2.2.4, and 2.2.5. This is not a complete fix, likely does not follow coding guidelines, and has not been tested extensively. But it does appear to fix the issue. It's running live now on our 2.2 production server, which supports about 150 classes and 2000+ users.

          Hope this helps someone.
          -Garret Gengler / University of Illinois

          --- lib.php.orig        2012-06-21 16:31:44.972390916 -0500
          +++ lib.php     2012-09-19 10:06:24.361909989 -0500
          @@ -292,13 +292,28 @@
                   $item = $grading_info->items[0];
                   $grade = $item->grades[$userid];
           
          +       //bug fix: show feedback for non-graded assignments
          +
          +        $fs = get_file_storage();
          +        $noresponsefiles = $fs->is_area_empty($this->context->id, 'mod_assignment', 'response', $submission->id);
          +
                   if ($grade->hidden or $grade->grade === false) { // hidden or error
                       return;
                   }
           
                   if ($grade->grade === null and empty($grade->str_feedback)) {   /// Nothing to show yet
          +
          +         // try to load submission comment
          +         if (!(empty($submission->submissioncomment) && $noresponsefiles)) {
          +           $grade->usermodified=$submission->teacher;
          +           $grade->dategraded=$submission->timemarked;
          +            $grade->str_feedback = $submission->submissioncomment;
          +           $grade->str_long_grade='-';
          +         }
          +         else {
                       return;
                   }
          +        }
           
                   $graded_date = $grade->dategraded;
                   $graded_by   = $grade->usermodified;
          
          Show
          Garret Gengler added a comment - @Jean-Philippe Gaudreau: thanks for your patch suggestion. I think you have the correct approach, and wish it would get integrated into a 2.2.x release. I wasn't able to test your patch directly, since your branch seemed to be an older 2.2 than I am running. But maybe I grabbed the wrong version from GIT. I was able to steal some of your ideas, and hack a quick fix to /mod/assignment/lib.php. This should work for Moodle 2.2.3, 2.2.4, and 2.2.5. This is not a complete fix, likely does not follow coding guidelines, and has not been tested extensively. But it does appear to fix the issue. It's running live now on our 2.2 production server, which supports about 150 classes and 2000+ users. Hope this helps someone. -Garret Gengler / University of Illinois --- lib.php.orig 2012-06-21 16:31:44.972390916 -0500 +++ lib.php 2012-09-19 10:06:24.361909989 -0500 @@ -292,13 +292,28 @@ $item = $grading_info->items[0]; $grade = $item->grades[$userid]; + //bug fix: show feedback for non-graded assignments + + $fs = get_file_storage(); + $noresponsefiles = $fs->is_area_empty($this->context->id, 'mod_assignment', 'response', $submission->id); + if ($grade->hidden or $grade->grade === false) { // hidden or error return; } if ($grade->grade === null and empty($grade->str_feedback)) { /// Nothing to show yet + + // try to load submission comment + if (!(empty($submission->submissioncomment) && $noresponsefiles)) { + $grade->usermodified=$submission->teacher; + $grade->dategraded=$submission->timemarked; + $grade->str_feedback = $submission->submissioncomment; + $grade->str_long_grade='-'; + } + else { return; } + } $graded_date = $grade->dategraded; $graded_by = $grade->usermodified;
          Hide
          Rajesh Taneja added a comment -

          Hello Jean-Philippe, Garret and Anthony,

          Can you please confirm if this is still an issue.
          I tried replicating this issue on master, but seems it has been fixed.

          Show
          Rajesh Taneja added a comment - Hello Jean-Philippe, Garret and Anthony, Can you please confirm if this is still an issue. I tried replicating this issue on master, but seems it has been fixed.
          Hide
          Jean-Philippe Gaudreau added a comment -

          Hi Rajesh,

          hemm... that's weird on my side I was able to replicate the bug on master branch with the given testing instructions.

          Are you sure you did the test on Assignment (2.2) ?

          Cheers!

          Show
          Jean-Philippe Gaudreau added a comment - Hi Rajesh, hemm... that's weird on my side I was able to replicate the bug on master branch with the given testing instructions. Are you sure you did the test on Assignment (2.2) ? Cheers!
          Hide
          Garret Gengler added a comment -

          I need a bit of time to get the master set up again for testing. (We have kept our production and dev sites on 2.2.x because of the msie performance problems with 2.3.)

          I did check CVS... the section of /mod/assignment/lib.php I had to modify has not been changed in the master branch.

          Best,
          -Garret

          Show
          Garret Gengler added a comment - I need a bit of time to get the master set up again for testing. (We have kept our production and dev sites on 2.2.x because of the msie performance problems with 2.3.) I did check CVS... the section of /mod/assignment/lib.php I had to modify has not been changed in the master branch. Best, -Garret
          Hide
          Rajesh Taneja added a comment -

          Aha, Sorry guys I was reading the test instructions and missed on description.

          Show
          Rajesh Taneja added a comment - Aha, Sorry guys I was reading the test instructions and missed on description.
          Hide
          Rajesh Taneja added a comment -

          Thanks for the patch Jean,
          I have added few things to your patch to keep it BC.

          Original branches for reference:
          git@github.com:StudiumDevel/moodle.git
          21 Branch:
          MDL-29689_no_feedback_assignment_moodle21
          https://github.com/StudiumDevel/moodle/compare/MOODLE_21_STABLE...MDL-29689_no_feedback_assignment_moodle21

          22 Branch:
          MDL-29689_no_feedback_assignment_moodle22
          https://github.com/StudiumDevel/moodle/compare/MOODLE_22_STABLE...MDL-29689_no_feedback_assignment_moodle22

          Master Branch:
          MDL-29689_no_feedback_assignment
          https://github.com/StudiumDevel/moodle/compare/master...MDL-29689_no_feedback_assignment

          Show
          Rajesh Taneja added a comment - Thanks for the patch Jean, I have added few things to your patch to keep it BC. Original branches for reference: git@github.com:StudiumDevel/moodle.git 21 Branch: MDL-29689 _no_feedback_assignment_moodle21 https://github.com/StudiumDevel/moodle/compare/MOODLE_21_STABLE...MDL-29689_no_feedback_assignment_moodle21 22 Branch: MDL-29689 _no_feedback_assignment_moodle22 https://github.com/StudiumDevel/moodle/compare/MOODLE_22_STABLE...MDL-29689_no_feedback_assignment_moodle22 Master Branch: MDL-29689 _no_feedback_assignment https://github.com/StudiumDevel/moodle/compare/master...MDL-29689_no_feedback_assignment
          Hide
          Rajesh Taneja added a comment -

          '-' has been used as hard-coded string, which is similar to what we use in gradelib.php

          $grade->str_grade      = '-';
          
          Show
          Rajesh Taneja added a comment - '-' has been used as hard-coded string, which is similar to what we use in gradelib.php $grade->str_grade = '-';
          Hide
          Adrian Greeve added a comment -

          [N] Syntax mod/assignment/lib.php - line 272 Boolean should be shortened to bool as per the coding style guidelines.
          line 324, 334, 363 $str_long_grade should not contain an underscore.
          line 322, 332, 352 $feedback_data should not contain an underscore.
          mod/assignment/type/upload/assignment.class.php line 67 I don't see a reason why this if statement can't be combined with the one below.
          [Y] Output - Output coinsides with surrounding code.
          [N] Whitespace mod/assignment/lib.php - line 316
          [N/A] Language
          [Y] Databases Database calls are restricted to library functions.
          [Y] Testing
          [Y] Security
          [N/A] Documentation
          [Y] Git
          [Y] Sanity check

          I didn't find any real problems. The solution works well, just some minor syntax problems.

          Show
          Adrian Greeve added a comment - [N] Syntax mod/assignment/lib.php - line 272 Boolean should be shortened to bool as per the coding style guidelines. line 324, 334, 363 $str_long_grade should not contain an underscore. line 322, 332, 352 $feedback_data should not contain an underscore. mod/assignment/type/upload/assignment.class.php line 67 I don't see a reason why this if statement can't be combined with the one below. [Y] Output - Output coinsides with surrounding code. [N] Whitespace mod/assignment/lib.php - line 316 [N/A] Language [Y] Databases Database calls are restricted to library functions. [Y] Testing [Y] Security [N/A] Documentation [Y] Git [Y] Sanity check I didn't find any real problems. The solution works well, just some minor syntax problems.
          Hide
          Rajesh Taneja added a comment -

          Thanks for the review Adrian,

          modified patch, taking your comments in account. Pushing it only for master as this seems to be behaviour change, will port it to stable if need-be

          Show
          Rajesh Taneja added a comment - Thanks for the review Adrian, modified patch, taking your comments in account. Pushing it only for master as this seems to be behaviour change, will port it to stable if need-be
          Hide
          Dan Poltawski added a comment -

          The integration of this issue has been delayed to next week because the integration period is over (Monday, Tuesday) and testing must happen on Wednesday.
          This change to a more rigid timeframe on each integration/testing cycle aims to produce a better and clear separation and organization of tasks for everybody.
          This is a bulk-automated message, so if you want to blame somebody/thing/where, don't do it here (use git instead) :-D :-P
          Apologizes for the inconvenient, this will be integrated next week. Thanks for your collaboration & ciao

          Show
          Dan Poltawski added a comment - The integration of this issue has been delayed to next week because the integration period is over (Monday, Tuesday) and testing must happen on Wednesday. This change to a more rigid timeframe on each integration/testing cycle aims to produce a better and clear separation and organization of tasks for everybody. This is a bulk-automated message, so if you want to blame somebody/thing/where, don't do it here (use git instead) :-D :-P Apologizes for the inconvenient, this will be integrated next week. Thanks for your collaboration & ciao
          Hide
          Aparup Banerjee added a comment -

          The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.

          TIA and ciao

          Show
          Aparup Banerjee added a comment - The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week. TIA and ciao
          Hide
          Dan Poltawski added a comment -

          The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.

          TIA and ciao

          Show
          Dan Poltawski added a comment - The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week. TIA and ciao
          Hide
          Sam Hemelryk added a comment -

          Thanks Raj, this has been integrated now.

          I do think that this should be backported, at least to the 2.3 branch. I'll create an issue for it now and assign it to you. It will require testing prior to being put up of course

          Many thanks
          Sam

          Show
          Sam Hemelryk added a comment - Thanks Raj, this has been integrated now. I do think that this should be backported, at least to the 2.3 branch. I'll create an issue for it now and assign it to you. It will require testing prior to being put up of course Many thanks Sam
          Hide
          Sam Hemelryk added a comment -

          Linking to MDL-36377 the issue to backport this bug fix.

          Show
          Sam Hemelryk added a comment - Linking to MDL-36377 the issue to backport this bug fix.
          Hide
          Rajesh Taneja added a comment -

          Thanks Sam,

          Will do this after 2.4 QA, I was hesitant because it was touching few things and was a major change.

          Show
          Rajesh Taneja added a comment - Thanks Sam, Will do this after 2.4 QA, I was hesitant because it was touching few things and was a major change.
          Hide
          Martin Dougiamas added a comment -

          Just a note that, in general, we shouldn't be spending time supporting the old Assignment (2.2) from now on. Focus on the new assignment module introduced in 2.3.

          Show
          Martin Dougiamas added a comment - Just a note that, in general, we shouldn't be spending time supporting the old Assignment (2.2) from now on. Focus on the new assignment module introduced in 2.3.
          Hide
          Andrew Davis added a comment -

          Tested in master. Works as described. Passing.

          A note for the assignee (Rajesh) and the peer reviewer (Adrian), the testing instructions shouldn't contain references to the original broken behaviour.

          Show
          Andrew Davis added a comment - Tested in master. Works as described. Passing. A note for the assignee (Rajesh) and the peer reviewer (Adrian), the testing instructions shouldn't contain references to the original broken behaviour.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Amazed. Inspired. Grateful. That’s how your generosity makes me feel.

          (not really)

          Closing, thanks!

          Show
          Eloy Lafuente (stronk7) added a comment - Amazed. Inspired. Grateful. That’s how your generosity makes me feel. (not really) Closing, thanks!

            People

            • Votes:
              43 Vote for this issue
              Watchers:
              26 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: