Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Grading interface 2.0

From MoodleDocs

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.

Moodle 2.0


Objectives

The goals of Grading Interface 2.0:

  • Remove redundant per module grading interfaces.
  • Use a consistent approach for all grading throughout Moodle

Overview

The Grading Interface 2.0 provides a user interface to add and edit grades. It will consist of a single page within /grade (the gradebook) to which all modules direct the user to perform grading.

Interface

The interface will be similar to mod/assignment/submissions.php Further UI improvements can be made once the underlying architecture has been implemented.

The new grading interface will replace each module's internal grading interface. For example within the assignment module on mod/assignment/view.php?id=9 (for example) there is a link that says "View N submitted assignments" that links to mod/assignment/submissions.php?id=9 where 9 is the PK of a row in the course_modules table. This would be replaced with a link to grade/submissions.php?id=9.

GradingUI.gif

When the teacher clicks on "Grade" to grade an individual submission no popups should be required. If Javascript is available, use a lightbox to display the submission grading interface. If Javascript is not available replace the whole page. Adding new questions already behaves this way so for example of how this is implemented look at /question/editlib.php function create_new_question_button() and question/qbank.js init_container().

GradingUIIndividual.gif

Code Structures

Database Structures

New tables to be created

Grade

Field Type Default Info
id int(10) auto-incrementing The unique ID for this grade.
contextid int(10) The context id defined in context table. Is this the correct way to join the grade with the assignment/quiz?
grade int(10) The grade
userid int(10)
timecreated int(10)
timemodified int(10)

The following tables need to be migrated then removed:

  • quiz_grades

The following fields need to be migrated then removed:

  • assignment_submission.grade