MDL-35038 quiz reports: clarify the API changes docs.

Also re-organise the file to put the most recent changes at the top.
This commit is contained in:
Tim Hunt 2012-08-23 18:26:43 +01:00
parent 940f7b9171
commit f8d354282c

View File

@ -3,9 +3,34 @@ This files describes API changes for quiz report plugins.
Overview of this plugin type at http://docs.moodle.org/dev/Quiz_reports
=== earlier versions ===
=== 2.3 ===
* ... API changes were not documented properly. Sorry. (There weren't many!)
* 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.
=== 2.2 ===
@ -17,27 +42,6 @@ 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.
=== 2.3 ===
=== earlier versions ===
* Support for the old way of doing cron in a separate cron.php file has been removed.
You need a lib.php file inside the pluginneme (quiz report name) and a cron function
with the name quiz_pluginname_cron(), where pluginnme is the report name (e.g.:
quiz_statistics_cron()).
* Some globally defined constants with the prefix "QUIZ_REPORT_ATTEMPTS_" are put inside
the abstract class "quiz_attempts_report" in Moodle 2.3.and they associate as follows:
withis the classes drived from "quiz_attempts_report":
parent::ALL_WITH replaces QUIZ_REPORT_ATTEMPTS_ALL
parent::ENROLLED_ALL replaces QUIZ_REPORT_ATTEMPTS_ALL_STUDENTS
parent::ENROLLED_WITH replaces QUIZ_REPORT_ATTEMPTS_STUDENTS_WITH
parent::ENROLLED_WITHOUT replaces QUIZ_REPORT_ATTEMPTS_STUDENTS_WITH_NO
anywhere else:
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
* The clas "quiz_attempt_report" ahd been renbamed as "quiz_attempts_report"
* ... API changes were not documented properly. Sorry. (There weren't many!)