upgrade.txt 5.97 KB
Newer Older
Petr Skoda's avatar
Petr Skoda committed
1
2
3
This files describes API changes in /enrol/* - plugins,
information provided here is intended especially for developers.

4
5
6
7
=== 4.0 ===

* Final deprecation of the following webservice:
  * core_enrol_edit_user_enrolment
8
* External function core_enrol_external::get_users_courses now returns the last time a course was modified (timemodified field)
9

10
11
12
13
=== 3.11 ===

* Added onlysuspended option to core_enrol_get_enrolled_users webservice to retrieve only suspended users.

14
15
16
17
=== 3.8 ===

* Function enrol_manual_plugin::enrol_cohort now return the number of enrolled cohort users.

18
19
20
21
22
23
=== 3.7 ===

* Functions get_potential_users() and search_other_users() now return more information to avoid extra count query:
  - users: List of user objects returned by the query.
  - moreusers: True if there are still more users, otherwise is False.
  - totalusers: Number users matching the search. (This element only exists if the function is called with $returnexactcount param set to true).
24
25
* enrolledusercount is now optional in the return value of get_users_courses() for performance reasons. This is controlled with the new
  optional returnusercount parameter (default true).
26
27
* External function core_enrol_external::get_users_courses now returns a new field "completionusertracked" that indicates if the
  given user is being tracked for completion.
28

29
30
31
32
33
34
35
36
37
=== 3.6 ===

* External function core_enrol_external::get_users_courses now return more information to avoid multiple queries to build the
  user dashboard:
  - displayname: Course display name for lists.
  - marker: Course section active marker.
  - completed: Whether the given user completed the course or not.
  - lastaccess: Last time the user accessed the course.
  - overviewfiles: Course overview files.
38
39
40
  - completionhascriteria: Whether completion criteria is set for the course.
  - isfavourite: Whether the user marked the course as favourite.
  - hidden: Whether the user hide the course from the dashboard.
41
42
* External functions core_enrol_external::get_enrolled_users and core_enrol_external::get_enrolled_users_with_capability now return
  the last access time for the users in the given course.
43

44
45
46
47
48
=== 3.5 ===

* Default sorting in enrol_get_my_courses(), enrol_get_all_users_courses() and enrol_get_users_courses() now respects
  the site setting "navsortmycoursessort" and should be consistently used when displaying the courses in the UI.

49
50
51
52
53
=== 3.4 ===

* render_course_enrolment_users_table method has been removed from the renderer. The enrolled users page is now
  combined with the participants page. /enrol/users.php no longer exists.

54
55
56
57
=== 3.3 ===

* External function core_enrol_external::get_users_courses now return the user progress, start and the end course dates.

58
59
60
61
=== 3.2 ===

* External function core_enrol_external::get_users_courses now return the category id as an additional optional field.

62
=== 3.1 ===
63

64
* core_enrol_external::get_enrolled_users now supports two additional parameters for ordering: sortby and sortdirection.
65
66
* Enrolment plugins UI have been consolidated. Plugins can implement use_standard_editing_ui() function
  and add edit_instance_form() and edit_instance_validation() methods instead of providing their own edit.php and form.
67
  They can then rely on the default implementation of get_action_icons and get_course_navigation. In future this will
68
  mean they can be called by webservices/user upload tools because they can validate their data.
69

70
71
72
73
74
=== 3.0 ===

* Added new events enrol_instance_created, enrol_instance_updated and
  enrol_instance_deleted . Always trigger them when changing records in the
  DB table 'enrol'.
75
* Constant CACHE_COURSE_CONTACTS_TTL was deleted.
76
* 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.
77

78
79
80
81
82
83
84
85
86
87
=== 2.9 ===

* External function core_enrol_external::get_users_courses now returns additional optional fields:
   - summary: Course summary.
   - summaryformat: Course summary format.
   - format: Course format.
   - showgrades: True if grades are shown, otherwise false.
   - lang: Forced course language.
   - enablecompletion: Control or not via completion and activity settings.

Dan Poltawski's avatar
Dan Poltawski committed
88
89
90
=== 2.8 ===

* enrol_plugin::instance_deleteable() is deprecated and has been replaced by enrol_plugin::can_delete_instance()
91
92
* enrol_plugin::can_hide_show_instance() is a new function to control who can hide/show enrolment instances.
  Returns true by default but plugins must implement their own logic.
Dan Poltawski's avatar
Dan Poltawski committed
93

94
95
96
97
98
=== 2.6 ===

* Enrolment plugin which supports self enrolment should implement can_self_enrol()
* Enrolment plugin should implement get_enrol_info() to expose instance information
  with webservice or external interface.
99
100
101
* Webservice core_enrol_get_enrolled_users_with_capability was incorrectly specifing
  float as the return type for user id. int is the actual returned type and is now
  reported as such.
102

103
104
105
106
=== 2.5 ===

* plugins may use general enrol/editenrolment.php page to let users edit
  enrolments manually
107
* new support for grade recovery in enrol_plugin::enrol_user() method
108

109
110
111
112
113
=== 2.4 ===

required changes in code:
* use role_get_name() or role_fix_names() if you need any role names, using role.name
  directly from database is not correct any more
114
115
* new restore support: ENROL_RESTORE_EXACT, ENROL_RESTORE_NOUSERS
  and ENROL_RESTORE_CLASS were removed, implement new restore_* plugin methods instead
116

117
other changes and new features:
118
* course enrolment manager now works with disabled plugins too
119
120
* new support for protected group membership linked to enrol instance
* new support for expiry notifications - see enrol_plugin::send_expiry_notifications() method
121

122

Petr Skoda's avatar
Petr Skoda committed
123
124
125
126
127
=== 2.2 ===

required changes in code:
* load_temp_role() is deprecated, use load_temp_course_role() instead, temp role not loaded
* remove_temp_role() is deprecated, use remove_temp_course_roles() instead
128
* 'user_unenrol_modified' event was renamed to 'user_enrol_modified'
129
130
131
132
133


=== 2.0 ===

required changes in code:
134
* enrolment plugins need to be rewritten to use new API - see inline phpdocs and official plugins