Manual:Importing XML dumps/de

Diese Seite beschreibt Methoden für den Import von XML-Dumps. XML-Dumps enthalten den Inhalt eines Wikis (Wikiseiten mit allen Versionen) ohne Daten mit Bezug zur Seite. Ein XML-Dump erstellt kein vollständiges Backup der Wiki-Datenbank, denn der Dump enthält keine Benutzerkonten, Bilder, Bearbeitungslogbücher, etc.

Die Seite Special:Export jeder MediaWiki-Seite, darunter jede Wikimedia-Seite und Wikipedia, erstellt eine XML-Datei (Inhaltsdump). Siehe Meta:Daten-Dumps und. XML-Dateien werden auf Meta:Hilfe:Export genauer erklärt.



Wie importiert man?
Es gibt mehrere Methoden, um diese XML-Dateien zu importieren.



Importieren großer XML-Dumps (wie der Englischen Wikipedia)


Mit Spezial:Import
Special:Import kann von Wiki-Benutzern mit dem Recht  genutzt werden (standardmäßig sind dies Benutzer in der Gruppe  ), um eine kleine Anzahl von Seiten zu importieren (etwa 100 sollten sicher sein).

Der Versuch, größere Dumps auf diese Weise zu importieren, kann zu Timeouts oder Verbindungsfehlern führen.


 * Siehe Meta:Hilfe:Import für eine detailliertere Beschreibung.
 * Aufgrund von Beschränkungen in der PHP-Konfiguration können große Dateien abgewiesen werden, siehe Meta:Hilfe:Import#Große Transfermengen

Du wirst gebeten, ein Interwiki-Präfix anzugeben. Wenn du beispielsweise aus der englischen Wikipedia exportiert hast, musst du 'en' eingeben.



Berechtigungen ändern
Siehe.

Um allen angemeldeten Autoren das importieren zu erlauben (nicht empfohlen), müsste folgende Zeile zu "LocalSettings.php" hinzugefügt werden:



Mögliche Probleme
Für die Nutzung des Transwiki-Imports muss der PHP safe_mode deaktiviert und "open_basedir" leer sein (beide sind Variablen in php.ini). Andernfalls schlägt der Import fehl.

Falls du einen Fehler wie diesen kriegst:

Warning: XMLReader::open: Unable to open source data in /.../wiki/includes/Import.php on line 53 Warning: XMLReader::read: Load Data before trying to read in /.../wiki/includes/Import.php on line 399

Und Spezial:Import zeigt folgendes an: "Import failed: Expected &lt;mediawiki> tag, got ", kann dies ein Problem sein, das durch einen fatalen Fehler bei einem vorherigen Import ausgelöst wurde, wodurch sich libxml auf dem ganzen Server in einem falschen Stadium befindet oder daran liegen, dass ein anderes PHP-Skript auf dem gleichen Server den Entity-Loader deaktiviert hat (PHP-Fehler). Dies passiert in MediaWiki-Versionen vor MediaWiki 1.26 und die Lösung ist, den Dienst des Webservers (Apache, etc.) neuzustarten oder ein Skript zu schreiben und auszuführen, das  anruft (siehe ).



Mit Hilfe von importDump.php, falls du Shell-Zugriff hast

 * Empfohlene Methode für die allgemeine Verwendung, aber langsam bei sehr großen Datensätzen.
 * Siehe:, enthält Tipps zur Nutzung für große Wikis.



Mit Hilfe des Wartungsskript importTextFiles.php
Wenn du viele Inhalte aus einer anderen Quelle konvertiert hast (mehrere Textverarbeitungsdateien, Inhalte aus einem anderen Wiki, etc.), hast du vielleicht mehrere Dateien, die du in dein Wiki importieren möchtest. In MediaWiki 1.27 und später kannst du das Wartungsskript importTextFiles.php nutzen.

Du kannst auch das Wartungsskript edit.php für diesen Zweck nutzen.

rebuildall.php
Für große XML-Dumps kannst du  ausführen, es wird allerdings lange brauchen, da es alle Seiten parsen muss. Dies wird für große Datensätze nicht empfohlen.



Nutzung von pywikibot, pagefromfile.py und Nokogiri
ist eine Sammlung von Werkzeugen in Python, die die Arbeit in Wikipedia oder anderen MediaWiki-Seiten automatisieren. Nachdem du es auf deinem Computer installiert hast, kannst du das Werkzeug 'pagefromfile.py' nutzen, das dich eine Wiki-Datei in Wikipedia oder anderen MediaWiki-Seiten hochladen lässt. Die von dumpBackup.php erstellte XML-Datei kann in eine Wiki-Datei umgewandelt werden, die von 'pagefromfile.py' mithilfe eines einfachen Ruby-Programms in etwas wie das folgende umgewandelt werden kann (hier wandelt das Programm alle XML-Dateien um, die sich im aktuellen Verzeichnis befinden, was erforderlich ist, wenn deine MediaWiki-Seite eine Familie ist):

Als Beispiel ist hier ein Auszug aus einer Wiki-Datei-Ausgabe des Kommandos 'ruby dumpxml2wiki.rb' (zwei Seiten können dann von pagefromfile.py hochgeladen werden, eine Vorlage und eine zweite Seite, die eine Weiterleitung ist):

Das Programm greift auf jede XML-Datei zu, extrahiert die Texte innerhalb der Tags auf jeder Seite, sucht nach dem entsprechenden Titel und schließt ihn mit den Kommandos   ein, die von 'pagefromfile' genutzt werden, um eine Seite zu erstellen oder zu aktualisieren. Der Name der Seite ist ein HTML-Kommentar und durch drei Anführungszeichen in der ersten Zeile abgetrennt. Bitte beachte, dass der Name der Seite in Unicode geschrieben sein kann. Manchmal ist es wichtig, dass die Seite direkt mit dem Kommando beginnt, wie für #REDIRECT ; daher muss sich der Name der Seite hinter dem Kommando, aber weiterhin in der ersten Zeile befinden.

Bitte denke daran, dass die von dumpBackup.php erzeugten XML-Dump-Dateien einen Namensraum als Präfix haben:

Um auf den Textknoten mit Nokogiri zuzugreifen, musst du deinem Pfad das Präfix 'xmlns' hinzufügen:

Nokogiri ist ein HTML-, XML-, SAX- und Reader-Parser mit der Möglichkeit, Dokumente über XPath- oder CSS3-Selektoren der letzten Generation von XML-Parsern mit Ruby zu durchsuchen.

Beispiel für die Nutzung von 'pagefromfile' zum Hochladen der ausgegebenen Wikitext-Datei:



Wie importiert man Protokolle?
Das Exportieren und Importieren von Logbüchern mit den standardmäßigen MediaWiki-Skripten ist häufig schwierig; eine Alternative für den Import ist das Skript  im Werkzeug WikiDAT, wie von Felipe Ortega vorgeschlagen.

Fehlerbehebung


Interwikis
Wenn du die Nachricht Die Seite "meta:Bla bla" wird nicht importiert, da ihr Name für die externe Verlinkung (Interwiki) reserviert ist. erhältst, ist das Problem, dass manche der zu importierenden Seiten ein Präfix haben, das für die -Verlinkung genutzt wird. Zum Beispiel würde das Präfix 'Meta:' in Konflikt mit dem Interwiki-Präfix  stehen, das standardmäßig auf https://meta.wikimedia.org verlinkt.

Du kannst eines der folgenden Dinge tun.


 * Das Präfix aus der -Tabelle entfernen. Dadurch wird der Seitentitel erhalten, die Interwiki-Verlinkung über dieses Präfix allerdings verhindert.
 * Beispiel: Du behältst Seitentitel wie 'Meta:Bla bla', kannst jedoch das Präfix 'meta:' nicht nutzen, um auf meta.wikimedia.org zu verlinken (obwohl es über ein anderes Präfix möglich wäre).
 * Wie man es macht: Führe vor dem Importieren des Dumps die Abfrage  aus (Hinweis: Gib im   nicht den Doppelpunkt an). Alternativ kannst du, wenn du die Bearbeitung der Interwikitabelle aktiviert hast, einfach auf Special:Interwiki gehen und den Link 'Löschen' auf der rechten Seite neben der Zeile, die zu dem Präfix gehört, anklicken.
 * Ersetze vor dem Import das unerwünschte Präfix in der XML-Datei durch "Project:". Dadurch bleibt die Funktion des Präfix als Interlink erhalten, allerdings wird das Präfix in den Seitentiteln durch den Namen des Wikis ersetzt, in das sie importiert werden und es kann anstrengend sein, dies bei großen Dumps zu tun.
 * Beispiel: Ersetze in der XML-Datei überall 'Meta:' durch 'Project:'. MediaWiki wird dann beim Import 'Project:' durch den Namen des Wikis ersetzen.



Siehe auch

 * meta:Data dumps/Other tools
 * – kann beim Durchführen großer Importe praktisch sein
 * – Einstellungen, die möglicherweise geändert werden müssen, wenn du große Importe durchführst
 * - für den Import von Bildern.
 * – Einstellungen, die möglicherweise geändert werden müssen, wenn du große Importe durchführst
 * - für den Import von Bildern.