ResourceLoader/Legacy JavaScript

The following identifiers are to be considered deprecated and will eventually be quarantined and removed.

Right now (1.17) they are available as-is, exactly like you used to use them. However our digital environments and with it the internet landscape has changed a lot since most of these were written many years ago. Since 1.17 MediaWiki ships with a JavaScript library accessible through the  object. A complete list of the modules can be found here.

The currently recommended replacement can be found in the "Future" columns below. To view all new material (not just the replacements) see /resources. Please note the current implementation in the trunk may differ from the 1.17 release.

In the near future these legacy functions will be removed from the global namespace and quarantined. While quarantined, these identifiers will only be accessible within the mediaWiki.legacy object. You can use them from there in case no modern alternative is available or known to you. If you encounter this, please |Let us know!, the legacy functions won't be around for ever.


 * It's much more likely that we'll remove them entirely -- there's no need to keep old unused code around in a quarantine module; if you have to rewrite your code to futz with it anyway you may as well do it right. --brion 17:39, 13 July 2011 (UTC)

It will be highly encouraged to switch to more modern implementations of legacy features as soon as possible (rather than simply remapping everything to mediaWiki.legacy when quarantine starts), however remapping may be used as a stop-gap.

There is not set schedule for quarantining or removal yet, but each phase will occur sequentially over time after the ResourceLoader is deployed.

Grep script There is a plain text list available of all identifiers with indicated replacements on this page that is suitable for automated searching of source code using Unix style commands such as: grep -f deprecated.ids *.js

where  is a text file created from the list page. Make sure to not have a blank line at the end of the file. Note that due to some variables potentially being part of another (non-deprecated or custom) method, using 'grep' is not recommended for automated reviews (for example addPortletLink and mw.util.addPortletLink, and 'ta' and 'var = takeMyCustomVariable').

In addition, parsing XML retrieved by invoking index.php in GET and POST methods is incompatible with HTML 5, which is the default as of 1.16 (2010) (on WMF not yet). All such code should be updated to use api.php, JSON format and jQuery.ajax immediately.