1 |
efrain |
1 |
This files describes API changes in /enrol/* - plugins,
|
|
|
2 |
information provided here is intended especially for developers.
|
|
|
3 |
|
|
|
4 |
=== 4.4 ===
|
|
|
5 |
|
|
|
6 |
* Functions core_enrol_external::search_users and course_enrolment_manager::search_users now have extra optional parameter
|
|
|
7 |
contextid which allows to search users in a specific activity context. When omitted it searches in the whole course.
|
|
|
8 |
* New find_instance() function has been created. It finds a matching enrolment instance in a given course using provided
|
|
|
9 |
enrolment data (for example cohort idnumber for cohort enrolment). Defaults to null. Override this function in your
|
|
|
10 |
enrolment plugin if you want it to be supported in CSV course upload. Please be aware that sometimes it is not possible
|
|
|
11 |
to uniquely find an instance based on given data. For example lti entolment records do not have any unique data except
|
|
|
12 |
id in mod_lti_enrol table. Such plugins should not be supported in CSV course upload. The exception is self enrolment
|
|
|
13 |
plugin since it is already supported in CSV course upload. For self enrolment plugin, find_instance() returns first
|
|
|
14 |
available instance in the course.
|
|
|
15 |
* A sesskey is no longer passed to the enrol/test_settings.php page so it can no longer be required in test_settings().
|
|
|
16 |
* enrol_self_plugin::get_welcome_email_contact() has been deprecated.
|
|
|
17 |
Please use enrol_plugin::get_welcome_message_contact() instead.
|
|
|
18 |
* enrol_self_plugin::email_welcome_message() has been deprecated.
|
|
|
19 |
Please use enrol_plugin::send_course_welcome_message_to_user() instead.
|
|
|
20 |
|
|
|
21 |
=== 4.3 ===
|
|
|
22 |
|
|
|
23 |
* New is_csv_upload_supported() function has been created. It checks whether enrolment plugin is supported
|
|
|
24 |
in CSV course upload. Defaults to false. Override this function in your enrolment plugin if you want it to
|
|
|
25 |
be supported in CSV course upload.
|
|
|
26 |
|
|
|
27 |
=== 4.2 ===
|
|
|
28 |
|
|
|
29 |
* New is_self_enrol_available() function has been created. Similar to can_self_enrol but without checking user capabilities.
|
|
|
30 |
* External function core_enrol_external::get_users_courses now returns a field called "courseimage" containing a URL pointing to
|
|
|
31 |
the course image.
|
|
|
32 |
|
|
|
33 |
=== 4.0 ===
|
|
|
34 |
|
|
|
35 |
* Final deprecation of the following webservice:
|
|
|
36 |
* core_enrol_edit_user_enrolment
|
|
|
37 |
* External function core_enrol_external::get_users_courses now returns the last time a course was modified (timemodified field)
|
|
|
38 |
* The behat step i_add_enrolment_method_with() has been deprecated. Please use the new method i_add_enrolment_method_for_with()
|
|
|
39 |
|
|
|
40 |
=== 3.11 ===
|
|
|
41 |
|
|
|
42 |
* Added onlysuspended option to core_enrol_get_enrolled_users webservice to retrieve only suspended users.
|
|
|
43 |
|
|
|
44 |
=== 3.8 ===
|
|
|
45 |
|
|
|
46 |
* Function enrol_manual_plugin::enrol_cohort now return the number of enrolled cohort users.
|
|
|
47 |
|
|
|
48 |
=== 3.7 ===
|
|
|
49 |
|
|
|
50 |
* Functions get_potential_users() and search_other_users() now return more information to avoid extra count query:
|
|
|
51 |
- users: List of user objects returned by the query.
|
|
|
52 |
- moreusers: True if there are still more users, otherwise is False.
|
|
|
53 |
- totalusers: Number users matching the search. (This element only exists if the function is called with $returnexactcount param set to true).
|
|
|
54 |
* enrolledusercount is now optional in the return value of get_users_courses() for performance reasons. This is controlled with the new
|
|
|
55 |
optional returnusercount parameter (default true).
|
|
|
56 |
* External function core_enrol_external::get_users_courses now returns a new field "completionusertracked" that indicates if the
|
|
|
57 |
given user is being tracked for completion.
|
|
|
58 |
|
|
|
59 |
=== 3.6 ===
|
|
|
60 |
|
|
|
61 |
* External function core_enrol_external::get_users_courses now return more information to avoid multiple queries to build the
|
|
|
62 |
user dashboard:
|
|
|
63 |
- displayname: Course display name for lists.
|
|
|
64 |
- marker: Course section active marker.
|
|
|
65 |
- completed: Whether the given user completed the course or not.
|
|
|
66 |
- lastaccess: Last time the user accessed the course.
|
|
|
67 |
- overviewfiles: Course overview files.
|
|
|
68 |
- completionhascriteria: Whether completion criteria is set for the course.
|
|
|
69 |
- isfavourite: Whether the user marked the course as favourite.
|
|
|
70 |
- hidden: Whether the user hide the course from the dashboard.
|
|
|
71 |
* External functions core_enrol_external::get_enrolled_users and core_enrol_external::get_enrolled_users_with_capability now return
|
|
|
72 |
the last access time for the users in the given course.
|
|
|
73 |
|
|
|
74 |
=== 3.5 ===
|
|
|
75 |
|
|
|
76 |
* Default sorting in enrol_get_my_courses(), enrol_get_all_users_courses() and enrol_get_users_courses() now respects
|
|
|
77 |
the site setting "navsortmycoursessort" and should be consistently used when displaying the courses in the UI.
|
|
|
78 |
|
|
|
79 |
=== 3.4 ===
|
|
|
80 |
|
|
|
81 |
* render_course_enrolment_users_table method has been removed from the renderer. The enrolled users page is now
|
|
|
82 |
combined with the participants page. /enrol/users.php no longer exists.
|
|
|
83 |
|
|
|
84 |
=== 3.3 ===
|
|
|
85 |
|
|
|
86 |
* External function core_enrol_external::get_users_courses now return the user progress, start and the end course dates.
|
|
|
87 |
|
|
|
88 |
=== 3.2 ===
|
|
|
89 |
|
|
|
90 |
* External function core_enrol_external::get_users_courses now return the category id as an additional optional field.
|
|
|
91 |
|
|
|
92 |
=== 3.1 ===
|
|
|
93 |
|
|
|
94 |
* core_enrol_external::get_enrolled_users now supports two additional parameters for ordering: sortby and sortdirection.
|
|
|
95 |
* Enrolment plugins UI have been consolidated. Plugins can implement use_standard_editing_ui() function
|
|
|
96 |
and add edit_instance_form() and edit_instance_validation() methods instead of providing their own edit.php and form.
|
|
|
97 |
They can then rely on the default implementation of get_action_icons and get_course_navigation. In future this will
|
|
|
98 |
mean they can be called by webservices/user upload tools because they can validate their data.
|
|
|
99 |
|
|
|
100 |
=== 3.0 ===
|
|
|
101 |
|
|
|
102 |
* Added new events enrol_instance_created, enrol_instance_updated and
|
|
|
103 |
enrol_instance_deleted . Always trigger them when changing records in the
|
|
|
104 |
DB table 'enrol'.
|
|
|
105 |
* Constant CACHE_COURSE_CONTACTS_TTL was deleted.
|
|
|
106 |
* 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.
|
|
|
107 |
|
|
|
108 |
=== 2.9 ===
|
|
|
109 |
|
|
|
110 |
* External function core_enrol_external::get_users_courses now returns additional optional fields:
|
|
|
111 |
- summary: Course summary.
|
|
|
112 |
- summaryformat: Course summary format.
|
|
|
113 |
- format: Course format.
|
|
|
114 |
- showgrades: True if grades are shown, otherwise false.
|
|
|
115 |
- lang: Forced course language.
|
|
|
116 |
- enablecompletion: Control or not via completion and activity settings.
|
|
|
117 |
|
|
|
118 |
=== 2.8 ===
|
|
|
119 |
|
|
|
120 |
* enrol_plugin::instance_deleteable() is deprecated and has been replaced by enrol_plugin::can_delete_instance()
|
|
|
121 |
* enrol_plugin::can_hide_show_instance() is a new function to control who can hide/show enrolment instances.
|
|
|
122 |
Returns true by default but plugins must implement their own logic.
|
|
|
123 |
|
|
|
124 |
=== 2.6 ===
|
|
|
125 |
|
|
|
126 |
* Enrolment plugin which supports self enrolment should implement can_self_enrol()
|
|
|
127 |
* Enrolment plugin should implement get_enrol_info() to expose instance information
|
|
|
128 |
with webservice or external interface.
|
|
|
129 |
* Webservice core_enrol_get_enrolled_users_with_capability was incorrectly specifing
|
|
|
130 |
float as the return type for user id. int is the actual returned type and is now
|
|
|
131 |
reported as such.
|
|
|
132 |
|
|
|
133 |
=== 2.5 ===
|
|
|
134 |
|
|
|
135 |
* plugins may use general enrol/editenrolment.php page to let users edit
|
|
|
136 |
enrolments manually
|
|
|
137 |
* new support for grade recovery in enrol_plugin::enrol_user() method
|
|
|
138 |
|
|
|
139 |
=== 2.4 ===
|
|
|
140 |
|
|
|
141 |
required changes in code:
|
|
|
142 |
* use role_get_name() or role_fix_names() if you need any role names, using role.name
|
|
|
143 |
directly from database is not correct any more
|
|
|
144 |
* new restore support: ENROL_RESTORE_EXACT, ENROL_RESTORE_NOUSERS
|
|
|
145 |
and ENROL_RESTORE_CLASS were removed, implement new restore_* plugin methods instead
|
|
|
146 |
|
|
|
147 |
other changes and new features:
|
|
|
148 |
* course enrolment manager now works with disabled plugins too
|
|
|
149 |
* new support for protected group membership linked to enrol instance
|
|
|
150 |
* new support for expiry notifications - see enrol_plugin::send_expiry_notifications() method
|
|
|
151 |
|
|
|
152 |
|
|
|
153 |
=== 2.2 ===
|
|
|
154 |
|
|
|
155 |
required changes in code:
|
|
|
156 |
* load_temp_role() is deprecated, use load_temp_course_role() instead, temp role not loaded
|
|
|
157 |
* remove_temp_role() is deprecated, use remove_temp_course_roles() instead
|
|
|
158 |
* 'user_unenrol_modified' event was renamed to 'user_enrol_modified'
|
|
|
159 |
|
|
|
160 |
|
|
|
161 |
=== 2.0 ===
|
|
|
162 |
|
|
|
163 |
required changes in code:
|
|
|
164 |
* enrolment plugins need to be rewritten to use new API - see inline phpdocs and official plugins
|