1/ purge all caches and enable debug console in your brower
2/ try slasharguments on and off, yui-combo-loading on and off, external yui on and off
3/ go through each commit and test affected area:
For developers: 1/ purge all caches and enable debug console in your brower 2/ try slasharguments on and off, yui-combo-loading on and off, external yui on and off 3/ go through each commit and test affected area: mod_folder private files block file picker date selector form element mod_imscp some user TreeView mod_wiki mod_assignment mod_assign mod_lti mod_forum mod_scorm gradebook groups UI forms tags report_progress report_completion portfolio download question bank mod_quiz comments mod_chat mod_survey
- private files block
- file picker
- date selector form element
- some user TreeView
- groups UI
- portfolio download
- question bank
At present we have a homegrown YUI2 legacy support that loads YUI2 classes into the global scope (which means that YUI2 is available via global YAHOO object). The official recommended way is to use 2in3 http://yuilibrary.com/yui/docs/yui/yui-yui2.html which loads slightly modified YUI2 directly into the YUI3 instance property Y.YUI2.
This patch replaces our non-standard YUI2 hack with officially supported YUI 2in3.
2/ YUI2 files are loaded asynchronously - performance
3/ cleaner coding style with fewer bugs
Necessary code changes:
1/ YUI3 code using YUI2 widgets needs to use Y.YUI2.* instead of previous YAHOO.
2/ rewrite old legacy code that is still using deprecated $PAGE->requires->yui2_lib('xx') to use new moodle JS modules
3/ in the worst case wrap old code with YUI3 block and use yui2-* modules as dependencies
Example of YUI3 module using TreeView widget:
Sample modification of YUI3 code without changing module dependencies:
Example of backwards compatibility hack in global scope: