‘stop+think’ by Caffeinatrix
Fair warning, this post is going to be a little bit of a rant.
My role at NetSpot / Blackboard is working as a Senior Software Engineer as the client development team for Enterprise Moodle. As part of my role I need to review plugins that our clients want to use as part of their Moodle instance.
The things we’re most in the lookout are potential issues that will have an adverse impact on our ability to provide our service to the high standard expected by our clients. An example is having very long timeouts on cURL requests, doing things in Moodle without appropriate considerations for security, or not using the standard Moodle libraries.
Wether you agree with this decision or not, the fact remains that core Moodle uses YUI, and uses it extensively. Incorporating jQuery into your plugin or theme causes a number of issues for us and our clients.
In the event that, as a developer, you must use jQuery to achieve your goals, please adhere to the guidelines developed by Moodle HQ, which are available here. In particular don’t include your own copy of the jQuery library. It causes way too many issues for those of us who need to support users of your code.
If you feel strongly about the use of YUI, and want to contribute to the discussions of Moodle HQ about the future of YUI and Moodle, I encourage you to checkout out this Moodle tracker item, and this associated Moodle forum thread.
Here ends the rant.
Updated: January 26, 2015
A trusted colleague of mine has pointed out that discussions are underway at Moodle HQ on the possible switch to jQuery, and Require.js with possibly using Grunt as a build tool. More information is available in this Moodle forum thread, which I also linked to above. The most relevant forum post, so far, is available here.
This is particularly relevant as in August, 2014 it was announced that the YUI library is no longer actively maintained. You can read more about the decision here.