Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2
    • Fix Version/s: 2.2
    • Component/s: Grading methods
    • Labels:
    • Affected Branches:
      MOODLE_22_STABLE
    • Fixed Branches:
      MOODLE_22_STABLE

      Description

      Rubric renderer and the submitted data handler to be implemented. This will take care of producing HTML for the rubric to fill/display and AJAX scripts that handle filling the form. Non-javascript support to be developed later as a separate issue.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              marina Marina Glancy added a comment - - edited

              I would like to argue on the AJAX update after each click. Calculation of total grade is simple enough to be managed by JS. And if I were a teacher, I would change my mind several times during reading an assignment and would only like to submit the rubric when I filled it and sure about it.

              Are we going to track historical changes made to grades? If yes, this AJAX will make the history unreadable

              Something I would like to add:

              • the number of points to be written for each cell
              • add a column with total points assigned/maximum points for each row
              Show
              marina Marina Glancy added a comment - - edited I would like to argue on the AJAX update after each click. Calculation of total grade is simple enough to be managed by JS. And if I were a teacher, I would change my mind several times during reading an assignment and would only like to submit the rubric when I filled it and sure about it. Are we going to track historical changes made to grades? If yes, this AJAX will make the history unreadable Something I would like to add: the number of points to be written for each cell add a column with total points assigned/maximum points for each row
              Hide
              mudrd8mz David Mudrák added a comment -

              Calculation of total grade is simple enough to be managed by JS

              It can be for rubric. But other plugins can be more complicated and can even require huge data from the database or external sources etc. Plus, MD noticed one useful side effect of the proposed mechanism. In case of fallen browser in the middle of grading, the teacher would find the rubric like "autosaved" next time they came back.

              Are we going to track historical changes made to grades?

              If we ever implement revisions, surely we can tweak the log reader so that it is able to aggregate records.

              the number of points to be written for each cell

              Sure, good idea. Thanks!

              add a column with total points assigned/maximum points for each row

              Hm, that is not very common in rubric examples I have seen. What's that information good for?

              Show
              mudrd8mz David Mudrák added a comment - Calculation of total grade is simple enough to be managed by JS It can be for rubric. But other plugins can be more complicated and can even require huge data from the database or external sources etc. Plus, MD noticed one useful side effect of the proposed mechanism. In case of fallen browser in the middle of grading, the teacher would find the rubric like "autosaved" next time they came back. Are we going to track historical changes made to grades? If we ever implement revisions, surely we can tweak the log reader so that it is able to aggregate records. the number of points to be written for each cell Sure, good idea. Thanks! add a column with total points assigned/maximum points for each row Hm, that is not very common in rubric examples I have seen. What's that information good for?
              Hide
              mudrd8mz David Mudrák added a comment -

              Hi Marina,

              I did a quick overview of your current work available at https://github.com/marinaglancy/moodle/compare/rubric...wip-MDL-29481-rubric

              • firstly please note that the code does not seem to be based on the most recent version of the 'rubric' branch in my repository and you did some things in a different way than I did.
              • I was hoping you would use https://github.com/mudrd8mz/moodle-gradingform_random as an example of how I see the grading plugin and its editor implemented. It is illustrated there how to get the content and optionally the course module if it is available. Note that your new manager's method get_cm() is unacceptable as it makes the grading areas available within activity modules only. And this is wrong as we will want to support creating the gradable area for an item in the gradebook (or a block etc), too. So the only thing you can rely is that the gradable area lies within some course context (which is what my code does). Also see how $cm can be obtained from the manager's context if it is available.
              • the pattern

                if (! $course = $DB->get_record(...)) {
                    print_error();
                }

                is very 1.9-ish. Why not using the nice MUST_EXIST flag?

              • using $PAGE->requires->js() is not a good way of using JS in new code. This call was created for a legacy reasons mainly. All new DEV projects should use proper YUI module with no exception (always remember that we in DEV team show the way for other contributors on how the ideal code for Moodle should look like. Half-baked solutions are not a good sign, even if they work). Again, look at the gradingmethod_random for an example.
              Show
              mudrd8mz David Mudrák added a comment - Hi Marina, I did a quick overview of your current work available at https://github.com/marinaglancy/moodle/compare/rubric...wip-MDL-29481-rubric firstly please note that the code does not seem to be based on the most recent version of the 'rubric' branch in my repository and you did some things in a different way than I did. I was hoping you would use https://github.com/mudrd8mz/moodle-gradingform_random as an example of how I see the grading plugin and its editor implemented. It is illustrated there how to get the content and optionally the course module if it is available. Note that your new manager's method get_cm() is unacceptable as it makes the grading areas available within activity modules only. And this is wrong as we will want to support creating the gradable area for an item in the gradebook (or a block etc), too. So the only thing you can rely is that the gradable area lies within some course context (which is what my code does). Also see how $cm can be obtained from the manager's context if it is available. the pattern if (! $course = $DB->get_record(...)) { print_error(); } is very 1.9-ish. Why not using the nice MUST_EXIST flag? using $PAGE->requires->js() is not a good way of using JS in new code. This call was created for a legacy reasons mainly. All new DEV projects should use proper YUI module with no exception (always remember that we in DEV team show the way for other contributors on how the ideal code for Moodle should look like. Half-baked solutions are not a good sign, even if they work). Again, look at the gradingmethod_random for an example.
              Hide
              marina Marina Glancy added a comment -

              Implemented without AJAX yet

              Show
              marina Marina Glancy added a comment - Implemented without AJAX yet

                People

                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    5/Dec/11