This files describes API changes in /course/*, information provided here is intended especially for developers. === 3.10 === * The function make_categories_options() has now been deprecated. Please use \core_course_category::make_categories_list() instead. * External function core_course_external::get_course_contents now returns a new field contextid with the module context id. * The core_course_external class methods get_courses(), get_courses_by_field() and search_courses() now return a "valueraw" property for each custom course field, which contains the original/unformatted version of the custom field value. === 3.9 === * The function get_module_metadata is now deprecated. Please use \core_course\local\service\content_item_service instead. * Activity module names are now PARAM_ALPHANUM instead of PARAM_ALPHA so integers can be used in activity module names * The following functions have been added to core_course_renderer class to have more granularity. They can be overriden in extending classes: - course_name - course_enrolment_icons - course_summary - course_contacts - course_overview_files - course_category_name - course_custom_fields === 3.8 === * The following functions have been finally deprecated and can not be used any more: - core_course_external::get_activities_overview * External function core_course_external::get_enrolled_courses_by_timeline_classification now also supports the classification 'allincludinghidden' which delivers all courses including hidden courses. The classification 'all' still returns all courses without hidden courses. === 3.7 === * The course pattern function in course_summary_exporter::get_course_pattern has been moved to $OUTPUT->get_generated_image_for_id. * The course color function in course_summary_exporter::coursecolor has been moved to $OUTPUT->get_generated_color_for_id. * External function core_course_external::get_course_contents new returns the following additional completiondata field: - valueused (indicates whether the completion state affects the availability of other content) * External function core_course_external::get_course_contents now returns a new contentsinfo field with summary files information. * External function core_course_external::get_course_contents now returns an additional field "tags" returning the content tags. === 3.6 === * External function core_course_external::get_course_public_information now returns the roles and the primary role of course contacts. * External function core_course_external::get_course_contents now return the following additional file fields: - onclick (onclick javascript action code) - afterlink (after link info to be displayed) - customdata (module custom data (JSON encoded)) - completion (to indicate if completion is enabled or not) - completiondata (completion status for the current user in the module) * External function core_group_external::get_course_user_groups now can return all user courses group information. === 3.5 === * There is a new capability 'moodle/course:setforcedlanguage' to control which users can force the course language; create_course and update_course functions delegate access control to the caller code; if you are calling those functions you may be interested in checking if the logged in user has 'moodle/course:setforcedlanguage' capability. === 3.3 === * External function core_course_external::get_courses_by_field now returns the course filters list and status. * External function core_course_external::get_courses_by_field now returns the end date of the course. * External function core_course_external::get_course_contents now return the following additional file fields: - mimetype (the file mime type) - isexternalfile (if is a file reference to a external repository) - repositorytype (the repository name in case is a external file) Those fields are VALUE_OPTIONAL for backwards compatibility. * External function core_course_external::get_course_contents now return the following fields for section and modules: - uservisible (whether the section or module is visible by the user) - availabilityinfo (availability information if the course or module has any access restriction set === 3.2 === * External function core_course_external::get_course_contents now returns the section's number in the course (new section field). * External function core_course_external::get_course_contents now returns if a section is hidden in the course format. * External functions that were returning file information now return the following file fields: filename, filepath, mimetype, filesize, timemodified and fileurl. Those fields are now marked as VALUE_OPTIONAL for backwards compatibility. * The modchooser now uses a renderable and a template, thus its associated renderer methods have been deprecated. Note that the call to core_course_render::course_modchooser, is still required. Deprecated methods: - core_course_renderer::course_modchooser_module_types - core_course_renderer::course_modchooser_module - core_course_renderer::course_modchooser_title * You can now specify a course end date when calling core_course_external::create_courses and core_course_external::update_courses external functions. core_course_external::get_courses external function is now returning courses end date values.