1 This files describes API changes in the assign code.
4 * Added setting sendstudentnotifications to assign DB table with admin defaults. This sets the default value for the
5 "Notify students" option on the grading forms. This setting can be retrieved via webservices.
7 * Web service function mod_assign_save_grade has an additional optional parameter $advancedgradingdata which allows
8 advanced grading data to be used.
9 * A new web service function mod_assign_save_grades has been added which allows multiple grades to be processed.
10 * The event submission_updated() [mod/assign/classes/event/submission_updated.php] has been altered to now be an abstract class
11 for submission events in the submission plug-ins.
15 * format_text() is no longer used for formating assignment content to be used in events (assign_submission_onlinetext::save()) or
16 the word count (assign_submission_onlinetext::format_for_log()) in mod/assign/submission/onlinetext/locallib.php. format_text()
17 should only be used when displaying information to the screen. It was being used incorrectly before in these areas. Plugins using
18 the event assessable_uploaded() should use file_rewrite_pluginfile_urls() to translate the text back to the desired output.
21 * To see submission/grades of inactive users, user should have moodle/course:viewsuspendedusers capability.
22 * count_* functions will return only active participants.
23 * assign_submission_plugin->lock and unlock methods have an additional parameter for user flags. A user will not
24 always have a submission record when the submission is locked/unlocked.
25 * Submission and feedback plugins can now participate in webservices. The plugin must implement get_external_parameters()
26 to describe the parameters it is expecting from the mod_assign_save_grade or mod_assign_save_submission functions. The
27 plugin will then handle the webservice via it's normal save() method with the extra data supplied in the $data argument.
31 * New feature - Attempt History
33 This adds settings so that a student can have build up a history of separate submission attempts and grades for the same
36 Extra settings on the assign table are:
37 attemptreopenmethod - The way attempts can be reopened. One of:
38 ASSIGN_ATTEMPT_REOPEN_METHOD_NONE - Attempts cannot be reopened (default)
39 ASSIGN_ATTEMPT_REOPEN_METHOD_UNTIL_PASS - Attempts are reopened on grading until the gradebook
40 indicates this student has passed.
41 ASSIGN_ATTEMPT_REOPEN_METHOD_MANUAL - Attempts are reopened on manually by the grader.
42 maxattempts - The maximum allowed number of attempts per student for this assign instance.
44 Extra settings on the submission and grade records:
45 attemptnumber - Starting from 0 until the latest attempt.
47 New table assign_user_flags holds user specific flags that were stored in the assign_grade table. (contains assignment,
48 userid, extensionduedate, mailed and locked)
51 "get_user_grade" function has an extra optional parameter to retrieve a specific attempt number.
52 "get_user_submission" function has an extra optional parameter to retrieve a specific attempt number.
53 "get_group_submission" function has an extra optional parameter to retrieve a specific attempt number.
54 new "get_user_flags" function can retrieve the user flags for a specific user (extensionduedate, mailed and locked).
55 new "update_user_flags" function can update the user flags for a specific user (extensionduedate, mailed and locked).
57 assign_submission_plugin changes:
58 "precheck_submission" function now takes a submission record so you can determine which submission is being checked.
59 "submit_for_grading" function now takes a submission record so you can determine which submission is being submitted.
60 new function "copy_submission" can be implemented to copy submission data from one submission to a new one.
62 New renderable object "assign_attempt_history" for rendering the list of previous submissions.
63 New renderable object "assign_gradingmessage" for rendering a generic grading message.
65 assign_grading_table changes:
66 get_group_and_submission is now protected and should not be called from outside this class.
69 === Earlier changes ===
71 * Were not documented in this way. Sorry.