mw.ForeignStructuredUpload.BookletLayout: A/B test of 4 different interfaces
authorBartosz Dziewoński <matma.rex@gmail.com>
Fri, 11 Dec 2015 02:31:55 +0000 (03:31 +0100)
committerBartosz Dziewoński <matma.rex@gmail.com>
Tue, 15 Dec 2015 00:23:14 +0000 (00:23 +0000)
commitd0e47d475cd7efd7541d51e02ab216a966da8b1f
treeba88f1ad17e05f7b1b65ce04f2ebee2f95b154b9
parentecc6a247bde028499d20ea75e7ea3a3834c916de
mw.ForeignStructuredUpload.BookletLayout: A/B test of 4 different interfaces

It turns out that people click the checkbox affirming that they are
they author of the file and that they release it under CC BY-SA even
when neither of those is true. So we're trying some interfaces that
require a modicum of thought rather than just a click on "I agree".

  Option 1: The form we have right now, with a single checkbox.

  Option 2: Four checkboxes, each with a label explaining one facet of
    the requirements (own work; no pictures of copyrighted work;
    educational/useful; irrevocably released as CC BY-SA).

  Option 3: Some Yes/No questions structured so that 'Yes' is not
    always the right answer to continue uploading.

  Option 4: Longer introduction before a single checkbox (as in option
    1), with examples of good and unacceptable content.

As only logged in users are able to upload files, we're able to bucket
them into four groups by user ID number. When the user completes a
file upload, the bucket number is saved server-side in a change tag by
the companion patch I90cb12c505b2581f36113ec6b4f7bf732f0971b7 (we could
match the user IDs cross-wiki by username, but that sounds painful).

For testing and debugging, add '?uploadbucket=N' to the URL to force
given interface option to appear. Any completed upload won't count
towards the bucket.

Note that for expediency, the tested options all assume uploads to
'shared' repository (that is, Wikimedia Commons). The winner's
messages will be tweaked to work with 'local' and other targets too.

This patch DOES NOT ENABLE THE TEST yet, it just implements the options.
Enabling it on specific wikis can be done via config:
* $wgForeignUploadTestEnabled = true/false (defaults to 'false')
  Whether the test is running.
* $wgForeignUploadTestDefault = 1/2/3/4 (defaults to '1')
  Interface to use when the test is not running (and for anons).

Bug: T120867
Bug: T121021
Change-Id: I557056b867c6a55ef2c9af321eb48893312632a3
18 files changed:
includes/DefaultSettings.php
includes/resourceloader/ResourceLoaderStartUpModule.php
languages/i18n/en.json
languages/i18n/qqq.json
resources/Resources.php
resources/src/mediawiki/bookletlayout/option2/ccbysa.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/noderiv.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/ownwork.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/useful.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/camera.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/graphics.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/guide.html [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/search.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/website.png [new file with mode: 0644]
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.css
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
resources/src/mediawiki/mediawiki.Upload.js