Toolserver:Suggestions

If you have suggestions for things the Toolserver should offer, please add them to this page. You should describe what the suggestion is, and why it would be useful, but you do not need to describe how it should be implemented (unless you want to). Suggestions should be clearly described, and reasonably concise, but should contain enough detail that we can actually understand what it is you want.

Feel free to suggest anything, even if it would currently be against the rules, or you think it would be infeasible or too expensive to implement.

Suggestions
Add yours below.

Local mediawiki api.php
I've been working on getting api.php working on the toolserver. The basis is working, but there are some security-related issues to think of. --Valhallasw 19:52, 27 May 2011 (UTC)

What it should do

 * Provide api.php over (internal?) http, so users can easily query the database without using query limits (or using higher limits)
 * Provide FauxRequest interface for PHP users
 * (other, internal, calling method for other languages?)

What has already been done
See /home/valhallasw/src/tsapi (available under GPLv2). It is running under http://toolserver.org/~valhallasw/tsapi/api.php for requests from the toolserver. For example:

curl "http://toolserver.org/~valhallasw/tsapi/api.php?wiki_domain=en.wikipedia.org&action=query&prop=info&titles=Main%20Page&format=json"

The api is basically running, but I have not checked security-related issues (for instance hidden revisions).

The following things are accounted for:
 * Basic (database, language, namespace) wiki initialization for the given wiki_domain
 * Caching table (TSBagOStuff.php, which is an adaptation of BagOStuff.php to allow information for multiple wikis in the same table)
 * Disabling index selection (which is not possible with views)
 * Note: This has the disadvantage some queries become *very* slow. These should probably be forwarded to the real wiki?

The following things should still be done:
 * Security! (hidden revs etc)
 * More configuration from the wiki (using noc?)
 * Passthrough for slow queries?