-
Notifications
You must be signed in to change notification settings - Fork 0
/
upgrade.txt
183 lines (147 loc) · 15 KB
/
upgrade.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
This files describes API changes in the Moodle Mobile app,
information provided here is intended especially for developers.
=== 3.4 ===
* For performance reasons, $mmCoursesDelegate has changed a bit:
- Now the function isEnabledForCourse of the handlers shouldn't call any WebService. It can still be asynchronous though.
- If the handler needs to do a WebService call to check if it's enabled for a course, it should implement shouldDisplayForCourse.
- All the functions getNavHandlersFor* should be used only to check if there is any handler enabled, not to get the list of handlers to display. If you want to display the list of handlers for a course, please use $mmCoursesDelegate#getNavHandlersToDisplay.
* mmCoursesEventCourseOptionsInvalidated has been deprecated, it will no longer be triggered.
* Now the "siteurl" in config.json accepts an array of sites. Each site must have "url" and "name".
* $mmaModAssignHelper#getAnswersFromForm deprecated, use $mmUtil#getInfoValuesFromForm instead.
* Param mimetypes on mmAttachments directive has been deprecated in favor of acceptedTypes that will treat the filetypes string properly.
=== 3.3.2 ===
* Handlers registered in $mmFileUploaderDelegate now need to implement a function getSupportedMimeTypes. This function will receive a list of mimetypes and needs to return the ones supported by the handler. Also, the handler's action and afterRender functions now receive a new parameter: mimetypes.
=== 3.3 ===
* The project now supports Ionic CLI v2 and Node 6.9. We recommend updating node, npm, Ionic CLI and project dependencies:
npm install -g npm@latest
npm install -g [email protected]
npm install
* mm-error CSS class has been deprecated. Use mm-error-card or similar instead.
* The function $mmaMessages#isSearchEnabled has been deprecated. Please use $mmaMessages#isSearchContactsEnabled instead.
* Question type addons can now implement an optional prepareAnswers function. If provided, this function will be called before sending the quiz data to the server, and allows the addon to perform changes in the data to send.
* The promise returned by $mmaModForum#canAddDiscussion is now resolved with an object (WS response) instead of a boolean.
* The parameters of the following functions have changed to match the WS behaviour: $mmaModForum#addNewDiscussion, $mmaModForum#addNewDiscussionOnline, $mmaModForumOffline#addNewDiscussion, $mmaModForum#replyPost, $mmaModForum#replyPostOnline, $mmaModForumOffline#replyPost.
* The function $mmUtil#getMimeType has been deprecated. Please use $mmUtil#getMimeTypeFromUrl instead.
* The functions $mmFilepool#invalidateAllFiles and $mmFilepool#invalidateFilesByComponent now accept a new param onlyUnknown which defaults to true, so it only invalidates some of the files. It is advised to use onlyUnknown=true to decrease the network usage and improve the app's performance.
* The directive mm-loading no longer accepts the param loadingPaddingTop since now the spinner is centered vertically.
* Assignment feedback delegates hasDataChanged now accepts userId in order to manage offline data.
=== 3.2.1 ===
* mmaGrades addon has been moved to core with mmGrades name (and derivatives).
* $mmContentLinksDelegate has been refactored. Please see the new requirements in $mmContentLinksDelegateProvider#registerLinkHandler. Also, it is recommended to use the new $mmContentLinkHandlerFactory to create the content link handlers. The functions $mmContentLinksHelper#treatModuleIndexUrl and $mmContentLinksHelper#treatModuleGradeUrl have been modified to match the new behaviour.
* The promise returned by $mmaMessages#sendMessage is now resolved with an object instead of a boolean.
* mm-format-text directive is now depending on height so new parameter max-height has been added and parameters shorten and expand-on-click have been deprecated.
* Now mmUser#formatRoleList is returning a String instead of a Promise.
* The event mmCoreEventSessionExpired now receives an object instead of a string. Also, mmLoginLaunchSiteURL and mmLoginLaunchPassport have been deprecated, please use mmLoginLaunchData instead.
* Handlers registered in $mmFileUploaderDelegate now must implement a getData function instead of getController. This is because now file picker uses action sheet instead of a new view.
* The function $mmaModForumOffline#convertOfflineReplyToOnline is now in $mmaModForumHelper.
* The function $mmContentLinksHelper#filterSupportedSites has been deprecated. Please use $mmUtil#filterEnabledSites instead.
* New Phonegap plugin installed. Please run:
* New Phonegap plugins installed. Please run:
ionic plugin add cordova-universal-clipboard
ionic plugin add nl.kingsquare.cordova.background-audio
or
ionic state restore
* mm-rich-text-editor now admits a new parameter adjust-height (default: true). It admits an HTML DOM Id string or boolean. Specifying it will adjust height of the editor to the selected element. If true it will adjust to the whole page and false will use height parameter instead.
* Generators on stores are deprecated. Using generators will make Android < 4.4 fail. Use keyPath instead. They will be automatically generated if needed. DB Functions query, update and where are not allowed using compoung indexes see JSdoc DB functions on db.js for more info.
* A new field has been added to config.json: privacypolicy.
* String identifiers mm.core.elementseparator and mm.core.fieldvalueseparator have been renamed to:
mm.core.listsep and mm.core.labelsep
* Filepool now also throws file events (getFileEventNameByUrl) when files are deleted, outdated or start downloading. It passes an 'action' property to identify the exact action.
=== 3.2 ===
* Now the app supports auto-login with the site if it's a Moodle 3.2 or higher. The mm-link directive already handles it automatically, but it also includes a new attribute to force or disable auto-login in links. To manually open a link with auto-login you can use any of the new functions in $mmSite: openInBrowserWithAutoLogin, openInAppWithAutoLogin, ...
* $mmCourse#getModule now accepts a ignoreCache parameter. Also, $mmCourse#loadModuleContents now accepts preferCache and ignoreCache.
* Ionic and some other libraries have been updated, please run:
bower update
=== 3.1.3 ===
* The module object received by addons in course contents no longer has the "contents" array in Moodle 2.9 or higher. Please use the new function $mmCourse#loadModuleContents to load the contents.
* The prefetch system has been refactored. We recommend using $mmPrefetchFactory to create prefetch handlers.
* Added a new preSet for WS requests: rewriteurls. It can be used to configure the flag moodlewssettingfileurl. It will be set to true if not defined.
* New event mmaMessagesToggleDeleteEvent triggered when the toggle delete button is clicked on split view.
* Event mmaMessagesDiscussionLoadedEvent changes its parameters from userId to and object {userId: Number, canDelete: Boolean}.
* $mmText#guessExtensionFromUrl has been moved to $mmFS#guessExtensionFromUrl. Old function has been removed.
* The parameters of the function $mmaMessages#deleteMessage have changed to support offline messaging. The implementation of $mmaMessages#sendMessage has changed too, but the parameters haven't changed. The old implementations are now in $mmaMessages#deleteMessageOnline and $mmaMessages#sendMessageOnline.
* Now the messages returned by $mmaMessages#getDiscussion and $mmaMessages#getDiscussions have their times in milliseconds, not in seconds like before.
* Ionic and some other libraries have been updated, please run:
bower update
* The CSS files inside www/css folder have been deleted because they weren't used. That is, www/css/app.css and www/css/app.min.css.
* Downloadable modules can now implement functions getDownloadedSize and removeFiles for better performance. See $mmCoursePrefetchDelegateProvider#registerPrefetchHandler.
* Most of the attributes of the directive mm-context-menu-item have changed from text binding (@) to two-way binding (=) to make it work with mm-nav-buttons.
* A new field appname was added to config.json, if you have a custom app you must add there your custom app name since the language string in the settings components has been deleted.
* $mmUtil#confirmDownloadSize Now accepts an object with the file sizes and a boolean to indicate if it is the total size or only partial.
* $mmCourse#translateModuleName now returns the translated name immediately, without using promises.
* mmaForumDiscussionPost postadded directive has been renamed to onpostchange.
* Event mmCoreEventOnline has been deprecated. Please use the new event mmCoreEventOnlineStatusChanged instead.
=== 3.1.2 ===
* Most of the upload file logic has been moved from the addon "files" to the component "fileuploader". This includes controllers, templates, service functions and language strings.
* The function uploadGenericFile inside "fileuploader" component now accepts a new parameter "itemId".
* The function uploadMedia inside "fileuploader" now only accepts 1 file instead of an array.
* New libraries were installed, please run:
bower install
* Added a new preSet for WS requests: filter. It can be used to configure the flag moodlewssettingfilter. It will be set to true if not defined.
=== 3.1.1 ===
* checkTime parameter was removed from the syncQuiz function in the mmaModQuizIndexCtrl controller. We don't check for time anymore.
=== 3.1.0 ===
* A new param "single" is passed to the prefetch functions of handlers registered in $mmCoursePrefetchDelegateProvider. Please notice that the download of sections will always send false/undefined, if you use this function somewhere else to download a single module then you should pass single=true.
* Activity modules have been moved from addons/mod_* to addons/mod/*.
=== 3.0 ===
* The function $mmaModBook#getChapterContent now requires to receive the result of $mmaModBook#getContentsMap instead of module.contents.
* The events obtained using $mmaMessages#getDiscussionEventName are deprecated. Now you should just use the event mmaMessagesNewMessageEvent and you will receive the site ID and user ID as parameters.
* Directive "mm-browser" has been renamed to "mm-link" to be more coherent with its functionality.
=== 2.9 ===
* Most of the functions from $mmaModScormOnline, $mmaModScormOffline, $mmaModScorm, $mmaModScormSync and $mmaModScormHelper now have a new param siteId to determine the site to affect. If you use any of these services please make sure you still pass the right parameters.
* Now filepool tries to use the files names instead of just using a hash. If you used the functions "getFilePathByUrl" or "getDirectoryUrlByUrl" to store package files, you should now use "getPackageDirPathByUrl" and "getPackageDirUrlByUrl" instead.
* A new directive "mm-state-class" has been created to allow a better customization of the app using remote CSS. You should add this directive to the ion-content in your views.
=== 2.8 ===
* $mmModuleActionsDelegate has been renamed to $mmContentLinksDelegate to make it more generic. The specification of this delegate has changed, please look at its documentation to adapt your handlers.
* State site.mm_course now requires a courseid parameter instead of course.
* The parameters of the following $mmCoursePrefetchDelegate's functions have changed, now they also require a courseid: getDownloadSize, getModuleStatus, prefetchAll and getModulesStatus.
* New Phonegap plugin installed. Please run:
ionic plugin add cordova-plugin-zip
or
ionic state restore
* mmaModImscpBar directive has been moved to core. Now it's named mmNavigationBar.
=== 2.7 ===
* JSzip installed. Please run:
bower update
* The following functions have been moved from $mmUtil to $mmFS: getFileIcon, getFolderIcon and getFileExtension.
* The values from config.json are no longer stored in $mmConfig. Now they are inside an AngularJS constant called mmCoreConfigConstants.
* The function $mmSitesManager#getDemoSiteData isn't asynchronous anymore.
* Fixed site URL is now supported via config.json. If you modified the code to use a fixed site URL we suggest you to remove the changes and add a property 'siteurl' to the config.json file instead.
* The function isEnabledForCourse implemented by $mmCoursesDelegate handlers now receives a new attribute accessData that indicates the type of access to the course.
=== 2.6 ===
* Ionic updated to 1.1.1. Please run:
bower update
* $mmFilepool FILEDOWNLOADED, FILEDOWNLOADING, FILENOTDOWNLOADED and FILEOUTDATED have been deprecated. Please use mmCoreDownloaded, mmCoreDownloading, mmCoreNotDownloaded and mmCoreOutdated instead.
* mmCoreCourseModulesStore store has been deprecated. Please use mmFilepoolPackagesStore instead.
* The following functions from $mmCourse have been removed: clearAllModulesStatus, getModulePreviousStatus, getModuleStatus, getRevisionFromContents, getTimemodifiedFromContents, isModuleOutdated, storeModuleStatus, setModulePreviousStatus. The following functions have been added to $mmFilepool instead: clearAllPackagesStatus, getPackagePreviousStatus, getPackageStatus, getRevisionFromFileList, getTimemodifiedFromFileList, setPackagePreviousStatus and storePackageStatus.
=== 2.5 ===
* $mmCourses#getStoredCourse function has been deprecated. New function $mmCourses#getUserCourse function should be used instead.
* $mmCourses#getUserCourses parameters have changed, now the first parameter is 'preferCache' instead of 'refresh'. The new function $mmCourses#invalidateUserCourses needs to be used to refresh the list.
* $mmSitesManager#getUserToken now returns an object with 'siteurl' and 'token' instead of just returning the token.
=== 2.3 ===
* MomentJS installed. Please run:
bower update
* Notifications from a site not shown once a site is deleted.
* Error reporting removed in development version.
* Now using npm Cordova plugins when possible. Please run:
ionic state restore
ionic plugin add https://github.com/Tunts/WebIntent https://github.com/ti8m/DocumentHandler cordova-plugin-customurlscheme --variable URL_SCHEME=moodlemobile
* Added a hook to allow requests without SSL on iOS9: hooks/after_prepare/020_add_ios_transport_security.js. Please give the hook executable permissions and run:
npm install
* New event mmaModForumNewDiscussionEvent triggered when a forum discussion is created using the app.
* New event mmCoreEventSiteDeleted triggered when a site is deleted.
=== 2.2 ===
* Upgrade to Cordova 5.2.
* Ionic updated to v1.1. Please run:
bower update
* Now using a fork of local notifications plugin: cordova-plugin-local-notifications-mm. Please run:
ionic state restore
* Added an angular script to make the app work on iOS9.
* $mmGroups#getUserGroups now accepts 'userid' parameter to retrieve groups from any user.
=== 2.1 ===
* Ionic updated to v1.0.1. Please run:
bower update
* Added gulp-slash and gulp-ng-annotate to npm dependencies. Please run:
npm install
* Included error reporting feature.
* New event mmCoreEventUserDeleted triggered when we detect that a user has been deleted.