Until now in the get_assignments WS all the settings for assignment
plugins (submission and feedback) are returned, this was bad because:
- It was returning settings for plugins that may not be enabled
- It was returning settings that would be a security risk (a third
party plugin including a password or credentials for connecting a
remote site)
- Some values was returned "raw" without further processing, for
example, maxsubmissionsizebytes returned 0 when using the plugin
default value instead a valid size
- Assignment plugins implemented an API for communication with the
external API, see for example: get_external_parameters, it didn’t make
sense had an API for the received parameters and not the returned data.
Added a method to the feedback plugins to check if feedback
has been modified. This allows for a more accurate record
of when the grade has been modified.
If a plugin says it is empty, skip it for for building the inline
comment.
If not format was found in any plugins, set to FORMAT_HTML, which is
the default for feedback anyways.
This patch adds lots of webservices to the assignment module.
* mod_assign_revert_submissions_to_draft
* mod_assign_lock_submissions
* mod_assign_unlock_submissions
* mod_assign_save_submission
* mod_assign_submit_for_grading
* mod_assign_save_grade
* mod_assign_save_user_extensions
* mod_assign_reveal_identities
* mod_assign_copy_previous_attempt
All features such as reopening attempts and marking workflow are supported through
the save_grade and save_submission functions.
Uploading files is supported by sending draft item ids for the files_filemanager param the same functions.
This was preventing the view full submission/feedback link from appearing
everywhere in the assignment when the submission/feedback content had been
truncated in the summary because it was too long (or too many files)