Wikipedia talk:Wikipedia Signpost/2012-01-23/Technology report

Discuss this story

  • I think you've described the matter of dependencies very well. Thanks for this!
    Just a small clarification I wanted to make though

    particularly on smaller wikis that could have lain untouched for years


    The above quote is not entirely correct. Gadgets that were written before the introduction of ResourceLoader will not be affected since modules didn't exist back then, therefor they won't be affected by anything related to "dependencies" since they do not use any modules.

    This matter only concerns modules created by MediaWiki extensions (including Gadgets that are using "[ResourceLoader]" in their definition). And from those only the ones that are referring to a module in their code (such as mw.util or $.ui.dialog) without adding the name of this module as a "required" for their module (which is done by the "dependencies=" option (more info)).

    Imagine a module A and B both use "jquery.ui", but only module A has this requirement declared in it's meta-data. Before MediaWiki 1.19 modules used to load a bit slower, so loading A and B (in that order) would probably not fail because B happens to be loaded after module A which already provided the "jquery.ui" functionality. In MediaWiki 1.19, however, modules are loading faster and thus make it less likely for these "lucky" hits to occur.

    We acknowledge that these "lucky" hits were more common than they should be and some users have come to expect that certain modules would simply be available by default, to aid the transition we've loaded some the most popular modules by default (such as mw.util), however other than that there isn't a whole lot we can do since there is no way of knowing which modules are needed, this is exactly where "dependencies" is for. From looking around however I see that most gadgets that use modules do have their dependency meta-data in order, it's mostly the simple few-line gadgets that emerged from copy/pasting code without including the dependency information for mw.util.

    If anyone runs into ResourceLoader dependency-related issues on wikis in beta@wmflabs or here live post-deployment, I'd recommend you report it to mw:Talk:ResourceLoader/Migration guide (users). Krinkle (talk) 16:04, 12 February 2012 (UTC)Reply