Zuletzt bearbeitet vor einem Jahr
von Margit Link-Rodrigue

Referenz:ContentTransfer: Unterschied zwischen den Versionen

K (Textersetzung - „Box Note“ durch „Hinweisbox“)
Keine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 51: Zeile 51:


'''<<span class="mw-lingo-term ve-pasteProtect" data-lingo-term-id="fabcaa97871555b68aa095335975e613" data-hasqtip="2" style="box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;" data-ve-attributes="{&quot;style&quot;:&quot;box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;&quot;}">bot</span>-username-provided>'''
'''<<span class="mw-lingo-term ve-pasteProtect" data-lingo-term-id="fabcaa97871555b68aa095335975e613" data-hasqtip="2" style="box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;" data-ve-attributes="{&quot;style&quot;:&quot;box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;&quot;}">bot</span>-username-provided>'''
[[Datei:Referenz:Bot permissions.png|alternativtext=Bot-Berechtigungen|mini|Bot-Berechtigungen]]
 
Ein Benutzername in Form von  <code style="box-sizing: inherit; font-family: monospace, Courier; font-size: 13.5px; padding: 1px 4px; color: black; background-color: rgb(249, 249, 249); border-radius: 2px; border: 1px solid rgb(221, 221, 221);" data-ve-attributes="{&quot;style&quot;:&quot;box-sizing: inherit; font-family: monospace, Courier; font-size: 13.5px; padding: 1px 4px; color: black; background-color: rgb(249, 249, 249); border-radius: 2px; border: 1px solid rgb(221, 221, 221);&quot;}"><username>@<id></code>.
Ein Benutzername in Form von  <code style="box-sizing: inherit; font-family: monospace, Courier; font-size: 13.5px; padding: 1px 4px; color: black; background-color: rgb(249, 249, 249); border-radius: 2px; border: 1px solid rgb(221, 221, 221);" data-ve-attributes="{&quot;style&quot;:&quot;box-sizing: inherit; font-family: monospace, Courier; font-size: 13.5px; padding: 1px 4px; color: black; background-color: rgb(249, 249, 249); border-radius: 2px; border: 1px solid rgb(221, 221, 221);&quot;}"><username>@<id></code>.


Zeile 88: Zeile 88:
     "displayText" => "Mein Wiki",
     "displayText" => "Mein Wiki",
];
];
</syntaxhighlight>{{Hinweisbox|boxtype=note|Note text=Nach der Konfiguration muß die Datei update.php ausgeführt werden.}}
</syntaxhighlight>
Um die Auswahl verschiedener Transfer-Benutzer zu ermöglichen, wird folgende Syntax verwendet:<syntaxhighlight lang="text">
$wgContentTransferTargets = [ 'privatewikiname' => [
    "url" => "http://target/api.php", // URL to the target wiki's API endpoint
    "users" => [
        [
            "user" => "Uname1@bot", // Bot username
            "password" => "dvauaeersp02ds6s8n88bbrsj3asuuk", // Bot password
        ],
        [
            "user" => "Uname2@bot", // Bot username
            "password" => "dvauaeersp02ds6s8n88bbrsj3asuuk", // Bot password
        ]
    ],
    "draftNamespace" => "Draft", // Name for the NS to be used as draft ("Draft" is automatically created by "MergeArticles" ext)
    "pushToDraft" => true // Whether to push to draft. If false will push directly to target pages
] ];
</syntaxhighlight>Beim Transfer ist es dann möglich, einen Transfer-Benutzer anzugeben:
[[Datei:Referenz:contenttransfer-multipleusers.png|alternativtext=mehrere Transfer Benutzer stehen zur Auswahl|zentriert|mini|350x350px|mehrere Transfer Benutzer stehen zur Auswahl]]
{{Hinweisbox|boxtype=note|Note text=Nach der Konfiguration muß die Datei update.php ausgeführt werden.}}


=== Zusätzliche Einstellungen ===
=== Zusätzliche Einstellungen ===
Zeile 98: Zeile 117:
===Anforderungen===
===Anforderungen===
{{PAGENAME}} benötigt [[Referenz:BlueSpiceFoundation|BlueSpiceFoundation]]. Bereits im Zielwiki existierende Seiten können optional über [[Referenz:MergeArticles|MergeArticles]] zusammengeführt werden.<br />  
{{PAGENAME}} benötigt [[Referenz:BlueSpiceFoundation|BlueSpiceFoundation]]. Bereits im Zielwiki existierende Seiten können optional über [[Referenz:MergeArticles|MergeArticles]] zusammengeführt werden.<br />  
===Rechte===
Um Seiten von einem Quell- in ein Zielwiki transferieren zu können, benötigen benutzer die "content-transfer" Berechtigung. Diese ist standardmäßig in der ''admin''-Rolle enthalten.


{{Translation}}
{{Translation}}
[[Category:Extension]]
[[Category:Extension]]

Aktuelle Version vom 6. Mai 2022, 11:50 Uhr

Erweiterung: ContentTransfer

alle Erweiterungen

Übersicht
Beschreibung: Kopiert Wikiseiten in ein Zielwiki. (ab v3.2)
Status: stable Abhängigkeit: BlueSpice
Entwickler: HalloWelt Lizenz: GPL v3
Typ: BlueSpice Kategorie: Qualitätssicherung
Edition: BlueSpice Farm (deaktiviert) Version:

Funktionen / Anwendung[Bearbeiten | Quelltext bearbeiten]

ContentTransfer kopiert neue oder existierende Wikiseiten in ein anderes Wiki.

Benutzer mit der entsprechenden Berechtigung können bis zu 200 Seiten pro Transfer von einem Wiki in den gleichen Namensraum eines Zielwikis kopieren.

