On 04/10/12 03:18, Daniel Friesen wrote:
sajax is an ancient ajax library, it's part of our legacy code. And it still gets to sneak a license note into our README.
It's probably about time that we start making sure that code is ready for the day it disappears. Just as code shouldn't be relying on bits and pieces of wikibits.
Currently the only parts of core that depend on sajax are the legacy mwsuggest and upload.js. mwsuggest is going to disappear when Krinkle's work making simplesearch's suggestions work universally is finished. I'm not sure what's going on with upload.js.
The real problem however is extensions. For some reason it appears that we STILL have extensions depending on sajax. And I'm not talking about ancient extensions on the wiki or in svn. I only did an ack through stuff that's currently in git.
So I welcome anyone who is interested in going through extension code and eliminating the use of sajax in favor of jQuery.ajax and RL.
It's a fair bit easier to implement a Sajax/AjaxDispatcher callback than it is to implement an API module, mostly because of the API's dual role as both an internal interface and a public interface for external developers. So you can see why extension developers writing internal interfaces would be hesitant to choose the API route.
sajax_do_call() is only 163 lines. Why not just rewrite it to use jquery.ajax? Just because it's called sajax_do_call() doesn't mean it actually has to *be* Sajax.
-- Tim Starling