Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
workshop_numerrors_strategy Class Reference

"Number of errors" grading strategy logic. More...

Inheritance diagram for workshop_numerrors_strategy:
workshop_strategy

Public Member Functions

 __construct (workshop $workshop)
 Constructor. More...
 
 form_ready ()
 Has the assessment form been defined and is ready to be used by the reviewers? More...
 
 get_assessment_form (moodle_url $actionurl=null, $mode='preview', stdclass $assessment=null, $editable=true, $options=array())
 Factory method returning an instance of an assessment form. More...
 
 get_assessments_recordset ($restrict=null)
 
 get_dimensions_info ()
 
 get_edit_strategy_form ($actionurl=null)
 Factory method returning an instance of an assessment form editor class. More...
 
 save_assessment (stdclass $assessment, stdclass $data)
 Saves the filled assessment. More...
 
 save_edit_strategy_form (stdclass $data)
 Save the assessment dimensions into database. More...
 

Static Public Member Functions

static delete_instance ($workshopid)
 Delete all data related to a given workshop module instance. More...
 
static scale_used ($scaleid, $workshopid=null)
 Is a given scale used by the instance of workshop? More...
 

Public Attributes

const ADDDIMS = 2
 @const number of dimensions to add
 
const MINDIMS = 3
 @const default number of dimensions to show
 

Protected Member Functions

 calculate_peer_grade (array $grades)
 Calculates the aggregated grade given by the reviewer. More...
 
 delete_dimensions (array $ids)
 Deletes dimensions and removes embedded media from its descriptions. More...
 
 errors_to_grade ($numerrors)
 Returns a grade 0.00000 to 100.00000 for the given number of errors. More...
 
 get_current_assessment_data (stdclass $assessment)
 Returns the list of current grades filled by the reviewer. More...
 
 load_fields ()
 Loads the fields of the assessment form currently used in this workshop. More...
 
 load_mappings ()
 Loads the mappings of the number of errors to the grade. More...
 
 prepare_database_fields (stdclass $raw)
 Prepares data returned by workshop_edit_numerrors_strategy_form so they can be saved into database. More...
 
 prepare_form_fields (array $dims, array $maps)
 Prepares the database data to be used by the mform. More...
 
 update_peer_grade (stdclass $assessment)
 Aggregates the assessment form data and sets the grade for the submission given by the peer. More...
 

Protected Attributes

array $descriptionopts
 options for dimension description fields
 
array $dimensions = null
 definition of the assessment form fields
 
array $mappings = null
 mapping of the number of errors to a grade
 
workshop $workshop
 the parent workshop instance
 

Detailed Description

"Number of errors" grading strategy logic.

Constructor & Destructor Documentation

◆ __construct()

workshop_numerrors_strategy::__construct ( workshop  $workshop)

Constructor.

Parameters
workshop$workshopThe workshop instance record
Return values
void

Member Function Documentation

◆ calculate_peer_grade()

workshop_numerrors_strategy::calculate_peer_grade ( array  $grades)
protected

Calculates the aggregated grade given by the reviewer.

Parameters
array$gradesGrade records as returned by get_current_assessment_data
Return values
float|nullRaw grade (0.00000 to 100.00000) for submission as suggested by the peer

◆ delete_dimensions()

workshop_numerrors_strategy::delete_dimensions ( array  $ids)
protected

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

Parameters
array$idslist to delete
Return values
void

◆ delete_instance()

static workshop_numerrors_strategy::delete_instance (   $workshopid)
static

Delete all data related to a given workshop module instance.

See also
workshop_delete_instance()
Parameters
int$workshopidid of the workshop module instance being deleted
Return values
void

Implements workshop_strategy.

◆ errors_to_grade()

workshop_numerrors_strategy::errors_to_grade (   $numerrors)
protected

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%.

Parameters
mixed$numerrorsNumber of errors
Return values
floatRaw grade (0.00000 to 100.00000) for the given number of negative assertions

◆ form_ready()

workshop_numerrors_strategy::form_ready ( )

