Merge branch 'wip-MDL-51834-master' of https://github.com/kwiliarty/moodle
[moodle.git] / enrol / upgrade.txt
blob1b9cc210a055b297d4cf6db23e100db63bd42c20
1 This files describes API changes in /enrol/* - plugins,
2 information provided here is intended especially for developers.
4 === 3.0 ===
6 * Added new events enrol_instance_created, enrol_instance_updated and
7   enrol_instance_deleted . Always trigger them when changing records in the
8   DB table 'enrol'.
9 * Constant CACHE_COURSE_CONTACTS_TTL was deleted.
11 === 2.9 ===
13 * External function core_enrol_external::get_users_courses now returns additional optional fields:
14    - summary: Course summary.
15    - summaryformat: Course summary format.
16    - format: Course format.
17    - showgrades: True if grades are shown, otherwise false.
18    - lang: Forced course language.
19    - enablecompletion: Control or not via completion and activity settings.
21 === 2.8 ===
23 * enrol_plugin::instance_deleteable() is deprecated and has been replaced by enrol_plugin::can_delete_instance()
24 * enrol_plugin::can_hide_show_instance() is a new function to control who can hide/show enrolment instances.
25   Returns true by default but plugins must implement their own logic.
27 === 2.6 ===
29 * Enrolment plugin which supports self enrolment should implement can_self_enrol()
30 * Enrolment plugin should implement get_enrol_info() to expose instance information
31   with webservice or external interface.
32 * Webservice core_enrol_get_enrolled_users_with_capability was incorrectly specifing
33   float as the return type for user id. int is the actual returned type and is now
34   reported as such.
36 === 2.5 ===
38 * plugins may use general enrol/editenrolment.php page to let users edit
39   enrolments manually
40 * new support for grade recovery in enrol_plugin::enrol_user() method
42 === 2.4 ===
44 required changes in code:
45 * use role_get_name() or role_fix_names() if you need any role names, using role.name
46   directly from database is not correct any more
47 * new restore support: ENROL_RESTORE_EXACT, ENROL_RESTORE_NOUSERS
48   and ENROL_RESTORE_CLASS were removed, implement new restore_* plugin methods instead
50 other changes and new features:
51 * course enrolment manager now works with disabled plugins too
52 * new support for protected group membership linked to enrol instance
53 * new support for expiry notifications - see enrol_plugin::send_expiry_notifications() method
56 === 2.2 ===
58 required changes in code:
59 * load_temp_role() is deprecated, use load_temp_course_role() instead, temp role not loaded
60 * remove_temp_role() is deprecated, use remove_temp_course_roles() instead
61 * 'user_unenrol_modified' event was renamed to 'user_enrol_modified'
64 === 2.0 ===
66 required changes in code:
67 * enrolment plugins need to be rewritten to use new API - see inline phpdocs and official plugins