Je nach Einstellungen, die über die Spezialseite ContentTransfer, ausgewählt wurden, werden folgende Dateien kopiert:

  • die ausgewählten Wikiseiten
  • die verbundenen Kategorienseiten
  • die Buchseite, die mit Wikiseiten verbunden ist
  • die Vorlagen, die mit Wikiseiten verbunden sind
  • angehängte Dateien

Technische Information[Bearbeiten | Quelltext bearbeiten]

Wichtig!Die Erweiterung ist standardmäßig deaktiviert und muss erst in der 060-ContentTransfer unter settings.d - oder in der LocalSettings.custom.php im Installationsordner aktiviert werden (also nicht nur in einer einzelnen Farm-Instanz). wfLoadExtension('ContentTransfer');

Konfiguration[Bearbeiten | Quelltext bearbeiten]

Folgende Information ist nötig, um Seiten zwischen Wikis zu transferieren:

<source-instance-name>

Name des Quellwikis. Dies muss der Ordnername aus /opt/mediawiki/w/_sf_instances/ sein.

<target-instance-descriptive-name>

Beschreibungsname des Zielwikis. Das ist normalerweise der Name der Instanz (also <target-instance-name>), kann aber zur besseren Verständlichkeit frei gewählt werden. Kann keine Leerzeichen enthalten.

<target-instance-name>

Name der Zielwiki-Instanz. Dies muss der Ordnername aus /opt/mediawiki/w/_sf_instances/ sein. Der Name läßt sich auch aus der url der Wiki-Instanz auslesen.

<target-instance-label>

Der Anzeigename für das Zielwiki (kann auch Leerzeichen enthalten). Diese Angabe ist optional und kann auskommentiert werden.

<servername>

Server-url

<bot-username-provided>

Ein Benutzername in Form von <username>@<id>.

Der Bot-Benutzer wird im Zielwiki auf der Seite Special:BotPasswords angelegt. Klicken Sie "Erstellen". Danach wird eine Seite mit den Bot-Berechtigungen angezeigt. Aktivieren Sie folgende Einstellungen:

  • Massenbearbeitungen
  • Vorhandene Seiten bearbeiten
  • Geschützte Seiten bearbeiten
  • Seiten erstellen, bearbeiten, verschieben
  • Neue Dateien hochladen
  • Dateien hochladen, ersetzten und verschieben

<bot-password-provided>

Das Passwort wird im Wiki generiert und muss dann entsprechend verwendet werden.

Mit der nötigen Info öffnen Sie /opt/mediawiki/w/_sf_instances/<source-instance-name>/LocalSettings.custom.php . Fügen Sie folgenden Block hinzu:

$wgContentTransferTargets['<target-instance-descriptive-name>'] = [
    "url" => "https://<servername>/<target-instance-name>/api.php",
    "user" => "<bot-username-provided>",
    "password" => "<bot-password-provided>",
    "draftNamespace" => "Draft",
    "pushToDraft" => true,
    "displayText" => "<target-instance-label>",
];

Wenn ContentTransfer ohne die Erweiterung MergeArticles benutzt wird, müssen die entsprechenden Angaben zu "Drafts" deaktiviert werden:

# "draftNamespace" => "Draft", 
"pushToDraft" => false,

Beispiel:

$wgContentTransferTargets['MeinWiki'] = [
    "url" => "http://172.16.200.23/MeinWikiName/api.php",
    "user" => "Snow@Schneewittchen",
    "password" => "uuicqdv9mubfrepbpqu1bvsl5957cpa9",
 #  "draftNamespace" => "Draft",
    "pushToDraft" => false,
    "displayText" => "Mein Wiki",
];

Um die Auswahl verschiedener Transfer-Benutzer zu ermöglichen, wird folgende Syntax verwendet:

$wgContentTransferTargets = [ 'privatewikiname' => [
    "url" => "http://target/api.php", // URL to the target wiki's API endpoint
    "users" => [
        [
            "user" => "Uname1@bot", // Bot username
            "password" => "dvauaeersp02ds6s8n88bbrsj3asuuk", // Bot password
        ],
        [
            "user" => "Uname2@bot", // Bot username
            "password" => "dvauaeersp02ds6s8n88bbrsj3asuuk", // Bot password
        ]
    ],
    "draftNamespace" => "Draft", // Name for the NS to be used as draft ("Draft" is automatically created by "MergeArticles" ext)
    "pushToDraft" => true // Whether to push to draft. If false will push directly to target pages
] ];

Beim Transfer ist es dann möglich, einen Transfer-Benutzer anzugeben:

mehrere Transfer Benutzer stehen zur Auswahl
mehrere Transfer Benutzer stehen zur Auswahl
Hinweis:Nach der Konfiguration muß die Datei update.php ausgeführt werden.


Zusätzliche Einstellungen[Bearbeiten | Quelltext bearbeiten]

$wgContentTransferIgnoreInsecureSSL = false; // Ignore invalid SSL certificates (for test systems)
$wgContentTransferPageLimit = 200; // Max number of pages to be allowed at one 
$wgContentTransferOnlyContentNamespaces = true; // Only allow content namespaces to be selected in filters
$wgContentTransferAllowTalkNamespaces = false; // Allow talk namespaces to be selected in filters

Anforderungen[Bearbeiten | Quelltext bearbeiten]

ContentTransfer benötigt BlueSpiceFoundation. Bereits im Zielwiki existierende Seiten können optional über MergeArticles zusammengeführt werden.

Rechte[Bearbeiten | Quelltext bearbeiten]

Um Seiten von einem Quell- in ein Zielwiki transferieren zu können, benötigen benutzer die "content-transfer" Berechtigung. Diese ist standardmäßig in der admin-Rolle enthalten.

Diskussionen