Courses analyser working at course level (insights for the course teachers).
More...
|
core_analytics local indicator base[] | $indicators |
| The model indicators.
|
|
string[] | $log |
| Simple log array.
|
|
int | $modelid |
|
array | $options |
| Execution options.
|
|
core_analytics local target base | $target |
| The model target.
|
|
core_analytics local time_splitting base[] | $timesplittings |
| Time splitting methods to use. More...
|
|
Courses analyser working at course level (insights for the course teachers).
- Copyright
- 2017 David Monllao http://www.davidmonllao.com
- License
- http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
◆ add_log()
core_analytics\local\analyser\base::add_log |
( |
|
$string | ) |
|
|
inherited |
Adds a register to the analysis log.
- Parameters
-
- Return values
-
◆ check_indicator_requirements()
Checks that this analyser satisfies the provided indicator requirements.
- Parameters
-
core_analytics\local\indicator\base | $indicator | |
- Return values
-
true|string[] | True if all good, missing requirements list otherwise |
◆ check_indicators_requirements()
core_analytics\local\analyser\base::check_indicators_requirements |
( |
| ) |
|
|
protectedinherited |
Checks if the analyser satisfies all the model indicators requirements.
- Exceptions
-
◆ context_restriction_support()
static core_analytics\local\analyser\by_course::context_restriction_support |
( |
| ) |
|
|
staticinherited |
◆ get_all_samples() [1/2]
This function returns this analysable list of samples.
- Parameters
-
core_analytics\analysable | $analysable | |
- Return values
-
array | array[0] = int[] (sampleids) and array[1] = array (samplesdata) |
◆ get_all_samples() [2/2]
This will return just one course as we analyse 'by_course'.
- Parameters
-
core_analytics\analysable | $course | |
- Return values
-
◆ get_analysables()
core_analytics\local\analyser\base::get_analysables |
( |
| ) |
|
|
inherited |
◆ get_analysables_iterator()
core_analytics\local\analyser\by_course::get_analysables_iterator |
( |
?string |
$action = null , |
|
|
array |
$contexts = [] |
|
) |
| |
|
inherited |
Return the list of courses to analyse.
- Parameters
-
string | null | $action | 'prediction', 'training' or null if no specific action needed. |
context[] | $contexts | Only analysables that depend on the provided contexts. All analysables in the system if empty. |
- Return values
-
Reimplemented from core_analytics\local\analyser\base.
◆ get_indicators()
core_analytics\local\analyser\base::get_indicators |
( |
| ) |
|
|
inherited |
Getter for indicators.
- Return values
-
◆ get_iterator_sql()
core_analytics\local\analyser\base::get_iterator_sql |
( |
string |
$tablename, |
|
|
int |
$contextlevel, |
|
|
?string |
$action = null , |
|
|
?string |
$tablealias = null , |
|
|
array |
$contexts = [] |
|
) |
| |
|
protectedinherited |
Get the sql of a default implementation of the iterator.
This method only works for analysers that return analysable elements which ids map to a context instance ids.
- Parameters
-
string | $tablename | The name of the table |
int | $contextlevel | The context level of the analysable |
string | null | $action | |
string | null | $tablealias | The table alias |
context[] | $contexts | Only analysables that depend on the provided contexts. All analysables if empty. |
- Return values
-
array | [0] => sql and [1] => params array |
◆ get_labelled_data()
core_analytics\local\analyser\base::get_labelled_data |
( |
array |
$contexts = [] | ) |
|
|
inherited |
Returns labelled data (training and evaluation).
- Parameters
-
context[] | $contexts | Restrict the analysis to these contexts. No context restrictions if null. |
- Return values
-
◆ get_logs()
core_analytics\local\analyser\base::get_logs |
( |
| ) |
|
|
inherited |
Returns the analysis logs.
- Return values
-
◆ get_modelid()
core_analytics\local\analyser\base::get_modelid |
( |
| ) |
|
|
inherited |
Model id getter.
- Return values
-
◆ get_options()
core_analytics\local\analyser\base::get_options |
( |
| ) |
|
|
inherited |
Options getter.
- Return values
-
◆ get_sample_analysable()
core\analytics\analyser\courses::get_sample_analysable |
( |
|
$sampleid | ) |
|
◆ get_samples()
core\analytics\analyser\courses::get_samples |
( |
|
$sampleids | ) |
|
◆ get_samples_origin()
core\analytics\analyser\courses::get_samples_origin |
( |
| ) |
|
◆ get_static_data()
core_analytics\local\analyser\base::get_static_data |
( |
array |
$contexts = [] | ) |
|
|
inherited |
Returns indicator calculations as an array.
- Parameters
-
context[] | $contexts | Restrict the analysis to these contexts. No context restrictions if null. |
- Return values
-
◆ get_target()
core_analytics\local\analyser\base::get_target |
( |
| ) |
|
|
inherited |
Returns the analysed target.
- Return values
-
◆ get_timesplittings()
core_analytics\local\analyser\base::get_timesplittings |
( |
| ) |
|
|
inherited |
Getter for time splittings.
- Return values
-
◆ get_unlabelled_data()
core_analytics\local\analyser\base::get_unlabelled_data |
( |
array |
$contexts = [] | ) |
|
|
inherited |
Returns unlabelled data (prediction).
- Parameters
-
context[] | $contexts | Restrict the analysis to these contexts. No context restrictions if null. |
- Return values
-
◆ instantiate_indicators()
core_analytics\local\analyser\base::instantiate_indicators |
( |
| ) |
|
|
inherited |
Instantiate the indicators.
- Return values
-
◆ join_sample_user()
core_analytics\local\analyser\base::join_sample_user |
( |
|
$sampletablealias | ) |
|
|
inherited |
SQL JOIN from a sample to users table.
This function should be defined if static::processes_user_data returns true and it is related to analytics API privacy API implementation. It allows the analytics API to identify data associated to users that needs to be deleted or exported.
This function receives the alias of a table with a 'sampleid' field and it should return a SQL join with static::get_samples_origin and with 'user' table. Note that:
- The function caller expects the returned 'user' table to be aliased as 'u' (defacto standard in moodle).
- You can join with other tables if your samples origin table does not contain a 'userid' field (if that would be a requirement this solution would be automated for you) you can't though use the following aliases: 'ap', 'apa', 'aic' and 'am'.
Some examples:
static::get_samples_origin() === 'user': JOIN {user} u ON {$sampletablealias}.sampleid = u.id
static::get_samples_origin() === 'role_assignments': JOIN {role_assignments} ra ON {$sampletablealias}.sampleid = ra.userid JOIN {user} u ON u.id = ra.userid
static::get_samples_origin() === 'user_enrolments': JOIN {user_enrolments} ue ON {$sampletablealias}.sampleid = ue.userid JOIN {user} u ON u.id = ue.userid
- Exceptions
-
- Parameters
-
string | $sampletablealias | The alias of the table with a sampleid field that will join with this SQL string |
- Return values
-
Reimplemented in core\analytics\analyser\users, and core\analytics\analyser\student_enrolments.
◆ one_sample_per_analysable()
static core\analytics\analyser\courses::one_sample_per_analysable |
( |
| ) |
|
|
static |
◆ order_sql()
core_analytics\local\analyser\base::order_sql |
( |
?string |
$fieldname = null , |
|
|
string |
$order = 'ASC' , |
|
|
?string |
$tablealias = null |
|
) |
| |
|
protectedinherited |
Returns the order by clause.
- Parameters
-
string | null | $fieldname | The field name |
string | $order | 'ASC' or 'DESC' |
string | null | $tablealias | The table alias of the field |
- Return values
-
◆ potential_context_restrictions()
static core_analytics\local\analyser\base::potential_context_restrictions |
( |
string |
$query = null | ) |
|
|
staticinherited |
Returns the possible contexts used by the analyser.
This method uses separate logic for each context level because to iterate through the list of contexts calling get_context_name for each of them would be expensive in performance terms.
This generic implementation returns all the contexts in the site for the provided context level. Overwrite it for specific restrictions in your analyser.
- Parameters
-
string | null | $query | Context name filter. |
- Return values
-
◆ processes_user_data()
core_analytics\local\analyser\base::processes_user_data |
( |
| ) |
|
|
inherited |
Whether the plugin needs user data clearing or not.
This is related to privacy. Override this method if your analyser samples have any relation to the 'user' database entity. We need to clean the site from all user-related data if a user request their data to be deleted from the system. A static::provided_sample_data returning 'user' is an indicator that you should be returning true.
- Return values
-
Reimplemented in core\analytics\analyser\users, and core\analytics\analyser\student_enrolments.
◆ provided_sample_data()
core\analytics\analyser\courses::provided_sample_data |
( |
| ) |
|
|
protected |
◆ sample_access_context()
core\analytics\analyser\courses::sample_access_context |
( |
|
$sampleid | ) |
|
◆ sample_description()
core\analytics\analyser\courses::sample_description |
( |
|
$sampleid, |
|
|
|
$contextid, |
|
|
|
$sampledata |
|
) |
| |
Returns the sample description.
- Parameters
-
int | $sampleid | |
int | $contextid | |
array | $sampledata | |
- Return values
-
array | array(string, renderable) |
Reimplemented from core_analytics\local\analyser\base.
◆ $timesplittings
core_analytics local time_splitting base [] core_analytics\local\analyser\base::$timesplittings |
|
protectedinherited |
Time splitting methods to use.
Multiple time splitting methods during evaluation and 1 single time splitting method once the model is enabled.
The documentation for this class was generated from the following file: