Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-30179

User report and Grader report are inconsistent for the grade that is hidden. Allow teacher to toggle to/from "user view"

    Details

    • Affected Branches:
      MOODLE_21_STABLE, MOODLE_27_STABLE, MOODLE_28_STABLE
    • Epic Link:

      Description

      If I am a grader and I decided to hide the grade for one student for an assignment, I can still see it in the Grader report (but the font is gray).
      If I (again as a grader) go to the user report for this user I:

      • CAN see the assignment
      • CAN NOT see any grade, not even gray, in the columns 'Grade', 'Percentage', 'Rank'
      • CAN see the grade in the column 'Letter grade' (I enabled it in settings)
        As a student I don't see this assignment in the user report at all.

      There should be a clear policy, what User report shows if it is viewed by a grader:
      1) it shows the same as Grader report but for a particular user
      or
      2) it shows the same as what this user would see in his User report

      Depending on this policy the hidden grades should be shown or the whole line with module should not be shown at all.


      Regarding 'Rank': there should be also a policy whether to include the hidden grades in rank or not. At the moment they are included, so for other students the rank is calculated as if hidden grades were normal grades. But for student whose grade is hidden, rank is not displayed (although exists)

      The column 'Average' displays the average only for grades that are not hidden. So for other users it looks strange: "Rank 2/4, Average 30.00 (3)"

      So I would suggest that Rank should not include hidden grades

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            dougiamas Martin Dougiamas added a comment -

            Adam and Robert: should we change the default assignee for newly reported gradebook bugs (like this one) to be one of you guys? If not, let's work out what to do.

            Show
            dougiamas Martin Dougiamas added a comment - Adam and Robert: should we change the default assignee for newly reported gradebook bugs (like this one) to be one of you guys? If not, let's work out what to do.
            Hide
            marina Marina Glancy added a comment -

            Just noticed:

            in Grader report the 'Average' for the module DOES include hidden grades. The same field in User report DOES NOT include them. One more inconsistent thing

            Show
            marina Marina Glancy added a comment - Just noticed: in Grader report the 'Average' for the module DOES include hidden grades. The same field in User report DOES NOT include them. One more inconsistent thing
            Hide
            marina Marina Glancy added a comment -

            Sorry, can't keep commenting:

            There is actually a setting for Grader report "Grades selected for column averages" (grade_report_meanselection), but it does not say how it considers hidden grades

            There is a setting for user report grade_report_user_showhiddenitems. If set the student can see module on which his grade was hidden, and luckily no grades there, even 'Letter grade' is empty.

            And there is another setting for User report grade_report_user_showtotalsifcontainhidden, which can be set to 'Show totals including hidden items' which is absolutely crazy. In this case student can not see the hidden grade, he sees this module as if it has not been graded, but his total looks completely random for him (because it includes grades he can not see).

            Show
            marina Marina Glancy added a comment - Sorry, can't keep commenting: There is actually a setting for Grader report "Grades selected for column averages" ( grade_report_meanselection ), but it does not say how it considers hidden grades There is a setting for user report grade_report_user_showhiddenitems . If set the student can see module on which his grade was hidden, and luckily no grades there, even 'Letter grade' is empty. And there is another setting for User report grade_report_user_showtotalsifcontainhidden, which can be set to 'Show totals including hidden items' which is absolutely crazy. In this case student can not see the hidden grade, he sees this module as if it has not been graded, but his total looks completely random for him (because it includes grades he can not see).
            Hide
            rrusso Robert Russo added a comment -

            Please assign Adam Zapletal (azaple1), Robert Russo (rrusso), and Philip Cali (pcali1) to Moodle 2 Gradebook Bugs.

            Show
            rrusso Robert Russo added a comment - Please assign Adam Zapletal (azaple1), Robert Russo (rrusso), and Philip Cali (pcali1) to Moodle 2 Gradebook Bugs.
            Hide
            jackdaniels JD added a comment -

            And there is another setting for User report grade_report_user_showtotalsifcontainhidden, which can be set to 'Show totals including hidden items' which is absolutely crazy. In this case student can not see the hidden grade, he sees this module as if it has not been graded, but his total looks completely random for him (because it includes grades he can not see).

            We have exactly this behavior using latest version 2.4.3. It would be nice to clean this eventually.

            Thanks.

            Show
            jackdaniels JD added a comment - And there is another setting for User report grade_report_user_showtotalsifcontainhidden, which can be set to 'Show totals including hidden items' which is absolutely crazy. In this case student can not see the hidden grade, he sees this module as if it has not been graded, but his total looks completely random for him (because it includes grades he can not see). We have exactly this behavior using latest version 2.4.3. It would be nice to clean this eventually. Thanks.
            Hide
            andyjdavis Andrew Davis added a comment -

            This issue was assigned to me automatically, however I will not be able to work on this issue in the immediate future. In order to create a truer sense of the state of this issue and to allow other developers to have chance to become involved, I am removing myself as the assignee of this issue.

            For more information, see http://docs.moodle.org/dev/Changes_to_issue_assignment

            Show
            andyjdavis Andrew Davis added a comment - This issue was assigned to me automatically, however I will not be able to work on this issue in the immediate future. In order to create a truer sense of the state of this issue and to allow other developers to have chance to become involved, I am removing myself as the assignee of this issue. For more information, see http://docs.moodle.org/dev/Changes_to_issue_assignment
            Hide
            damyon Damyon Wiese added a comment -

            This was raised again during the gradebook push for 2.8. It was decided a teacher should be able to toggle their view to show/hide the hidden items (if hidden the view should match the student view).

            Show
            damyon Damyon Wiese added a comment - This was raised again during the gradebook push for 2.8. It was decided a teacher should be able to toggle their view to show/hide the hidden items (if hidden the view should match the student view).
            Hide
            mcka0074 Mark McKay added a comment -

            Damyon, is there a separate issue for the toggle feature?

            Show
            mcka0074 Mark McKay added a comment - Damyon, is there a separate issue for the toggle feature?
            Hide
            emerrill Eric Merrill added a comment -

            The Gradebook Working Group took this up. I will be working on specs for this.

            Show
            emerrill Eric Merrill added a comment - The Gradebook Working Group took this up. I will be working on specs for this.
            Hide
            jlsimms Jason Simms added a comment -

            This fix would reduce the issue where a student contacts faculty asking why their grade view shows something, and then the faculty has no way to view this in the absence of physically being with the student; that is, faculty have no way to see what a particular student sees. So then faculty have to contact a support admin to log in as a given student, take a screenshot, etc. in order to move forward and resolve questions or concerns.

            Show
            jlsimms Jason Simms added a comment - This fix would reduce the issue where a student contacts faculty asking why their grade view shows something, and then the faculty has no way to view this in the absence of physically being with the student; that is, faculty have no way to see what a particular student sees. So then faculty have to contact a support admin to log in as a given student, take a screenshot, etc. in order to move forward and resolve questions or concerns.
            Hide
            emerrill Eric Merrill added a comment -

            I'm looking to get feedback so we can take this the "right" way.

            I made a UI mockup. It's functional, but I don't really love it. Also, each menu auto-submits, so you can't change both on the same page load. Thoughts? Ideas?
            Unable to render embedded object: File (MDL-30179mockup1.png) not found.
            One change that was already suggested is that the "View as" item shouldn't appear when no selection has been made from the menu.

            For the following, I'm going to be using Teacher to mean the person logged in, and Student to mean the person they are viewing, but roles and permissions may vary.

            Here are general considerations that have to be decided:
            1 - Should the toggle be displayed even if the Teacher and Student have the same relevant permissions?
            1A - Yes. Provides consistency in the interface, and is less ambiguous, particularly on the 'all users' display
            1B - No. We should not how and interface that will provide no visible change

            My opinion 1A. I think it would be complicated (pragmatically) and confusing (from a user standpoint) to have it there sometimes and not others.

            2 - How should this setting be "remembered":
            2A - The setting should return to its default every time the teacher comes to the report page
            2B - The setting should be remembered for the duration of the teacher's session
            2C - The setting should always remembered the last used setting

            My opinion 2B. I think this is the right balance between usability when clicking around and sticking in a permanent state.

            3 - Should the default be configurable:
            3A - No, it should always default to "Student" view
            3B - No, it should always default to "Teacher" view (current behavior)
            3C - The default should be site configurable
            3D - The default should be configurable as a grade setting (Site setting -> course setting)
            3E - The default should be a user preference

            My opinion 3A. They are all valid - the order of complexity to implement: 3A/3B, 3C, 3D, 3E. 3E gets particularly complicated.

            4 - Verbiage (these are examples of a style, and could be cleaned up/made more clear. Open to suggestions):
            4A - View as [user | myself]
            4B - View as [student | instructor]
            4C - View as [Student Name | myself]
            4D - Some graphical toggle/representation (what?)
            ?

            My opinion 4A. Because of how permissions and roles may be assigned, student to student and instructor to instructor may have different views of the report - we don't have a accurate way to describe that.

            Show
            emerrill Eric Merrill added a comment - I'm looking to get feedback so we can take this the "right" way. I made a UI mockup. It's functional, but I don't really love it. Also, each menu auto-submits, so you can't change both on the same page load. Thoughts? Ideas? Unable to render embedded object: File ( MDL-30179 mockup1.png) not found. One change that was already suggested is that the "View as" item shouldn't appear when no selection has been made from the menu. For the following, I'm going to be using Teacher to mean the person logged in, and Student to mean the person they are viewing, but roles and permissions may vary. Here are general considerations that have to be decided: 1 - Should the toggle be displayed even if the Teacher and Student have the same relevant permissions? 1A - Yes. Provides consistency in the interface, and is less ambiguous, particularly on the 'all users' display 1B - No. We should not how and interface that will provide no visible change My opinion 1A . I think it would be complicated (pragmatically) and confusing (from a user standpoint) to have it there sometimes and not others. 2 - How should this setting be "remembered": 2A - The setting should return to its default every time the teacher comes to the report page 2B - The setting should be remembered for the duration of the teacher's session 2C - The setting should always remembered the last used setting My opinion 2B . I think this is the right balance between usability when clicking around and sticking in a permanent state. 3 - Should the default be configurable: 3A - No, it should always default to "Student" view 3B - No, it should always default to "Teacher" view (current behavior) 3C - The default should be site configurable 3D - The default should be configurable as a grade setting (Site setting -> course setting) 3E - The default should be a user preference My opinion 3A . They are all valid - the order of complexity to implement: 3A/3B, 3C, 3D, 3E. 3E gets particularly complicated. 4 - Verbiage (these are examples of a style, and could be cleaned up/made more clear. Open to suggestions): 4A - View as [user | myself] 4B - View as [student | instructor] 4C - View as [Student Name | myself] 4D - Some graphical toggle/representation (what?) ? My opinion 4A . Because of how permissions and roles may be assigned, student to student and instructor to instructor may have different views of the report - we don't have a accurate way to describe that.
            Hide
            damyon Damyon Wiese added a comment -

            I understand that "view as student" makes sense for the common use case - but there are other use cases to consider as well - e.g. Moodle for workplace. Conceptually we do not have any such thing as "student" and "teacher" any user can have any number of roles at any context.

            What this is really doing - is toggling the whether the view includes hidden grades or not. I would think that if the user has the capability to see hidden grades, they should have a checkbox option to either show or hide hidden grades from the view and that achieves the same end result.

            Show
            damyon Damyon Wiese added a comment - I understand that "view as student" makes sense for the common use case - but there are other use cases to consider as well - e.g. Moodle for workplace. Conceptually we do not have any such thing as "student" and "teacher" any user can have any number of roles at any context. What this is really doing - is toggling the whether the view includes hidden grades or not. I would think that if the user has the capability to see hidden grades, they should have a checkbox option to either show or hide hidden grades from the view and that achieves the same end result.
            Hide
            emerrill Eric Merrill added a comment -

            That is why of you look, I don't recommend as student/teacher (option 4), I was just using that as nomenclature for the discussion.

            Also, hide/show hidden does not work, as the "student" may have view hidden permissions, and the aggregate can have various hidden settings, and the course may be set to show hidden items (or even just some hidden items).

            IMO, the report has to have 2 displays modes:

            1. Show the "teacher" report, like it does now with the viewing user's permissions
            2. Show the report as the other user ("student") will see it, based on their specific permissions and the course settings.

            So it becomes a matter of how do we convey that concept to the user using the report.

            Show
            emerrill Eric Merrill added a comment - That is why of you look, I don't recommend as student/teacher (option 4), I was just using that as nomenclature for the discussion. Also, hide/show hidden does not work, as the "student" may have view hidden permissions, and the aggregate can have various hidden settings, and the course may be set to show hidden items (or even just some hidden items). IMO, the report has to have 2 displays modes: Show the "teacher" report, like it does now with the viewing user's permissions Show the report as the other user ("student") will see it, based on their specific permissions and the course settings. So it becomes a matter of how do we convey that concept to the user using the report.
            Hide
            stronk7 Eloy Lafuente (stronk7) added a comment -

            Hi, my opinion about the numbered aspects:

            1A - Agree, yes, the select must be there always irrespectively of permissions/results.

            2B - Agree, has sense to keep the last used "mode" for the session.

            3 - Disagree. Here I'm undecided. It clearly depends of which is the most important reason teachers do visit the user report. Is it used to view the information isolated for a student (3B) or is it used to verify which information the student will see (3A). Personally I feel myself inclined to use it for isolation/better reading, not for verifying how the student will see the information (I assume it will be ok always). But I'm not strong about this, maybe real teachers do use it in another way.

            4 - This is the more complex one, indeed. For sure, one of the options must be the "teacher view". I don't mind if it's called "default view" (note I did pick 3A above), "my view", "teacher view" or the translation of the "teacher" role for the course. Then, it's the other element, the tricky one. Right now I don't understand how all the settings/permissions are going to be "simulated", in fact I'm not 100% sure if it's achievable at all, is it?

            And that immediately leads me to the question... wouldn't be easier to, instead of that... simply show the "Change to role xxxxx" there and done? That way everything is evaluated in "real" mode with the correct permissions and it already exists and works. Do we really need to create another "switcher" feature when we do have one working for any page?

            Note that, if the "change to role xxxx" feature is decided to be used, that renders some/all of the questions above to fall out of context. That feature already has its way to work.

            If the "change to role xxxx" is not accepted as a viable solution, then I feel myself inclined to show there a list of different roles (different from the default/my one shown as default) having access to the report and then, go and simulate the view for each one with its permissions (again, if that is possible, I don't think so).

            Ciao

            Show
            stronk7 Eloy Lafuente (stronk7) added a comment - Hi, my opinion about the numbered aspects: 1A - Agree, yes, the select must be there always irrespectively of permissions/results. 2B - Agree, has sense to keep the last used "mode" for the session. 3 - Disagree. Here I'm undecided. It clearly depends of which is the most important reason teachers do visit the user report . Is it used to view the information isolated for a student (3B) or is it used to verify which information the student will see (3A). Personally I feel myself inclined to use it for isolation/better reading, not for verifying how the student will see the information (I assume it will be ok always). But I'm not strong about this, maybe real teachers do use it in another way. 4 - This is the more complex one, indeed. For sure, one of the options must be the "teacher view". I don't mind if it's called "default view" (note I did pick 3A above), "my view", "teacher view" or the translation of the "teacher" role for the course. Then, it's the other element, the tricky one. Right now I don't understand how all the settings/permissions are going to be "simulated", in fact I'm not 100% sure if it's achievable at all, is it? And that immediately leads me to the question... wouldn't be easier to, instead of that... simply show the "Change to role xxxxx" there and done? That way everything is evaluated in "real" mode with the correct permissions and it already exists and works. Do we really need to create another "switcher" feature when we do have one working for any page? Note that, if the "change to role xxxx" feature is decided to be used, that renders some/all of the questions above to fall out of context. That feature already has its way to work. If the "change to role xxxx" is not accepted as a viable solution, then I feel myself inclined to show there a list of different roles (different from the default/my one shown as default) having access to the report and then, go and simulate the view for each one with its permissions (again, if that is possible, I don't think so). Ciao
            Hide
            emerrill Eric Merrill added a comment -

            Eloy Lafuente (stronk7) - You are making this much harder both conceptually and for the end user than it needs to be.

            Imagine you have 2 students, A is a Learner, and B is an Advanced Learner - who has different hidden grade permissions. Why should the teacher need to remember which role each student is? And why would the teacher every want to view student A as an Advanced Learner, when that is not what they are?

            Or what if you have supplemental role that only has grades:viewhidden and nothing else - with the intent of it being applied over an existing student enrolment. You would never be able to replicate the student view with "switch to role"

            We know the user we are showing the report for, and the context we are in, so it's trivial to show the report as the user will see it. Even if we are in the "show all users" mode, we can show each report exactly as each user will see it, regardless of their specific permissions.

            Also note that "teacher view" isn't a thing either - you can have teachers that do not have permissions to see hidden items. It's kinda stupid, but still possible.

            Show
            emerrill Eric Merrill added a comment - Eloy Lafuente (stronk7) - You are making this much harder both conceptually and for the end user than it needs to be. Imagine you have 2 students, A is a Learner, and B is an Advanced Learner - who has different hidden grade permissions. Why should the teacher need to remember which role each student is? And why would the teacher every want to view student A as an Advanced Learner, when that is not what they are? Or what if you have supplemental role that only has grades:viewhidden and nothing else - with the intent of it being applied over an existing student enrolment. You would never be able to replicate the student view with "switch to role" We know the user we are showing the report for, and the context we are in, so it's trivial to show the report as the user will see it. Even if we are in the "show all users" mode, we can show each report exactly as each user will see it, regardless of their specific permissions. Also note that "teacher view" isn't a thing either - you can have teachers that do not have permissions to see hidden items. It's kinda stupid, but still possible.
            Hide
            stronk7 Eloy Lafuente (stronk7) added a comment - - edited

            Hi Eric,

            cannot but agree the switch role is not a good solution, let's forget it. it just came to my mind as an existing solution to "view information as", but, yes, it's tricky (and harder) to move to roles. So the duple must be, "current user" and "graded user", agree 100%.

            I think my problem with that "graded user" view is that I'm not 100% sure that "...so it's trivial to show the report as the user will see it." I mean, I was looking overall to code and, while preferences shouldn't be a problem, I saw a number of calls to various functions that are using $USER unconditionally. To be honest I did no go deeper in report/gradebook internals but saw every one of those uses like a potential problem against being able to show information as "another user". And from that I came to the "switch roles (idiot) proposal".

            In any case, maybe it's better to try it and implementation will tell us if it was trivial or we did end modifying too much. So, go for it. About 4 I think that viewing report as "graded user or myself" (very similar to your orginal 4A propsal) does kill any reference to a possible role and clearly defines how information is being shown, so my vote goes for it.

            Ciao

            Show
            stronk7 Eloy Lafuente (stronk7) added a comment - - edited Hi Eric, cannot but agree the switch role is not a good solution, let's forget it. it just came to my mind as an existing solution to "view information as", but, yes, it's tricky (and harder) to move to roles. So the duple must be, "current user" and "graded user", agree 100%. I think my problem with that "graded user" view is that I'm not 100% sure that " ...so it's trivial to show the report as the user will see it. " I mean, I was looking overall to code and, while preferences shouldn't be a problem, I saw a number of calls to various functions that are using $USER unconditionally. To be honest I did no go deeper in report/gradebook internals but saw every one of those uses like a potential problem against being able to show information as "another user". And from that I came to the "switch roles (idiot) proposal". In any case, maybe it's better to try it and implementation will tell us if it was trivial or we did end modifying too much. So, go for it. About 4 I think that viewing report as "graded user or myself" (very similar to your orginal 4A propsal) does kill any reference to a possible role and clearly defines how information is being shown, so my vote goes for it. Ciao
            Hide
            dougiamas Martin Dougiamas added a comment -

            +1 for a clear button/toggle to "Show exactly what Johnny sees"

            Show
            dougiamas Martin Dougiamas added a comment - +1 for a clear button/toggle to "Show exactly what Johnny sees"
            Hide
            urpokarhu Jari Vilkman added a comment -

            Hello,

            Any progress on this?

            Show
            urpokarhu Jari Vilkman added a comment - Hello, Any progress on this?

              People

              • Votes:
                24 Vote for this issue
                Watchers:
                31 Start watching this issue

                Dates

                • Created:
                  Updated: