Manual:Parámetros para Special:Export

This page is a translated version of the page Manual:Parameters to Special:Export and the translation is 100% complete.

Véase también: Manual:dumpBackup.php

Las páginas wiki se pueden exportar en un formato especial XML para subir a otro MediaWiki.[1] Consulta Ayuda:Exportar para más detalles.

Parámetros disponibles

A continuación se muestra la lista de parámetros disponibles para Special:Export en la versión 1.16. No todos están disponibles a través de la interfaz de usuario de Special:Export.

Parámetro Tipo de variable Descripción
action Cadena No utilizado; inicializado a «submit» («enviar») en el formulario de exportación.
Selección de página
/ (sin parámetro) Selecciona hasta una página, por ejemplo, Special:Export/Sandbox.
pages ? Una lista de títulos de páginas, separados por caracteres de salto de línea (%0A). Máximo de 35 páginas.
addcat/nombre-de-categoría ¿Cadena? Estos fueron añadidos más tarde. addcat devuelve todos los miembros de la categoría catname que se le ha añadido. Si $wgExportFromNamespaces está activado, addns y nsindex hacen lo mismo, pero con espacios de nombres y sus índices numéricos. Se devolverá un máximo de 5000 títulos de páginas.

Por ejemplo, lo siguiente es para todas las páginas en en:Category:Books:

https://en.wikipedia.org/w/index.php?title=Special:Export&addcat&catname=Books&pages=XXXX

addns/índice-de-espacio-de-nombres
Ordenar
dir[2] Cadena Debe tener el valor «desc» para recuperar las revisiones en orden cronológico inverso.

El funcionamiento por defecto, con este parámetro omitido, es el de recuperar las revisiones en orden ascendente de marca de tiempo (de la más antigua a la más reciente).

Limitar los resultados
offset[2] ? La marca de tiempo (no inclusiva) a la que empezar. Se admiten varios formatos, incluido el de 14 caracteres utilizado habitualmente por MediaWiki, y el formato ISO 8601 como el que sale de los volcados XML.
limit[2] Entero El número máximo de revisiones que devolver. Si solicitas más que el máximo del sitio (definido en $wgExportMaxHistory : 1000 en los proyectos de Wikimedia en este momento), se reducirá a este número.

El límite es acumulativo sobre todas las páginas especificadas en el parámetro pages. Por ejemplo, si solicitas un límite de 100 para dos páginas con 70 revisiones cada una, obtendrás 70 de una y 30 de la otra.[3]

curonly Booleano Incluye solo la revisión actual (por defecto en solicitudes GET).
history ? Incluye el historial completo, anulando dir, limit y offset.

Esto no funciona en todos los casos, digamos que https://en.wikipedia.org/w/index.php?title=Special:Export&pages=US_Open_(tennis)&history=1&action=submit funciona bien y devuelve todas las revisiones, pero https://en.wikipedia.org/w/index.php?title=Special:Export&pages=India&history=1&action=submit no.

Extras
templates ? Incluye todas las plantillas transcluidas en las páginas en la lista para exportar.
listauthors Booleano Incluye para cada página la lista de los nombres e identificadores de usuario de todos los colaboradores. Esta funcionalidad está deshabilitada por defecto; se puede habilitar cambiando $wgExportAllowListContributors .
pagelink-depth Entero Incluye todas las páginas enlazadas hasta la profundidad especificada. Está limitada a $wgExportMaxLinkDepth (por defecto 0, que deshabilita la funcionalidad), o 5 si el usuario no tiene permiso para cambiar límites.
wpDownload ? Guarda la exportación en un archivo cuyo nombre incluye la marca de tiempo actual. Está implementado a través de la cabecera HTTP content-disposition:attachment.

Las solicitudes con parámetros de URL no funcionan

Los parámetros dir, offset y limit solo funcionan en solicitudes POST. Las solicitudes GET a través de una URL se ignoran.

Al usar la URL, como ocurre por ejemplo en un navegador, estás haciendo la solicitud por GET. En el script ruby, usas POST.

Por ejemplo, la siguiente solicitud con parámetros no funciona: devuelve todas las revisiones de una página a pesar del parámetro limit=5.

https://en.wikipedia.org/w/index.php?title=Special:Export&pages=XXXX&offset=1&limit=5&action=submit

Recuperar las 5 primeras revisiones

Al pasar -d "", se genera una solicitud POST por cURL. Lo siguiente devuelve las 5 primeras revisiones de la página principal y la página de discusión asociada de Wikipedia en inglés:

curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page%0ATalk:Main_Page&offset=1&limit=5&action=submit'

Y aquí están las 5 siguientes revisiones solo de la página principal:

curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page&offset=2002-01-27T20:25:56Z&limit=5&action=submit'

Aquí la marca de tiempo de la última revisión de la consulta anterior se copia al campo de desplazamiento (offset) de la URL. Dado que el campo de desplazamiento no es inclusivo, esa quinta revisión no se vuelve a mostrar, y en su lugar obtenemos las revisiones 6-10.[4]

Solicitud POST para descargar

Un ejemplo más explícito, especialmente si también quieres guardar la cosa de las narices, sería

curl -d "&pages=Main_Page&offset=1&action=submit" https://en.wikipedia.org/w/index.php?title=Special:Export -o "somefilename.xml"

La URL de la raíz debe seguir los parámetros de MediaWiki... además, ten en cuenta que tienes que añadir los parámetros de cURL al final para guardar el archivo de alguna forma. De otro modo, se limitaría a recorrer tu pantalla y nada se guardará.

Si en su lugar tienes la lista de títulos en un archivo, digamos title-list, debes pasar la lista a cURL como parámetro y codificar los saltos de línea correctamente (por alguna razón, --data-urlencode y @ no funcionan):

curl -d "&action=submit&pages=$(cat title-list | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g' )" https://en.wikipedia.org/w/index.php?title=Special:Export -o "somefilename.xml"

Si deseas ahorrar ancho de banda, añade también los siguientes argumentos.

--compressed -H 'Accept-Encoding: gzip,deflate'


Cómo detener la exportación de tu MediaWiki

Ten en cuenta que, si haces que a tus usuarios les sea difícil hacer una copia de seguridad de su trabajo, les podrás desalentar de contribuir a tu wiki.

Si $wgExportAllowHistory está configurado como false en LocalSettings.php , solo se podrá exportar la versión actual, no el historial completo.

Por defecto, con las solicitudes GET, solo se devuelve la versión actual (la última) de cada página.

Si el parámetro $wgExportAllowHistory es true en LocalSettings.php y la opción «Incluye solo la revisión actual, no el historial completo» está desmarcada, entonces se devolverán todas las versiones de cada página.

Para deshabilitar por completo la exportación, debes establecer una función de retrollamada en tu LocalSettings.php:

function removeExportSpecial(&$aSpecialPages)
{
	unset($aSpecialPages['Export']);
	return true;
}
$wgHooks['SpecialPage_initList'][] = 'removeExportSpecial';

Si deseas definir un permiso para exportar, pon lo siguiente en tu LocalSettings.php:

// Redefine SpecialExport, que es trabajo para MW 1.35
// los parámetros de __construct() están cambiados en versiones posteriores
class SpecialExport2 extends SpecialExport {
    public function __construct() {
        parent::__construct();
        $this->mRestriction = 'export';
    }
    public function execute( $par ) {
        $this->checkPermissions();
        parent::execute( $par );
    }
}
function adjustExportSpecial(&$aSpecialPages)
{
	$aSpecialPages['Export'] = SpecialExport2::class;
	return true;
}
$wgHooks['SpecialPage_initList'][] = 'adjustExportSpecial';
$wgGroupPermissions['sysop']['export'] = true; // Añade el permiso de exportación solo a sysop

Recuerda que la exportación aún es posible si tienes la API habilitada.

Notas

  1. Provisto que esta función esté habilitada en el wiki de destino y el usuario sea sysop allí. La exportación se puede utilizar para analizar el contenido. Consulta también Canales de sindicación sobre cómo exportar información distinta de las páginas y Help:Import sobre cómo importar páginas.
  2. 2.0 2.1 2.2 Estos parámetros se ignorarán si se especifica ya sea curonly o history, o si se han pasado a través de una solicitud GET (por ejemplo, en la barra de direcciones del navegador). Véase Las solicitudes con parámetros de URL no funcionan para más información.
  3. El orden es por page_id, se obtendrán más revisiones de las páginas con un page_id más bajo. La razón es que Special:Export solo hace una consulta a la base de datos por cada solicitud HTTP. Si deseas solicitar el historial completo de varias páginas con muchas revisiones cada una, tendrás que hacerlo página a página.
  4. Esta convención de parámetros es muy parecida a la de las páginas de historial de la interfaz de usuario.

Véase también

Enlaces externos