This page is a translated version of the page Extension:UploadWizard and the translation is 94% complete.
Manual de extensiones de MediaWiki
Estado de lanzamiento: estable
Implementación Multimedia, Página especial
Descripción Multiarchivo, paso a paso del asistente de carga
Autor(es) Neil Kandalgaonkar, Jeroen De Dauw, Mark Holmquist, Ryan Kaldari, Ankur Anand, Yuvi Panda, Michael Dale
Última versión continuous updates
MediaWiki >= 1.42.0
Cambios de la base de datos
Tablas uw_campaigns
Licencia GNU Licencia Pública general 2.0 o posterior
  • $wgUploadWizardConfig
Descargas trimestrales 190 (Ranked 44th)
Traduce la extensión UploadWizard si está disponible en translatewiki.net
Función de vagabundo uploadwizard
Asuntos Tareas abiertas · Reportar un bug

La extensión de UploadWizard permite que un usuario cargue varios archivos con un asistente paso a paso de JavaScript.

Véase también: Página de descripción del asistente de cargas (Upload Wizard) en Wikimedia Commons


Habilitación de cargas y miniaturas

Su MediaWiki deberá ser capaz de alojar archivos multimedia y crear miniaturas (vistas previas más pequeñas de archivos multimedia). Si puede cargar imágenes y ver vistas previas más pequeñas en su página de archivo, ya está listo. De lo contrario, para obtener instrucciones completas, consulte Manual:Image administration , en particular imágenes en miniatura.

Para usuarios de GNU/Linux o Mac OS X
  • Asegúrese de que su servidor web pueda escribir en el directorio images.
  • Instale las bibliotecas y binarios ImageMagick.
  • Descargue y extraiga los archivos de UploadWizard como se especifica aquí: Special:ExtensionDistributor/UploadWizard
  • Agregue la siguiente configuración a LocalSettings.php:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = <path to your convert command>;  # Only needs to be set if different from /usr/bin/convert

wfLoadExtension( 'UploadWizard' );

You also need to change the following core configuration variable.

// Needed to make UploadWizard work in IE, see https://phabricator.wikimedia.org/T41877
$wgApiFrameOptions = 'SAMEORIGIN';

You should also install the EventLogging extension. This is used only if you use the campaigns feature, and should be made a soft dependency at some point in the future.

Habilitar cargas de Flickr

You can also use UploadWizard to transfer files directly from Flickr. To enable this option, first you'll need to get an API key from Flickr:

  1. Log in to Flickr;
  2. Go to the Apps By You page in the Flickr App Garden;
  3. Click on 'Get another key';
  4. Choose 'Apply for a non-commercial key';
  5. Enter a name and a description and check the two waiver checkboxes before submitting.

Once you have a key, add the following to your LocalSettings.php:

wfLoadExtension( 'UploadWizard' );

// Needed to make UploadWizard work in IE, see https://phabricator.wikimedia.org/T41877
$wgApiFrameOptions = 'SAMEORIGIN';

//$wgUploadNavigationUrl = '/index.php/Special:UploadWizard';

