upgrade.txt 1.85 KB
Newer Older
1
2
3
4
5
This files describes API changes for quiz report plugins.

Overview of this plugin type at http://docs.moodle.org/dev/Quiz_reports


6
=== 2.3 ===
7

8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
* Support for the old way of doing cron in a separate cron.php file has been removed.
Instead, you need a lib.php file inside the plugin with a cron function
called quiz_myreportname_cron(). The statistics report is an example of how
it should be done.

* There was a big refactor of the quiz reports, in issues MDL-32300, MDL-32322 and MDL-3030.
It is difficult to explain the changes. Probably the best way to understand what
happened is to look at
    git log mod/quiz/report/overview
    git log mod/quiz/report/responses
and so on. Here are some notes on a few of the changes:

The class quiz_attempt_report was renamed to quiz_attempts_report (with an extra s).

Some globally defined constants with the prefix QUIZ_REPORT_ATTEMPTS_ moved into
the quiz_attempts_report class. Specifically

quiz_attempts_report::ALL_WITH         replaces QUIZ_REPORT_ATTEMPTS_ALL
quiz_attempts_report::ENROLLED_ALL     replaces QUIZ_REPORT_ATTEMPTS_ALL_STUDENTS
quiz_attempts_report::ENROLLED_WITH    replaces QUIZ_REPORT_ATTEMPTS_STUDENTS_WITH
quiz_attempts_report::ENROLLED_WITHOUT replaces QUIZ_REPORT_ATTEMPTS_STUDENTS_WITH_NO

Your if you have a table class, it needs to be renamed like
quiz_report_myreportname_table -> quiz_myreportname_table. That is, all the
class names in your plugin should start with the frankenstyle plugin name
quiz_myreportname.
34
35
36
37
38
39
40
41
42
43
44


=== 2.2 ===

* Plugins should be converted to implement cron in the standard way. In lib.php,
define a
function quiz_myreportname_cron() {};
This replaces the old way of having a separate cron.php file. Also, the cron
frequency should be defined in version.php, not in the quiz_reports table.


45
=== earlier versions ===
46

47
* ... API changes were not documented properly. Sorry. (There weren't many!)