Has the assessment form been defined and is ready to be used by the reviewers?

Return values
boolean

Implements workshop_strategy.

◆ get_assessment_form()

workshop_numerrors_strategy::get_assessment_form ( moodle_url  $actionurl = null,
  $mode = 'preview',
stdclass  $assessment = null,
  $editable = true,
  $options = array() 
)

Factory method returning an instance of an assessment form.

Parameters
moodle_url$actionurlURL of form handler, defaults to auto detect the current url
string$modeMode to open the form in: preview/assessment
stdClass$assessment
bool$editable
array$options

Implements workshop_strategy.

◆ get_assessments_recordset()

workshop_numerrors_strategy::get_assessments_recordset (   $restrict = null)
See also
parent::get_assessments_recordset()

Implements workshop_strategy.

◆ get_current_assessment_data()

workshop_numerrors_strategy::get_current_assessment_data ( stdclass  $assessment)
protected

Returns the list of current grades filled by the reviewer.

Parameters
stdClass$assessmentAssessment record
Return values
arrayof filtered records from the table workshop_grades

◆ get_dimensions_info()

workshop_numerrors_strategy::get_dimensions_info ( )
See also
parent::get_dimensions_info()

Implements workshop_strategy.

◆ get_edit_strategy_form()

workshop_numerrors_strategy::get_edit_strategy_form (   $actionurl = null)

Factory method returning an instance of an assessment form editor class.

Parameters
$actionurlURL of form handler, defaults to auto detect the current url

Implements workshop_strategy.

◆ load_fields()

workshop_numerrors_strategy::load_fields ( )
protected

Loads the fields of the assessment form currently used in this workshop.

Return values
arraydefinition of assessment dimensions

◆ load_mappings()

workshop_numerrors_strategy::load_mappings ( )
protected

Loads the mappings of the number of errors to the grade.

Return values
arrayof records

◆ prepare_database_fields()

workshop_numerrors_strategy::prepare_database_fields ( stdclass  $raw)
protected

Prepares data returned by 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 save_edit_strategy_form() only. Could be private but keeping protected for unit testing purposes.

Parameters
stdClass$rawRaw data returned by mform
Return values
arrayArray of objects to be inserted/updated in DB

◆ prepare_form_fields()

workshop_numerrors_strategy::prepare_form_fields ( array  $dims,
array  $maps 
)
protected

Prepares the database data to be used by the mform.

Parameters
array$dimsArray of raw dimension records as returned by } * array $maps Array of raw mapping records as returned by load_mappings()
Return values
arrayArray of fields data to be used by the mform set_data

◆ save_assessment()

workshop_numerrors_strategy::save_assessment ( stdclass  $assessment,
stdclass  $data 
)

Saves the filled assessment.

This method processes data submitted using the form returned by get_assessment_form()

Parameters
stdClass$assessmentAssessment being filled
stdClass$dataRaw data as returned by the assessment form
Return values
float|nullRaw grade (from 0.00000 to 100.00000) for submission as suggested by the peer

Implements workshop_strategy.

◆ save_edit_strategy_form()

workshop_numerrors_strategy::save_edit_strategy_form ( stdclass  $data)

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().

@uses $DB

Parameters
stdClass$dataRaw data returned by the dimension editor form
Return values
void

Implements workshop_strategy.

◆ scale_used()

static workshop_numerrors_strategy::scale_used (   $scaleid,
  $workshopid = null 
)
static

Is a given scale used by the instance of workshop?

This grading strategy does not use scales.

Parameters
int$scaleidid of the scale to check
int | null$workshopidid of workshop instance to check, checks all in case of null
Return values
bool

Implements workshop_strategy.

◆ update_peer_grade()

workshop_numerrors_strategy::update_peer_grade ( stdclass  $assessment)
protected

Aggregates the assessment form data and sets the grade for the submission given by the peer.

Parameters
stdClass$assessmentAssessment record
Return values
float|nullRaw grade (0.00000 to 100.00000) for submission as suggested by the peer

The documentation for this class was generated from the following file: