MDL-70821 behat: Use new activity completion steps for Behat tests
[moodle.git] / course / upgrade.txt
CommitLineData
9df9f1f0
JL
1This files describes API changes in /course/*,
2information provided here is intended especially for developers.
3
8e7dc424
FR
4=== 4.0 ===
5
6* The format_base is now deprecated. Use core_course\course_format instead.
7* The new course output components deprecate many renderer methods from course
8renderer and course format renderer:
9 - output\course_format: to render the general course structure
10 - output\section_format: to render a section
11 - output\cm_format: to render an activity card inside a section
12 - output\course_format\*: to render parts of the course structure
13 - output\section_format\*: to render parts of the course section
14* The previous format renderer page_title method has been moved to course_format::page_title
15* New format renderer methods to interact with the new output components:
16 - render: override the default templatable mustache location for the new course components.
17 - course_section_updated_cm_item: used when the course editor needs to update a cm item HTML.
18 - render_course_format: contrib formats should override this method to change the default template.
19* The following methods are adapted to use outputs but with a deprecation warning and should not be used anymore:
20 - print_single_section_page (replaced by output\course_format)
21 - print_multiple_section_page (replaced by output\course_format)
22 - course_activity_clipboard (integrated in replaced by output\course_format)
23 - format_summary_text (replaced by output\section_format\summay)
24 - change_number_sections (replaced by output\course_format\addsection)
25 - course_section_cm_list_item (replaced by output\section_format\cmitem)
26 - course_section_cm (replaced by output\cm_format)
27 - course_section_cm_list (replaced by output\section_format\cmlist)
28 - section_edit_control_menu (replaced by output\section_format\controlmenu)
29 - section_right_content (integrated in output\section_format)
30 - section_left_content (integrated in output\section_format)
31 - section_header (replaced by output\section_format\header)
32 - section_footer (integrated in output\section_format)
33 - section_edit_control_items (replaced by output\section_format\controlmenu)
34 - section_summary (replaced by output\section_format\summary)
35 - section_activity_summary (replaced by output\section_format\cmsummary)
36 - section_availability_message (integrated in output\section_format\availability)
37 - section_availability (replaced by output\section_format\availability)
38 - get_nav_links (replaced by output\course_format\sectionnavigation)
39 - stealth_section_header (replaced by output\section_format\header)
40 - stealth_section_footer (integrated in by output\section_format)
41 - section_nav_selection (replaced by output\course_format\sectionselector)
42* The following abstract methods are deleted:
43 - start_section_list (integrated in output\course_format)
44 - end_section_list (integrated in output\course_format)
45 - page_title (moved to output\course_format)
46
e99e0bb5
DM
47=== 3.11 ===
48* A new callback xxx_coursemodule_definition_after_data that allows plugins to extend activity forms after the data is set.
e9330444
JP
49* \core_course_renderer::course_section_cm_completion() has been deprecated. It is not being used anymore and is being replaced by
50 \core_renderer::activity_information().
e99e0bb5 51
9a79c34e 52=== 3.10 ===
2c45ad6f
JP
53
54* The function make_categories_options() has now been deprecated. Please use \core_course_category::make_categories_list() instead.
35101a6a 55* External function core_course_external::get_course_contents now returns a new field contextid with the module context id.
d1787798
PH
56* The core_course_external class methods get_courses(), get_courses_by_field() and search_courses() now return a "valueraw" property
57 for each custom course field, which contains the original/unformatted version of the custom field value.
2c45ad6f 58
12f73788
JD
59=== 3.9 ===
60
61* The function get_module_metadata is now deprecated. Please use \core_course\local\service\content_item_service instead.
1e7e255d 62* Activity module names are now PARAM_ALPHANUM instead of PARAM_ALPHA so integers can be used in activity module names
ebd08abc
MM
63* The following functions have been added to core_course_renderer class to have more granularity. They can be overriden in
64 extending classes:
65 - course_name
66 - course_enrolment_icons
67 - course_summary
68 - course_contacts
69 - course_overview_files
70 - course_category_name
71 - course_custom_fields
12f73788 72
c128ccc1 73=== 3.8 ===
cd4abbc7 74
c128ccc1
SA
75* The following functions have been finally deprecated and can not be used any more:
76 - core_course_external::get_activities_overview
cd4abbc7
AB
77* External function core_course_external::get_enrolled_courses_by_timeline_classification now also supports the classification
78 'allincludinghidden' which delivers all courses including hidden courses. The classification 'all' still returns all courses
79 without hidden courses.
c128ccc1 80
76724712 81=== 3.7 ===
98c49e1a 82
620896cf
BB
83 * The course pattern function in course_summary_exporter::get_course_pattern has been moved to $OUTPUT->get_generated_image_for_id.
84 * The course color function in course_summary_exporter::coursecolor has been moved to $OUTPUT->get_generated_color_for_id.
76724712
MJ
85 * External function core_course_external::get_course_contents new returns the following additional completiondata field:
86 - valueused (indicates whether the completion state affects the availability of other content)
9b8aed89 87 * External function core_course_external::get_course_contents now returns a new contentsinfo field with summary files information.
6c344ff2
JL
88 * External function core_course_external::get_course_contents now returns an additional field "tags" returning the content tags.
89
a487a3ed
DK
90=== 3.6 ===
91
1206a487 92 * External function core_course_external::get_course_public_information now returns the roles and the primary role of course
a487a3ed 93 contacts.
1206a487
JL
94 * External function core_course_external::get_course_contents now return the following additional file fields:
95 - onclick (onclick javascript action code)
96 - afterlink (after link info to be displayed)
97 - customdata (module custom data (JSON encoded))
1de51367
JL
98 - completion (to indicate if completion is enabled or not)
99 - completiondata (completion status for the current user in the module)
f3507f59 100 * External function core_group_external::get_course_user_groups now can return all user courses group information.
a487a3ed 101
8c52eb2a 102=== 3.5 ===
a487a3ed 103
7afa724c 104 * There is a new capability 'moodle/course:setforcedlanguage' to control which users can force the course
8c52eb2a 105 language; create_course and update_course functions delegate access control to the caller code; if you
7afa724c 106 are calling those functions you may be interested in checking if the logged in user has 'moodle/course:setforcedlanguage' capability.
8c52eb2a 107
e45fc71e
JL
108=== 3.3 ===
109
110 * External function core_course_external::get_courses_by_field now returns the course filters list and status.
ef83fc2a 111 * External function core_course_external::get_courses_by_field now returns the end date of the course.
dbc404de
JL
112 * External function core_course_external::get_course_contents now return the following additional file fields:
113 - mimetype (the file mime type)
114 - isexternalfile (if is a file reference to a external repository)
115 - repositorytype (the repository name in case is a external file)
116 Those fields are VALUE_OPTIONAL for backwards compatibility.
935429e2
JL
117 * External function core_course_external::get_course_contents now return the following fields for section and modules:
118 - uservisible (whether the section or module is visible by the user)
119 - availabilityinfo (availability information if the course or module has any access restriction set
e45fc71e 120
9df9f1f0
JL
121=== 3.2 ===
122
123 * External function core_course_external::get_course_contents now returns the section's number in the course (new section field).
82f5802a 124 * External function core_course_external::get_course_contents now returns if a section is hidden in the course format.
14590070
JL
125 * External functions that were returning file information now return the following file fields:
126 filename, filepath, mimetype, filesize, timemodified and fileurl.
127 Those fields are now marked as VALUE_OPTIONAL for backwards compatibility.
4f2378d9
FM
128 * The modchooser now uses a renderable and a template, thus its associated renderer
129 methods have been deprecated. Note that the call to core_course_render::course_modchooser,
130 is still required. Deprecated methods:
131 - core_course_renderer::course_modchooser_module_types
132 - core_course_renderer::course_modchooser_module
133 - core_course_renderer::course_modchooser_title
8643c576
DM
134 * You can now specify a course end date when calling core_course_external::create_courses and core_course_external::update_courses
135 external functions. core_course_external::get_courses external function is now returning courses end date values.