Merge branch 'MDL-69869-master' of git://github.com/ilya-catalyst/moodle
[moodle.git] / enrol / upgrade.txt
CommitLineData
e922fe23
PS
1This files describes API changes in /enrol/* - plugins,
2information provided here is intended especially for developers.
3
e53bc6a1
IT
4=== 3.11 ===
5
6* Added onlysuspended option to core_enrol_get_enrolled_users webservice to retrieve only suspended users.
7
7a27c901
WM
8=== 3.8 ===
9
10* Function enrol_manual_plugin::enrol_cohort now return the number of enrolled cohort users.
11
1f00fdb0
HN
12=== 3.7 ===
13
14* Functions get_potential_users() and search_other_users() now return more information to avoid extra count query:
15 - users: List of user objects returned by the query.
16 - moreusers: True if there are still more users, otherwise is False.
17 - totalusers: Number users matching the search. (This element only exists if the function is called with $returnexactcount param set to true).
7d4c3458
MJ
18* enrolledusercount is now optional in the return value of get_users_courses() for performance reasons. This is controlled with the new
19 optional returnusercount parameter (default true).
dfcf8342
JL
20* External function core_enrol_external::get_users_courses now returns a new field "completionusertracked" that indicates if the
21 given user is being tracked for completion.
1f00fdb0 22
b36ee81e
JL
23=== 3.6 ===
24
25* External function core_enrol_external::get_users_courses now return more information to avoid multiple queries to build the
26 user dashboard:
27 - displayname: Course display name for lists.
28 - marker: Course section active marker.
29 - completed: Whether the given user completed the course or not.
30 - lastaccess: Last time the user accessed the course.
31 - overviewfiles: Course overview files.
8e7b8cf0
JL
32 - completionhascriteria: Whether completion criteria is set for the course.
33 - isfavourite: Whether the user marked the course as favourite.
34 - hidden: Whether the user hide the course from the dashboard.
1f87a7f6
JL
35* External functions core_enrol_external::get_enrolled_users and core_enrol_external::get_enrolled_users_with_capability now return
36 the last access time for the users in the given course.
b36ee81e 37
a3d00360
DM
38=== 3.5 ===
39
40* Default sorting in enrol_get_my_courses(), enrol_get_all_users_courses() and enrol_get_users_courses() now respects
41 the site setting "navsortmycoursessort" and should be consistently used when displaying the courses in the UI.
42
4b50765b
DW
43=== 3.4 ===
44
45* render_course_enrolment_users_table method has been removed from the renderer. The enrolled users page is now
46 combined with the participants page. /enrol/users.php no longer exists.
47
01c26702
JL
48=== 3.3 ===
49
50* External function core_enrol_external::get_users_courses now return the user progress, start and the end course dates.
51
27c7ed0b
JL
52=== 3.2 ===
53
54* External function core_enrol_external::get_users_courses now return the category id as an additional optional field.
55
4bc38ba9 56=== 3.1 ===
992365f8 57
4bc38ba9 58* core_enrol_external::get_enrolled_users now supports two additional parameters for ordering: sortby and sortdirection.
992365f8
JD
59* Enrolment plugins UI have been consolidated. Plugins can implement use_standard_editing_ui() function
60 and add edit_instance_form() and edit_instance_validation() methods instead of providing their own edit.php and form.
c9f85a10 61 They can then rely on the default implementation of get_action_icons and get_course_navigation. In future this will
992365f8 62 mean they can be called by webservices/user upload tools because they can validate their data.
4bc38ba9 63
080c7d47
MG
64=== 3.0 ===
65
66* Added new events enrol_instance_created, enrol_instance_updated and
67 enrol_instance_deleted . Always trigger them when changing records in the
68 DB table 'enrol'.
5667e602 69* Constant CACHE_COURSE_CONTACTS_TTL was deleted.
b036215a 70* External function core_enrol_external::get_enrolled_users now returns only the viewable participants if the course has groups enabled and no groupid is passed.
080c7d47 71
6d28e2cf
JL
72=== 2.9 ===
73
74* External function core_enrol_external::get_users_courses now returns additional optional fields:
75 - summary: Course summary.
76 - summaryformat: Course summary format.
77 - format: Course format.
78 - showgrades: True if grades are shown, otherwise false.
79 - lang: Forced course language.
80 - enablecompletion: Control or not via completion and activity settings.
81
82f88cab
DP
82=== 2.8 ===
83
84* enrol_plugin::instance_deleteable() is deprecated and has been replaced by enrol_plugin::can_delete_instance()
b5a289c4
DNA
85* enrol_plugin::can_hide_show_instance() is a new function to control who can hide/show enrolment instances.
86 Returns true by default but plugins must implement their own logic.
82f88cab 87
38efca23
RT
88=== 2.6 ===
89
90* Enrolment plugin which supports self enrolment should implement can_self_enrol()
91* Enrolment plugin should implement get_enrol_info() to expose instance information
92 with webservice or external interface.
fb5ce7d3
DP
93* Webservice core_enrol_get_enrolled_users_with_capability was incorrectly specifing
94 float as the return type for user id. int is the actual returned type and is now
95 reported as such.
ee362526 96
59e7cc03
PS
97=== 2.5 ===
98
99* plugins may use general enrol/editenrolment.php page to let users edit
100 enrolments manually
ef8a733a 101* new support for grade recovery in enrol_plugin::enrol_user() method
59e7cc03 102
a2dd56d2
PS
103=== 2.4 ===
104
105required changes in code:
106* use role_get_name() or role_fix_names() if you need any role names, using role.name
107 directly from database is not correct any more
7a7b8a1f
PS
108* new restore support: ENROL_RESTORE_EXACT, ENROL_RESTORE_NOUSERS
109 and ENROL_RESTORE_CLASS were removed, implement new restore_* plugin methods instead
a2dd56d2 110
8c04252c 111other changes and new features:
005e57a2 112* course enrolment manager now works with disabled plugins too
8c04252c
PS
113* new support for protected group membership linked to enrol instance
114* new support for expiry notifications - see enrol_plugin::send_expiry_notifications() method
005e57a2 115
a2dd56d2 116
e922fe23
PS
117=== 2.2 ===
118
119required changes in code:
120* load_temp_role() is deprecated, use load_temp_course_role() instead, temp role not loaded
121* remove_temp_role() is deprecated, use remove_temp_course_roles() instead
358fb4dc 122* 'user_unenrol_modified' event was renamed to 'user_enrol_modified'
ee362526
PS
123
124
125=== 2.0 ===
126
127required changes in code:
ef8a733a 128* enrolment plugins need to be rewritten to use new API - see inline phpdocs and official plugins