MDL-74905 environment: 4.2 base information
[moodle.git] / calendar / upgrade.txt
blob79c554796e86d87d0208492516b83a03f7f472d4
1 This files describes API changes in /calendar/* ,
2 information provided here is intended especially for developers.
4 === 4.1 ===
5 * New method `calendar_format_event_location` which will format the location property of an event, converting any
6   links into suitable markup
8 === 4.0 ===
9 * The following external functions now accepts an optional parameter 'searchvalue' to search the events:
10   - core_calendar_external::get_calendar_action_events_by_timesort
11   - core_calendar_external::get_calendar_action_events_by_courses
12   - core_calendar_external::get_calendar_action_events_by_course
13 * Added core_calendar_delete_subscription, which allows to delete the calendar subscription.
14 * Updated calendar_can_manage_user_event() function to check permissions to user events.
15 * The following functions have been deprecated because they were no longer used:
16   - calendar_process_subscription_row()
17   - calendar_import_icalendar_events()
18 * The following has been removed after being deprecated in 3.8
19   * CALENDAR_EVENT_GLOBAL
20 * The following have been deprecated because the three-month pseudo block has been removed:
21   - fake_block_threemonths() renderer method.
22   - calendar_threemonth.js.
23   - calendar_threemonth and threemonth_month templates.
24   - Behat step definitions i_hover_over_day_of_this_month_in_calendar and i_click_day_of_this_month_in_calendar.
26 === 3.10 ===
27 * The core_calendar\local\event\value_objects\times_interface class now has new method get_usermidnight_time() which
28   returns the user midnight time for a given event.
30 === 3.9 ===
31 * Plugins can now create their own calendar events, both standard and action ones. To do it they need to specify
32   $event->component when creating an event. Component events can not be edited or deleted manually.
33   See https://docs.moodle.org/dev/Calendar_API#Component_events
34 * The following functions have been deprecated because they were no longer used:
35   - calendar_add_event_metadata()
36   - core_calendar_renderer::event()
38 === 3.8 ===
39 * The following functions have been finally deprecated and can not be used anymore:
40   * calendar_wday_name()
41   * calendar_get_block_upcoming()
42   * calendar_print_month_selector()
43   * calendar_cron()
44   * calendar_get_mini()
45   * calendar_get_upcoming()
46 * Added core_calendar_external::get_timestamps(), which allows an array containing an arbitrary number of arrays of
47   date/time data to be converted and returned as timestamps, along with an optional key.
49 === 3.6 ===
50 * calendar_get_default_courses() function now has optional $userid parameter.
51 * calendar_set_filters() function now has optional $user parameter.
52 * The core_calendar\local\event\container class now provides two new helper methods for getting and setting the requesting user:
53   set_requesting_user() and get_requesting_user().
54 * The following functions have been finally deprecated and can not be used anymore:
55   * calendar_preferences_button()
56 * added core_calendar_get_valid_event_timestart_range callback for course events when the update_event_start_day function is used
57   in the local api.
59 === 3.5 ===
60 * core_calendar_external::get_calendar_events now returns the categoryid for category events.
62 === 3.4 ===
63 * calendar_get_mini, and calendar_get_upcoming have been deprecated. Please update to use the new exporters and renderers.
64 * added core_calendar_get_valid_event_timestart_range and core_calendar_event_timestart_updated callbacks for module events
65   when the update_event_start_day function is used in the local api.
67 === 3.3 ===
68 * calendar_event_hook() has been removed. Developers should be using the Moodle events system to achieve this behaviour,
69   rather than using a hacky calendar specific implementation.
70 * calendar_wday_name() is deprecated and no longer used in core.
71 * calendar_get_block_upcoming() is deprecated, please use block_calendar_upcoming::get_upcoming_content() instead.
72 * calendar_print_month_selector() is deprecated and no longer used in core.
73 * calendar_cron() is deprecated and should not be used. Please use the core\task\calendar_cron_task instead.
75 === 3.2 ===
76 * calendar_preferences_button() is now deprecated. Calendar preferences have been moved to the user preferences page.
78 === 2.9 ===
79 default values changes in code:
80 * core_calendar_external::get_calendar_events_parameters() 'timeend' default option changed; now, by default,
81   all events are returned, not only the past ones.
82 * calendar types need to be updated to be compatible with standard PHP date/time code
84 === 2.5 ===
85 required changes in code:
86 * calendar_add_icalendar_event() now requires a valid subscriptionid
87 * calendar_process_subscription_row() throws exception for invalid subscriptionid
88 * calendar_update_subscription_events() now throws a dml_exception instead of moodle_exception for bad subscriptions
89 * calendar_get_mini() function now has optional $placement and $courseid paramaters.
91 optional - no changes needed:
92 * calendar_update_subscription() should now be used to update Ical subscriptions.
94 === 2.4 ===
96 required changes in code:
98 * calendar_get_popup() function now just returns id, instead of the string "id=$id"