This files describes API changes in the assign code. === 2.6 === * To see submission/grades of inactive users, user should have moodle/course:viewsuspendedusers capability. * count_* functions will return only active participants. * assign_submission_plugin->lock and unlock methods have an additional parameter for user flags. A user will not always have a submission record when the submission is locked/unlocked. * Submission and feedback plugins can now participate in webservices. The plugin must implement get_external_parameters() to describe the parameters it is expecting from the mod_assign_save_grade or mod_assign_save_submission functions. The plugin will then handle the webservice via it's normal save() method with the extra data supplied in the $data argument. === 2.5 === * New feature - Attempt History This adds settings so that a student can have build up a history of separate submission attempts and grades for the same assignment. Extra settings on the assign table are: attemptreopenmethod - The way attempts can be reopened. One of: ASSIGN_ATTEMPT_REOPEN_METHOD_NONE - Attempts cannot be reopened (default) ASSIGN_ATTEMPT_REOPEN_METHOD_UNTIL_PASS - Attempts are reopened on grading until the gradebook indicates this student has passed. ASSIGN_ATTEMPT_REOPEN_METHOD_MANUAL - Attempts are reopened on manually by the grader. maxattempts - The maximum allowed number of attempts per student for this assign instance. Extra settings on the submission and grade records: attemptnumber - Starting from 0 until the latest attempt. New table assign_user_flags holds user specific flags that were stored in the assign_grade table. (contains assignment, userid, extensionduedate, mailed and locked) assign changes: "get_user_grade" function has an extra optional parameter to retrieve a specific attempt number. "get_user_submission" function has an extra optional parameter to retrieve a specific attempt number. "get_group_submission" function has an extra optional parameter to retrieve a specific attempt number. new "get_user_flags" function can retrieve the user flags for a specific user (extensionduedate, mailed and locked). new "update_user_flags" function can update the user flags for a specific user (extensionduedate, mailed and locked). assign_submission_plugin changes: "precheck_submission" function now takes a submission record so you can determine which submission is being checked. "submit_for_grading" function now takes a submission record so you can determine which submission is being submitted. new function "copy_submission" can be implemented to copy submission data from one submission to a new one. New renderable object "assign_attempt_history" for rendering the list of previous submissions. New renderable object "assign_gradingmessage" for rendering a generic grading message. assign_grading_table changes: get_group_and_submission is now protected and should not be called from outside this class. === Earlier changes === * Were not documented in this way. Sorry.