Upload dialog

The upload dialog (also known as foreign upload tool or cross-wiki upload tool) is available in visual editor and wikitext editor on Wikimedia wikis. It's not available for users who disabled "enhanced editing toolbar" or "wizards for inserting links, tables" in their preferences. It can also be used outside of these contexts, like in a Gadget or extension. See API documentation for instructions and details.

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). Starting with MediaWiki 1.28 (but not 1.27), it can be disabled by setting $wgForeignUploadTargets to.

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.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.