Merge branch 'MDL-73827-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE
[moodle.git] / course / upgrade.txt
blob646373ff4803757f38f861dd2d762da22f525179
1 This files describes API changes in /course/*,
2 information provided here is intended especially for developers.
4 === 3.11 ===
5 * A new callback xxx_coursemodule_definition_after_data that allows plugins to extend activity forms after the data is set.
6 * \core_course_renderer::course_section_cm_completion() has been deprecated. It is not being used anymore and is being replaced by
7   \core_renderer::activity_information().
8 * New Behat steps for checking activity date information in the \behat_course class:
9   - activity_date_in_activity_should_contain_text()
10     - Given the activity date in "<ActivityName>" should contain "<Text>"
11   - activity_dates_information_in_activity_should_exist()
12     - Given the activity date information in "<ActivityName>" should exist
13   - activity_dates_information_in_activity_should_not_exist()
14     - Given the activity date information in "<ActivityName>" should not exist
15 * A user preference usemodchooser has been removed and the activities/resources (non-ajax) activity chooser has been deprecated and will be removed in the future.
16 * The `\core\event\course_category_deleted` event is now created with a snapshot of the category record being deleted,
17   available inside event observers via `$event->get_record_snapshot`
19 === 3.10 ===
21 * The function make_categories_options() has now been deprecated. Please use \core_course_category::make_categories_list() instead.
22 * External function core_course_external::get_course_contents now returns a new field contextid with the module context id.
23 * The core_course_external class methods get_courses(), get_courses_by_field() and search_courses() now return a "valueraw" property
24   for each custom course field, which contains the original/unformatted version of the custom field value.
26 === 3.9 ===
28 * The function get_module_metadata is now deprecated. Please use \core_course\local\service\content_item_service instead.
29 * Activity module names are now PARAM_ALPHANUM instead of PARAM_ALPHA so integers can be used in activity module names
30 * The following functions have been added to core_course_renderer class to have more granularity. They can be overriden in
31   extending classes:
32   - course_name
33   - course_enrolment_icons
34   - course_summary
35   - course_contacts
36   - course_overview_files
37   - course_category_name
38   - course_custom_fields
40 === 3.8 ===
42 * The following functions have been finally deprecated and can not be used any more:
43   - core_course_external::get_activities_overview
44 * External function core_course_external::get_enrolled_courses_by_timeline_classification now also supports the classification
45   'allincludinghidden' which delivers all courses including hidden courses. The classification 'all' still returns all courses
46   without hidden courses.
48 === 3.7 ===
50  * The course pattern function in course_summary_exporter::get_course_pattern has been moved to $OUTPUT->get_generated_image_for_id.
51  * The course color function in course_summary_exporter::coursecolor has been moved to $OUTPUT->get_generated_color_for_id.
52  * External function core_course_external::get_course_contents new returns the following additional completiondata field:
53    - valueused (indicates whether the completion state affects the availability of other content)
54  * External function core_course_external::get_course_contents now returns a new contentsinfo field with summary files information.
55  * External function core_course_external::get_course_contents now returns an additional field "tags" returning the content tags.
57 === 3.6 ===
59  * External function core_course_external::get_course_public_information now returns the roles and the primary role of course
60    contacts.
61  * External function core_course_external::get_course_contents now return the following additional file fields:
62    - onclick (onclick javascript action code)
63    - afterlink (after link info to be displayed)
64    - customdata (module custom data (JSON encoded))
65    - completion (to indicate if completion is enabled or not)
66    - completiondata (completion status for the current user in the module)
67  * External function core_group_external::get_course_user_groups now can return all user courses group information.
69 === 3.5 ===
71  * There is a new capability 'moodle/course:setforcedlanguage' to control which users can force the course
72    language; create_course and update_course functions delegate access control to the caller code; if you
73    are calling those functions you may be interested in checking if the logged in user has 'moodle/course:setforcedlanguage' capability.
75 === 3.3 ===
77  * External function core_course_external::get_courses_by_field now returns the course filters list and status.
78  * External function core_course_external::get_courses_by_field now returns the end date of the course.
79  * External function core_course_external::get_course_contents now return the following additional file fields:
80    - mimetype (the file mime type)
81    - isexternalfile (if is a file reference to a external repository)
82    - repositorytype (the repository name in case is a external file)
83    Those fields are VALUE_OPTIONAL for backwards compatibility.
84  * External function core_course_external::get_course_contents now return the following fields for section and modules:
85    - uservisible (whether the section or module is visible by the user)
86    - availabilityinfo (availability information if the course or module has any access restriction set
88 === 3.2 ===
90  * External function core_course_external::get_course_contents now returns the section's number in the course (new section field).
91  * External function core_course_external::get_course_contents now returns if a section is hidden in the course format.
92  * External functions that were returning file information now return the following file fields:
93    filename, filepath, mimetype, filesize, timemodified and fileurl.
94    Those fields are now marked as VALUE_OPTIONAL for backwards compatibility.
95  * The modchooser now uses a renderable and a template, thus its associated renderer
96    methods have been deprecated. Note that the call to core_course_render::course_modchooser,
97    is still required. Deprecated methods:
98    - core_course_renderer::course_modchooser_module_types
99    - core_course_renderer::course_modchooser_module
100    - core_course_renderer::course_modchooser_title
101  * You can now specify a course end date when calling core_course_external::create_courses and core_course_external::update_courses
102    external functions. core_course_external::get_courses external function is now returning courses end date values.