Gadget kitchen/Requests

Fast Per-User Diff / Contributions Viewer
The Wikimedia Foundation folks organizing education programs around the world (where students improve Wikipedia articles as an assignment) are looking for better tools for professors to review student contributions.

One of the needs that's come up is a more user-friendly, consolidated view of all changes made by a user -- either for a timeframe, or a given page.

That is:
 * allow student / page-level filtering of a user's contributions
 * render a series of diffs below each other on one page
 * collapse adjacent edits by the same user into a single diff

Only sets of adjacent edits by the same user should be collapsed (User A->User A). If a user made multiple non-adjacent changes (User A->User B->User A), those should be shown separately.

The idea here is to facilitate quick review of relevant changes or changesets made by a student. If we can surface additional information in the process (edit survival, summary information about edits made by others, etc.) which provides professor-understandable context, that would be great, but even a fast diff viewer would be very helpful.

You'd fetch diffs one-by-one via the API (can load them asynchronously onto the same page, allowing the reviewer to start on the latest or earliest edits and keep on going even while things load).

This shouldn't cause extra load versus loading the same diffs manually, but will be a lot nicer for the person reviewing it.

This could make a big difference for getting hundreds more students to work on educational content -- it's a Good Thing. And it's probably useful in and of itself.

Minimal mock-up
Contributions by user: ________________ Set filter (optional) Begin date:   (CALENDAR WIDGET) End date:     (CALENDAR WIDGET) Article:      ___________________ Sort order:   [ oldest first ^] [Show contributions] => Contribution by  to  on  (DIFF) Contribution by  to  on  Note: Three adjacent edits are collapsed (DIFF) (SPINNER) Loading contributions

Implementations
User:Jarry1250 has taken a first crack at this as a toolserver script here (repl. username with whoever).

Automatic updates to pages with bug templates
We have bug templates, like Template:Tracked, which are used to help users understand whether a bug they care about has been fixed or not.

It would be nice if users could quickly see what the status is without having to visit Bugzilla. This could be accomplished by a gadget (which could be promoted to site script if it works well) which uses the Bugzilla JSON-RPC API to fetch the bug status for all the bugs on a page, and then injects little status messages to the HTML.

We can get the status for a bunch of bugs like this (use POST not GET for using the API), e.g. to get both status and last update time for a few bugs:

See the JSON-RPC documentation for more info and see BugTender for an example web application that uses it.