MDL-63349 assignfeedback_editpdf: Rotate submitted image automatically
[moodle.git] / mod / assign / upgrade.txt
CommitLineData
74c92838 1This files describes API changes in the assign code.
07aafc9f 2=== 3.8 ===
4a6edc57
NN
3* The allow_image_conversion method has been added to the submissionplugins. It determines whether the submission plugin
4 allows image conversion or not. By default conversion is not allowed (except when overwritten in the submission plugin)
07aafc9f 5* Webservice function mod_assign_get_submission_status, return value 'warnofungroupedusers', changed from PARAM_BOOL to PARAM_ALPHA. See the description for possible values.
c0375ba7
AA
6* The following functions have been finally deprecated and can not be used anymore:
7 * assign_scale_used()
07aafc9f 8
37fc47f1
DW
9=== 3.7 ===
10* Submissions plugins should implement the "remove" function to remove data when "Remove submission" is used.
a059ef2e 11
b7624454
AN
12=== 3.6 ===
13* The mod_assign_base_testcase unit test base class has been deprecated.
14 It encouraged poor unit test design and led to significant performance issues with unit tests. See MDL-55609 for
15 further information.
faa5d173 16* The function can_grade() now has optional $user parameter.
faa438ba
MN
17* Feedback plugins can now specify whether or not they want to attach files to the
18 feedback that is stored in the gradebook via the new method files_for_gradebook().
19 An example of what this method would return is -
20 [
21 'contextid' => $modulecontext->id,
22 'component' => ASSIGNFEEDBACK_XYZ_COMPONENT,
23 'filearea' => ASSIGNFEEDBACK_XYZ_FILEAREA,
24 'itemid' => $grade->id
25 ]
b7624454 26
ff626f7b 27=== 3.5 ===
ddeabbc5
JL
28* Functions assign:get_assign_grading_summary_renderable, assign:can_view_submission, assign:count_submissions_with_status,
29 assign:count_submissions_need_grading and mod_assign_external::get_submission_status now admit an additional group parameter.
ff626f7b
JL
30 This parameter can be used to force those functions to retrieve data only for the given group.
31
75c21e7e
AG
32=== 3.4 ===
33* assign::add_attempt requires that set_most_recent_team_submission() be called if attempting to use this function with a team
34 submission.
35
e5ca70ba
DP
36=== 3.3.2 ===
37* assign_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function
38 now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full
39 objects instead of the ids to save DB calls.
40
98239b2d 41=== 3.3 ===
c593a0b0
DW
42* All pluginfile file serving functions now pass through the options to send_stored_file() (all assignment plugins should do
43 the same).
98239b2d 44* Fixed calendar event types for overridden due dates from 'close' to 'due'.
f7a9bca8
JP
45* Removed calendar event type of 'open', since mod_assign only has the 'due' event type. No point in creating an override event
46for an event type that does not exist.
98239b2d 47
79616101
PFO
48=== 3.2 ===
49* External function mod_assign_external::get_assignments now returns additional optional fields:
50 - preventsubmissionnotingroup: Prevent submission not in group.
17b2cd68 51 - submissionstatement and submissionstatementformat: When there is a submission statement defined.
c89d23ee
CB
52* Proper checking for empty submissions
53* Submission modification time checking - this will help students working in groups not clobber each others'
54 submissions
14590070
JL
55* External functions that were returning file information now return the following file fields:
56 filename, filepath, mimetype, filesize, timemodified and fileurl.
57 Those fields are now marked as VALUE_OPTIONAL for backwards compatibility.
58 Please, note that previously the filename was part of the filepath field, now they are separated.
e5e89cac
HB
59* Submission and feedback plugins can now specify file areas related to their configuration data,
60 which will then be included in backup and restore; see assign_plugin::get_config_file_areas().
30cdddb0
JL
61* Submission and feedback plugins must now return the specific list of configs available for external functions,
62 this can be done implementing the new assign plugin method get_config_for_external()
64064315 63* Webservice function mod_assign_get_submissions returns a new field 'gradingstatus' from each submission.
79616101 64
238c05c2
AG
65=== 3.1 ===
66* The feedback plugins now need to implement the is_feedback_modified() method. The default is to return true
67 for backwards compatibiltiy.
989a8457
MN
68* When downloading all submissions as a zip each students' files are in a separate folder, are no longer renamed
69 and the folder structure is kept intact.
238c05c2 70
a059ef2e
DP
71=== 3.0 ===
72* assign_submission_status renderable now requires $usergroups in its constructor
8e76a2fa
JL
73* External function mod_assign_external::get_assignments now have a new optional parameter: includenotenrolledcourses.
74 Its default value is false, setting it to true will return assignments for courses a user can see even if it's not enroled.
a059ef2e 75
75d08f02
ZD
76=== 2.9 ===
77* External parameter now returns PARAM_RAW instead of PARAM_TEXT for webservices using feedback comments.
6d28e2cf
JL
78* External function mod_assign_external::get_assignments now returns additional optional fields:
79 - intro: Assignment intro.
80 - introformat: Intro format.
81 - introattachments: Intro attachments files.
75d08f02 82
9e3eee67
DW
83=== 2.8 ===
84* Some DB changes were made to simplify the SQL required to query the latest attempt.
85 - The assign_submission table now has a column "latest" which is set to 1 for the latest submission attempt.
86 - There will always be a submission row if there is a grade (so the latest grade can be found by joining with the submission)
87 - There is a new submission status "new" for a submission that has never been attempted by a student (but the record exists purely
88 to mark the latest attempt number as 0). The function get_user_submission will create a record with the status set to "new"
89 by default (the previous default was "draft").
90
8e1266bf 91=== 2.7 ===
d7f05ad4 92
8e1266bf
DW
93* Added setting sendstudentnotifications to assign DB table with admin defaults. This sets the default value for the
94 "Notify students" option on the grading forms. This setting can be retrieved via webservices.
74c92838 95
40c3dacf
PC
96* Web service function mod_assign_save_grade has an additional optional parameter $advancedgradingdata which allows
97 advanced grading data to be used.
98* A new web service function mod_assign_save_grades has been added which allows multiple grades to be processed.
d7f05ad4
AG
99* The event submission_updated() [mod/assign/classes/event/submission_updated.php] has been altered to now be an abstract class
100 for submission events in the submission plug-ins.
40c3dacf 101
fb59d535
AG
102=== 2.6.1 ===
103
104* format_text() is no longer used for formating assignment content to be used in events (assign_submission_onlinetext::save()) or
105 the word count (assign_submission_onlinetext::format_for_log()) in mod/assign/submission/onlinetext/locallib.php. format_text()
106 should only be used when displaying information to the screen. It was being used incorrectly before in these areas. Plugins using
107 the event assessable_uploaded() should use file_rewrite_pluginfile_urls() to translate the text back to the desired output.
108
df6c384d
RT
109=== 2.6 ===
110* To see submission/grades of inactive users, user should have moodle/course:viewsuspendedusers capability.
111* count_* functions will return only active participants.
05a6445a
DW
112* assign_submission_plugin->lock and unlock methods have an additional parameter for user flags. A user will not
113 always have a submission record when the submission is locked/unlocked.
114* Submission and feedback plugins can now participate in webservices. The plugin must implement get_external_parameters()
115 to describe the parameters it is expecting from the mod_assign_save_grade or mod_assign_save_submission functions. The
116 plugin will then handle the webservice via it's normal save() method with the extra data supplied in the $data argument.
74c92838
DW
117
118=== 2.5 ===
119
120* New feature - Attempt History
121
122 This adds settings so that a student can have build up a history of separate submission attempts and grades for the same
123 assignment.
124
125 Extra settings on the assign table are:
126 attemptreopenmethod - The way attempts can be reopened. One of:
127 ASSIGN_ATTEMPT_REOPEN_METHOD_NONE - Attempts cannot be reopened (default)
128 ASSIGN_ATTEMPT_REOPEN_METHOD_UNTIL_PASS - Attempts are reopened on grading until the gradebook
129 indicates this student has passed.
130 ASSIGN_ATTEMPT_REOPEN_METHOD_MANUAL - Attempts are reopened on manually by the grader.
131 maxattempts - The maximum allowed number of attempts per student for this assign instance.
132
133 Extra settings on the submission and grade records:
134 attemptnumber - Starting from 0 until the latest attempt.
135
136 New table assign_user_flags holds user specific flags that were stored in the assign_grade table. (contains assignment,
137 userid, extensionduedate, mailed and locked)
138
139 assign changes:
140 "get_user_grade" function has an extra optional parameter to retrieve a specific attempt number.
141 "get_user_submission" function has an extra optional parameter to retrieve a specific attempt number.
142 "get_group_submission" function has an extra optional parameter to retrieve a specific attempt number.
143 new "get_user_flags" function can retrieve the user flags for a specific user (extensionduedate, mailed and locked).
144 new "update_user_flags" function can update the user flags for a specific user (extensionduedate, mailed and locked).
145
146 assign_submission_plugin changes:
147 "precheck_submission" function now takes a submission record so you can determine which submission is being checked.
148 "submit_for_grading" function now takes a submission record so you can determine which submission is being submitted.
149 new function "copy_submission" can be implemented to copy submission data from one submission to a new one.
150
151 New renderable object "assign_attempt_history" for rendering the list of previous submissions.
152 New renderable object "assign_gradingmessage" for rendering a generic grading message.
153
5ef72f85
DW
154 assign_grading_table changes:
155 get_group_and_submission is now protected and should not be called from outside this class.
156
74c92838
DW
157
158=== Earlier changes ===
159
160* Were not documented in this way. Sorry.