We should have quickstatements working as it does on wikidata.org out of the box.
Currently we rely on using it's OAuth functionality to make edits. Unfortunately the setup process for the user is non-trivial and has some annoying "tricky bits" like faking having an email address for an account. The setup is described here: https://github.com/wmde/wikibase-docker/blob/master/quickstatements/README.md We've had reports from multiple people that they struggled, or missed steps from the guide etc...
Suggested Approach
- Create a maintenance script for OAuth to generate a new consumer (see separate ticket T211568)
- Add running this script to the entrypoint of wikibase bundle image
- Write the credentials to a file
- Have this file jointly mounted in both the Wikibase-Bundle container and the QS container
- Adapt the QS entrypoint script to read the values from the file if it is present
Hints
User will need still need an email set at some point
User will need the correct permissions to manage OAuth consumers. There are already granted in LocalSettings.php.wikibase-bundle.template
Script to run from bundle is probably: php extensions/OAuth/maintenance/createOAuthConsumer.php --approve --callbackUrl $QS_PUBLIC_SCHEME_HOST_AND_PORT--callbackIsPrefix true --user Admin --name QuickStatements --description QuickStatements --version 1.0.1 --grants createeditmovepage editpage highvolume --jsonOnSuccess > /shared/qs-oauth.json
Acceptance Criteria
Quickstatements OAuth should require no user interaction by the Admin user to setup. It should behave in the same way as a user visiting the wikidata.org version sees it behave (i.e. each end user still has to approve the consumer to make edits).