User:Interiot/Feature requests

From Wikipedia, the free encyclopedia

I'd like people to be bold in asking about new toolserver features. I recognize that other people are putting a lot of work into Wikipedia, and I'd be happy if I can make their job a little easier by implementing new toolserver features. I enjoy writing little scripts, but I'm not always smart enough to recognize all possible useful features, and I'm not involved in every single process in Wikipedia.

Toolserver technical details[edit]

This information is just here to give people a better idea of what the toolserver can do.

  • For slow-running report queries, it's usually easier to report on data if it's already clearly stored in the database somewhere. See here or here or here for the database schema. Data that is already parsed out (eg. page/template/image links, category contents, if a page is a redirect) is much easier to report on than data that's hidden in wikitext.
  • For CGI real-time queries, the query must be fast, which means that most of the data must be retrieved via indexes. This is the primarily limiting factor for what I can do on the toolserver (and for what developers can do in Special pages). Indexes are listed in the database schema as well. Queries that don't use indexes, and are therefore slow (eg. take 60+ seconds to run), can be used in other ways (eg. in an offline report, or in some cases cached), but caching requires a fair bit more work on my part, and 24-hour reports delay the data, which often makes the data less valuable.
  • Currently, wikitext for pages is somewhat difficult and slow to retrieve. Therefore, features that depend on wikitext-parsing need to be very high-value before I can implement them. Things that are difficult to do, for instance, are to get the reason from inside a {{db|$reason}} tag, or to determine the exact diff that added the {{db}} tag.
  • To see the source code for any of my scripts, simply run them with ?code (and nothing else) appended (example) (and note that my ZedlerUtils code is accessed at that URL).

One more thing to note: wikisign.org has an interface available that lets anyone run wikipedia SQL queries themselves. Its main downside is that it runs on slightly out-of-date data. However, if you can give me an SQL query that's already working, that may make my work somewhat easier. In some cases (depending on how fast it is, or if it's useful to run as a periodic report) it may be trivial for me to put your SQL query on the toolserver, letting you see the report run on live data.

Special: pages technical details[edit]

Toolserver tools overlap in functionality somewhat with Special: pages, so some of the technical details are applicable to toolserver tools as well.