This file defines interface of all grading strategy logic classes
Copyright: | 2009 David Mudrak <david.mudrak@gmail.com> |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 127 lines (5 kb) |
Included or required: | 4 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
workshop_strategy:: (9 methods):
get_edit_strategy_form()
save_edit_strategy_form()
get_assessment_form()
save_assessment()
form_ready()
get_dimensions_info()
get_assessments_recordset()
scale_used()
delete_instance()
Interface: workshop_strategy - X-Ref
Strategy interface defines all methods that strategy subplugins has to implementget_edit_strategy_form($actionurl=null) X-Ref |
Factory method returning a form that is used to define the assessment form return: stdclass The instance of the assessment form editor class param: string $actionurl URL of the action handler script, defaults to auto detect |
save_edit_strategy_form(stdclass $data) X-Ref |
Saves the assessment dimensions and other grading form elements Assessment dimension (also know as assessment element) represents one aspect or criterion to be evaluated. Each dimension consists of a set of form fields. Strategy-specific information are saved in workshopform_{strategyname} tables. return: void param: stdClass $data Raw data as returned by the form editor |
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 If opening in the assessment mode, the current assessment record param: bool $editable Shall the form be opened as editable (true) or read-only (false) param: array $options More assessment form options, editableweight implemented only now |
save_assessment(stdclass $assessment, stdclass $data) X-Ref |
Saves the filled assessment and returns the grade for submission as suggested by the reviewer This method processes data submitted using the form returned by {@link get_assessment_form()} The returned grade should be rounded to 5 decimals as with round($grade, 5). return: float|null Raw percentual grade (0.00000 to 100.00000) for submission param: stdClass $assessment Assessment being filled param: stdClass $data Raw data as returned by the assessment form |
form_ready() X-Ref |
Has the assessment form been defined and is ready to be used by the reviewers? return: boolean |
get_dimensions_info() X-Ref |
Returns a general information about the assessment dimensions return: array [dimid] => stdclass (->id ->max ->min ->weight and optionally ->scale containing scale items) |
get_assessments_recordset($restrict=null) X-Ref |
Returns recordset with detailed information of all assessments done using this strategy The returned structure must be a recordset of objects containing at least properties: submissionid, assessmentid, assessmentweight, reviewerid, gradinggrade, dimensionid and grade. It is possible to pass user id(s) of reviewer(s). Then, the method returns just the reviewer's assessments info. return: moodle_recordset param: array|int|null $restrict optional id or ids of the reviewer |
scale_used($scaleid, $workshopid=null) X-Ref |
Is a given scale used by the instance of workshop? If the grading strategy does not use scales, it should just return false. If the strategy supports scales, it returns true if the given scale is used. If workshopid is null, it checks for any workshop instance. If workshopid is provided, it checks the given instance only. return: bool 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 |
delete_instance($workshopid) X-Ref |
Delete all data related to a given workshop module instance This is called from {@link workshop_delete_instance()}. return: void param: int $workshopid id of the workshop module instance being deleted |