$wgUseInstantCommons = true;
$wgExtensionFunctions[] = function() {

$GLOBALS['wgUploadNavigationUrl'] = SpecialPage::getTitleFor( 'UploadWizard' )->getLocalURL();
        return true;

$wgUploadWizardConfig = array(
        'debug' => false,

        'altUploadForm' => 'Special:Upload',
        'fallbackToAltUploadForm' => false,
        'enableFormData' => true, 
        'enableMultipleFiles' => true,
        'enableMultiFileSelect' => true,
        'uwLanguages' => array(
                'ru' => 'Русский',
                'bg' => 'Български',
                'en' => 'English'
        'uwLanguages' => empty( $uwLanguages ) ? [ 'bg' => 'Български' ] : $uwLanguages,
        'tutorial' => array( 'skip' => false ),
        'maxUploads' => 15,
        'fileExtensions' => $wgFileExtensions,

        'licenses' => array(
                'cc-by-nc-sa-4.0' => [
                        'msg' => 'mwe-upwiz-license-cc-by-nc-sa-4.0',
                        'icons' => [ 'cc-by', 'cc-nc', 'cc-sa' ],
                        'url' => '//creativecommons.org/licenses/by-nc-sa/4.0/',
                        'languageCodePrefix' => 'deed.'

        'licensing' => array(
                'defaultType' => 'ownwork',
                'ownWorkDefault' => 'choice',
                'ownWork' => array(
                        'type' => 'or',
                        'template' => 'self',
                        'defaults' => 'cc-by-nc-sa-4.0',
                        'licenses' => array(

You may also want to limit the upload domains specifically to Flickr:

$wgCopyUploadsDomains = [ '*.flickr.com', '*.staticflickr.com' ];

Otras configuraciones

  • You need to have InstantCommons enabled in order to access the licensing tutorial. To enable InstantCommons add
    $wgUseInstantCommons = true;
    to LocalSettings.php .
  • You may want to set
    $wgUploadNavigationUrl = '/wiki/Special:UploadWizard';
    in LocalSettings.php, where /wiki/ is the correct path for your wiki. A more general way of doing this that works for whatever path configuration you have, but that requires PHP 5.3 or later is:
$wgExtensionFunctions[] = function() {
	$GLOBALS['wgUploadNavigationUrl'] = SpecialPage::getTitleFor( 'UploadWizard' )->getLocalURL();
	return true;

This modifies the sidebar's "Upload file" link - probably in other places as well. More at Manual:$wgUploadNavigationUrl .

Several other options are available through a configuration array. For example:

$wgUploadWizardConfig = [
	'debug' => false,
	'autoAdd' => [
	 	'wikitext' => [
			'This file was uploaded with the UploadWizard extension.'
	 	'categories' => [
	 		 'Uploaded with UploadWizard'	
		], // Should be localised to the language of your wiki instance
	'feedbackPage' => 'Feedback about UploadWizard',
	'altUploadForm' => 'Special:Upload',
	'feedbackLink' => false, // Disable the link for feedback (default: points to Commons)
	'alternativeUploadToolsPage' => false, // Disable the link to alternative upload tools (default: points to Commons)
	'enableFormData' => true, // Enable FileAPI uploads be used on supported browsers
	'enableMultipleFiles' => true,
	'enableMultiFileSelect' => false,
	'uwLanguages' => [
		'ar' => 'العربية',
		'de' => 'Deutsch',
		'en' => 'English'
		], // Selectable languages for file descriptions - defaults to 'en'
	'tutorial' => [
	 	'skip' => true
		], // Skip the tutorial
	'maxUploads' => 15, // Number of uploads with one form - defaults to 50
	'fileExtensions' => $wgFileExtensions // omitting this may cause errors

Uso en entornos con licencia libre

If you are installing UploadWizard in an environment where licenses are not used, you may want to add the configuration below to LocalSettings.php. This will limit the license choices to a single default that references the wiki's generic disclaimer. Note that there are many other configuration settings to add depending on your use case.

$wgUploadWizardConfig = [
	'licensing' => [
		'ownWorkDefault' => 'own',
		'ownWork' => [
			'type' => 'or',
			'template' => 'licensing', // this adds a link to Template:Licensing to the file info page
			'licenses' => [
These are just some sample settings. See the "UploadWizard.config.php" file (starting around line 80) for many more options supported in the $wgUploadWizardConfig array.

Modificación de los mensajes genéricos UI

If you wish to modify the generic messages, you can do so within the wiki itself editing the following pages:

  • MediaWiki:Mwe-upwiz-source-ownwork
  • MediaWiki:Mwe-upwiz-source-ownwork-assert-generic
  • MediaWiki:Mwe-upwiz-source-ownwork-generic-explain

Modifying file pages created by Upload Wizard

To modify the wikitext of file pages created by Upload Wizard, add a hook to LocalSettings.php that fires on every page save, then check if the page has the structure of a page created by UploadWizard, and modify it to your liking. For example:

$wgHooks['ParserPreSaveTransformComplete'][] = function ( Parser $parser, string &$text ) {
	if ( preg_match( '/=={{int:filedesc}}==
\|other versions=(.*)

*(.*)/', $text, $matches ) ) {

		// Get data
		$description = $matches[1];
		$date = $matches[2];
		$source = $matches[3];
		$author = $matches[4];
		$permission = $matches[5];
		$otherVersions = $matches[6];
		$license = $matches[7];
		$licenseDetails = $matches[8];

		// Process data
		if ( $source === '{{own}}' ) {
			$source = 'Own work';
		if ( preg_match( '/\[\[([^|]+)\|[^]]+\]\]/', $author, $matches ) ) {
			$author = $matches[1]; // Unlink the author
		if ( $licenseDetails ) {
			$license = $licenseDetails;

		// Build wikitext
		$text = "$description

{{File data
| date = $date
| author = $author
| source = $source
| license = $license


Argumentos de URL

There are several URL arguments that can be specified to alter the behaviour of the UploadWizard:

  • campaign: Specifies which upload campaign to use.
  • description: Sets the initial value for the description field.
  • lat: Sets the initial value for the latitude field.
  • lon: Sets the initial value for the longitude field.
  • alt: Sets the initial value for the altitude field.
  • categories: Sets the initial value for the categories field, multiple categories separated by |.
  • fields[]: The initial values of additional fields defined by a campaign. Values of multiple fields must be passed in the exact same order as defined in the campaign.
(e. g. fields[]=value_first&fields[]=value_second)
  • objref: Specifies an object reference that can be used to update a page with a thumbnail of an uploaded image. See #Object references for further details.
  • updateList: Specifies whether a list page should be updated at all. This parameter only works in combination with objref. See #Object references for further details.

These arguments can be specified as follows: if you have an argument named "campaign" and want to provide the value "foobar", then append campaign=foobar to the url. For example wiki/Special:UploadWizard?campaign=foobar or w/index.php?title=Special:UploadWizard&campaign=foobar.

The following URL arguments are still supported for existing URLs, but deprecated:

  • id: If specified, this value is used instead of the first fields[] value. Please use fields[] instead.
  • id2: If specified, this value is used instead of the second fields[] value. Please use fields[] instead.

Referencias de objetos

Upload Wizard provides a way to store “object references” - references to list templates in Wiki pages - in the file description page. These may be used by bots to insert a thumbnail image into a list page. A bot that is doing this for monument lists of German Wikipedia is running on tool labs. Its code is hosted on GitHub. Though its purpose is to update monument lists on Wikipedia it can be adopted to serve in different scenarios.

This feature uses the parameters objref and updateList. If both parameters are passed, the Upload Wizard shows a checkbox for each upload, which can be used to select the image that the object reference is added to. If the parameter updateList is omitted, the checkboxes will be disabled and an additional notice is being displayed stating that an image for the object already exists in the list.

  • objref: Specifies an object reference that can be used to update a page with a thumbnail of an uploaded image. Passing this parameter is expected in the following format objref=prefix|page_title|object_id
    • prefix - Interwiki or interlanguage prefix as defined per Special:Interwiki. The prefix must be defined in order to make this work.
    • page_title - The title of the page the object is listed on.
    • object_id - A unique identifier of the object for a bot to update
  • updateList: Specifies whether a list page should be updated at all. Set to any value, this parameter enables a checkbox


If you're testing UploadWizard for whatever reason, and you've run out of "real" images to upload as test cases, you can always use the handy MediaWiki utility for creating test images. Open a terminal emulator, get into a directory where you want to store a bunch of test JPG files, and run

$ php path/to/mediawiki/tests/phpunit/includes/api/generateRandomImages.php

Here's a Bash script that should make it easier to do all of this without much trouble. It's a good idea to put this in your PATH and/or make a handy shortcut to it somewhere that will make it trivial to update your images with new ones.


# Declare some paths (easier to configure)

# Get to the pic path, and remove old test images
rm *.jpg

# Run the generate script three times to give us a bunch of images
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php


  Advertencia: This list is not complete and more templates are required, otherwise you will end with SCRIPT error or other error messages not in English!

Upload Wizard will insert a few templates into generated file description pages, which need to exist on the wiki in order for the description pages to be rendered correctly. The templates used include:

Véase también

Especificaciones relacionadas