Skip to content

The Quickening

My QuickStatements tool has been quite popular, in both version 1 and 2. It appears to be one of the major vectors of adding large amounts of prepared information to Wikidata. All good and well, but, as will all well-used tools, some wrinkles appear over time. So, time for a do-over! It has been a long time coming, and while most of it concerns the interface and interaction with the rest of the world, the back-end learned a few new tricks too.

For the impatient, the new interface is the new default at QuickStatements V2. There is also a link to the old interface, for now. Old links with parameters should still work, let me know if not.

What has changed? Quite a lot, actually:

  • Creating a new batch in the interface now allows to choose a site. Right now, only Wikidata is on offer, but Commons (and others?) will join it in the near future. Cross-site configuration has already been tested with FactGrid
  • You can now load an existing batch and see the commands
  • If a batch that has (partially) run threw errors, some of them can be reset and re-run. This works for most statements, except the ones that use LAST as the item, after item creation
  • You can also filter for “just errors” and “just commands that didn’t run yet”
  • The above limitation is mostly of historic interest, as QuickStatements will now automatically group a CREATE command and the following LAST item commands into a single, more complex command. So no matter how many statements, labels, sitelinks etc. you add to a new item, it will just run as a single command, which means item creation just got a lot faster, and it goes easier on the Wikidata database/API too
  • The STOP button on both the batch list and the individual batch page should work properly now (let me know if not)! There are instructions for admins to stop a batch
  • Each server-side (“background”) batch now gets a link to the EditGroups tool, which lets you discuss an entire batch, gives information about the batch details, and most importantly, lets you undo an entire batch at the click of a button
  • A batch run directly from the browser now gets a special, temporary ID as well, that is added to the edit summary. Thanks to the quick work of the EditGroups maintainers, even browser-based batch runs are now one-click undo-able
  • The numbers for a running batch are now updated automatically every 5 seconds, on both the batch list and the individual batch page
  • The MERGE command, limited to QuickStatements V1 until now, now works in V2 as well. Also, it will automatically merge into the “lower Q number” (=older item), no matter the order of the parameters

I have changed my token by now…

For the technically inclined:

  • I rewrote the interface using vue.js, re-using quite a few pre-existing components from other projects
  • You can now get a token to use with your user name, to programmatically submit batches to QuickStatements. They will show up and be processed as if you had pasted them into the interface yourself. The token can be seen on your new user page
  • You can also open a pre-filled interface, using GET or POST, like so

One thing, however, got lost from the previous interface, and that is the ability to edit commands directly in the interface. I do not know how often that was used in practice, but I suspect it was not often, as it is not really suited for a mass-edit tool. If there is huge demand, I can look into retro-fitting that. Later.

 

One Comment


  1. Fatal error: Uncaught Error: Call to undefined function ereg() in /home/www/wordpress/wp-content/themes/veryplaintxt/functions.php:183 Stack trace: #0 /home/www/wordpress/wp-content/themes/veryplaintxt/comments.php(33): veryplaintxt_commenter_link() #1 /home/www/wordpress/wp-includes/comment-template.php(1510): require('/home/www/wordp...') #2 /home/www/wordpress/wp-content/themes/veryplaintxt/single.php(41): comments_template() #3 /home/www/wordpress/wp-includes/template-loader.php(77): include('/home/www/wordp...') #4 /home/www/wordpress/wp-blog-header.php(19): require_once('/home/www/wordp...') #5 /home/www/wordpress/index.php(17): require('/home/www/wordp...') #6 {main} thrown in /home/www/wordpress/wp-content/themes/veryplaintxt/functions.php on line 183