1 This files describes API changes in /enrol/* - plugins,
2 information provided here is intended especially for developers.
6 * Added new events enrol_instance_created, enrol_instance_updated and
7 enrol_instance_deleted . Always trigger them when changing records in the
9 * Constant CACHE_COURSE_CONTACTS_TTL was deleted.
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.
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.
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
38 * plugins may use general enrol/editenrolment.php page to let users edit
40 * new support for grade recovery in enrol_plugin::enrol_user() method
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
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'
66 required changes in code:
67 * enrolment plugins need to be rewritten to use new API - see inline phpdocs and official plugins