Manual:Parámetros para Special:Export
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 |
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
- ↑ 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.0 2.1 2.2 Estos parámetros se ignorarán si se especifica ya sea
curonly
ohistory
, 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. - ↑ El orden es por
page_id
, se obtendrán más revisiones de las páginas con unpage_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. - ↑ 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