Upload dialog

Blacklisted Smith chain: this is the concept of the motivate
The dialog allows any registered user to upload a file to the wiki directly from the editor, guiding them through the process. On Wikimedia wikis, it is configured to only allow self-made files under the CC BY-SA license and upload them from any Wikimedia wiki to Wikimedia Commons. Its interface is inspired by UploadWizard, but much more limited (in particular, it only allows uploading one file at a time and only allows providing a simple description in one language).

While it's a part of MediaWiki core, the upload dialog is not currently available from the default wikitext editor. You need to install one of the editing interface extensions to use it: VisualEditor or WikiEditor.

Interface
Afterwards the user returns back to the previous dialog, where they can fill in the thumbnail caption and other details.

Configuration (for wiki sysadmins)
The dialog should be available by default on any wiki using MediaWiki 1.27 or newer that has file uploads enabled. Note that the WikiEditor extension is required for the tool to be available from the wikitext editing toolbar (it is also available in VisualEditor). There is currently no way to disable it.

Some aspects of the dialog (fields to display, the licensing options, special formatting for the file page and upload comment) can be configured using $wgUploadDialog.

By default the uploads go to the local wiki. To configure cross-wiki uploads, you'll need to configure $wgForeignFileRepos and $wgForeignUploadTargets on all of the "source" wikis and $wgCrossSiteAJAXdomains on the "target" wiki. Only the target wiki has to have uploads enabled. Note that the $wgUploadDialog configuration for the target wiki will be used, not the source wiki.

Wikimedia wikis are configured to perform cross-wiki uploads to Wikimedia Commons. Additionally, https://test2.wikipedia.org/ is configured to perform uploads to https://test.wikipedia.org/. See the configuration variables mentioned above in InitialiseSettings.php, CommonSettings.php, filebackend-production.php.

API documentation
The upload dialog is implemented using mw.ForeignStructuredUpload and mw.ForeignStructuredUpload.BookletLayout, which build upon simpler components. See OOjs UI/Windows for documentation about OOjs UI dialogs.