Differences Between: [Versions 311 and 403]
This file defines a class with "Number of errors" grading strategy logic
Copyright: | 2009 David Mudrak <david.mudrak@gmail.com> |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 620 lines (25 kb) |
Included or required: | 0 times |
Referenced: | 1 time |
Includes or requires: | 3 files mod/workshop/form/numerrors/edit_form.php mod/workshop/form/lib.php mod/workshop/form/numerrors/assessment_form.php |
workshop_numerrors_strategy:: (19 methods):
__construct()
get_edit_strategy_form()
save_edit_strategy_form()
get_assessment_form()
save_assessment()
form_ready()
get_assessments_recordset()
get_dimensions_info()
scale_used()
delete_instance()
load_fields()
load_mappings()
prepare_form_fields()
delete_dimensions()
prepare_database_fields()
get_current_assessment_data()
update_peer_grade()
calculate_peer_grade()
errors_to_grade()
Class: workshop_numerrors_strategy - X-Ref
"Number of errors" grading strategy logic.__construct(workshop $workshop) X-Ref |
Constructor param: workshop $workshop The workshop instance record return: void |
get_edit_strategy_form($actionurl=null) X-Ref |
Factory method returning an instance of an assessment form editor class param: $actionurl URL of form handler, defaults to auto detect the current url |
save_edit_strategy_form(stdclass $data) X-Ref |
Save the assessment dimensions into database Saves data into the main strategy form table. If the record->id is null or zero, new record is created. If the record->id is not empty, the existing record is updated. Records with empty 'description' field are removed from database. The passed data object are the raw data returned by the get_data(). param: stdClass $data Raw data returned by the dimension editor form return: void |
get_assessment_form(moodle_url $actionurl=null, $mode='preview', stdclass $assessment=null, $editable=true, $options=array() X-Ref |
Factory method returning an instance of an assessment form param: moodle_url $actionurl URL of form handler, defaults to auto detect the current url param: string $mode Mode to open the form in: preview/assessment param: stdClass $assessment param: bool $editable param: array $options |
save_assessment(stdclass $assessment, stdclass $data) X-Ref |
Saves the filled assessment This method processes data submitted using the form returned by {@link get_assessment_form()} param: stdClass $assessment Assessment being filled param: stdClass $data Raw data as returned by the assessment form return: float|null Raw grade (from 0.00000 to 100.00000) for submission as suggested by the peer |
form_ready() X-Ref |
Has the assessment form been defined and is ready to be used by the reviewers? return: boolean |
get_assessments_recordset($restrict=null) X-Ref |
get_dimensions_info() X-Ref |
scale_used($scaleid, $workshopid=null) X-Ref |
Is a given scale used by the instance of workshop? This grading strategy does not use scales. param: int $scaleid id of the scale to check param: int|null $workshopid id of workshop instance to check, checks all in case of null return: bool |
delete_instance($workshopid) X-Ref |
Delete all data related to a given workshop module instance param: int $workshopid id of the workshop module instance being deleted return: void |
load_fields() X-Ref |
Loads the fields of the assessment form currently used in this workshop return: array definition of assessment dimensions |
load_mappings() X-Ref |
Loads the mappings of the number of errors to the grade return: array of records |
prepare_form_fields(array $dims, array $maps) X-Ref |
Prepares the database data to be used by the mform param: array $dims Array of raw dimension records as returned by {@link load_fields()} param: array $maps Array of raw mapping records as returned by {@link load_mappings()} return: array Array of fields data to be used by the mform set_data |
delete_dimensions(array $ids) X-Ref |
Deletes dimensions and removes embedded media from its descriptions todo we may check that there are no assessments done using these dimensions and probably remove them param: array $ids list to delete return: void |
prepare_database_fields(stdclass $raw) X-Ref |
Prepares data returned by {@link workshop_edit_numerrors_strategy_form} so they can be saved into database It automatically adds some columns into every record. The sorting is done by the order of the returned array and starts with 1. Called internally from {@link save_edit_strategy_form()} only. Could be private but keeping protected for unit testing purposes. param: stdClass $raw Raw data returned by mform return: array Array of objects to be inserted/updated in DB |
get_current_assessment_data(stdclass $assessment) X-Ref |
Returns the list of current grades filled by the reviewer param: stdClass $assessment Assessment record return: array of filtered records from the table workshop_grades |
update_peer_grade(stdclass $assessment) X-Ref |
Aggregates the assessment form data and sets the grade for the submission given by the peer param: stdClass $assessment Assessment record return: float|null Raw grade (0.00000 to 100.00000) for submission as suggested by the peer |
calculate_peer_grade(array $grades) X-Ref |
Calculates the aggregated grade given by the reviewer param: array $grades Grade records as returned by {@link get_current_assessment_data} return: float|null Raw grade (0.00000 to 100.00000) for submission as suggested by the peer |
errors_to_grade($numerrors) X-Ref |
Returns a grade 0.00000 to 100.00000 for the given number of errors This is where we use the mapping table defined by the teacher. If a grade for the given number of errors (negative assertions) is not defined, the most recently defined one is used. Example of the defined mapping: Number of errors | Grade 0 | 100% (always) 1 | - (not defined) 2 | 80% 3 | 60% 4 | - 5 | 30% 6 | 0% With this mapping, one error is mapped to 100% grade and 4 errors is mapped to 60%. param: mixed $numerrors Number of errors return: float Raw grade (0.00000 to 100.00000) for the given number of negative assertions |
workshopform_numerrors_pluginfile($course, $cm, $context, $filearea, array $args, $forcedownload, array $options=array() X-Ref |
Server workshop files param: stdClass $course course object param: stdClass $cm course module object param: stdClass $context context object param: string $filearea file area param: array $args extra arguments param: bool $forcedownload whether or not force download param: array $options additional options affecting the file serving return: bool |