Aryeh Gregor wrote:
Also remember the possibility that sysops will want to include these scripts (conditionally or unconditionally) from MediaWiki:Common.js or such. Look at the top of http://en.wikipedia.org/wiki/MediaWiki:Common.js, which imports specific scripts only on edit/preview/upload; only on watchlist view; only for sysops; only for IE6; and possibly others. It also imports Wikiminiatlas unconditionally, it seems. I don't see offhand how sysop-created server-side conditional includes could be handled, but it's worth considering at least unconditional includes, since sysops might want to split code across multiple pages for ease of editing.
This highlights the complexity of managing all javascript dependences on the server side... If possible the script-loader should dynamically handle these requests. For wikimedia its behind a squid proxy so should not be too bad. For small wikis we could setup a dedicated entry point that could first check the file cache key before loading all webstart.php, parsing javascript classes and all the other costly mediaWIki web engine stuff.
Has anyone done any scalability studies into minimal php @readfile script vs apache serving the file. Obviously apache will server the file a lot faster but a question I have is at what file size does it saturate disk reads as opposed to saturated CPU?
--michael