Referenz:ContentTransfer: Unterschied zwischen den Versionen

Margit Link-Rodrigue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Margit Link-Rodrigue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{BSExtensionInfobox
{{BSExtensionInfo
|desc=Kopiert Wikiseiten in ein Zielwiki. (ab v3.2)
|status=stable
|status=stable
|developer=HalloWelt
|developer=HalloWelt
|type=BlueSpice
|type=BlueSpice
|edition=BlueSpice Farm (deaktiviert)
|edition=BlueSpice farm, BlueSpice cloud
|active=Nein
|compatible=BlueSpice
|compatible=BlueSpice
|category=Qualitätssicherung
|category=Qualitätssicherung
|license=GPL v3
|features='''ContentTransfer''' kopiert neue oder existierende Wikiseiten in ein anderes Wiki.  
}}
'''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.  
Benutzer mit der entsprechenden Berechtigung können bis zu 200 Seiten pro Transfer von einem Wiki in den gleichen Namensraum eines Zielwikis kopieren.  
Zeile 16: Zeile 12:
Je nach Einstellungen, die über die Spezialseite ContentTransfer, ausgewählt wurden, werden folgende Dateien kopiert:
Je nach Einstellungen, die über die Spezialseite ContentTransfer, ausgewählt wurden, werden folgende Dateien kopiert:


*die ausgewählten Wikiseiten
* die ausgewählten Wikiseiten
*die verbundenen Kategorienseiten
* die verbundenen Kategorienseiten
*die Buchseite, die mit Wikiseiten verbunden ist
* die Buchseite, die mit Wikiseiten verbunden ist
*die Vorlagen, die mit Wikiseiten verbunden sind
* die Vorlagen, die mit Wikiseiten verbunden sind
*angehängte Dateien<br />
* angehängte Dateien<br />


==Technische Information==
=== Konfiguration ===
{{Hinweisbox|boxtype=important|Note text=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');}}
Bei On-Premise BlueSpice farm Installationen ist die Funktion bereits aktiviert.
===Konfiguration===
Folgende Information ist nötig, um Seiten zwischen Wikis zu transferieren:


'''<source-instance-name>'''
=== Zusätzliche Einstellungen ===
<span class="nv">$wgContentTransferIgnoreInsecureSSL</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> <span class="c1">// Ignore invalid SSL certificates (for test systems)</span>
<span class="nv">$wgContentTransferPageLimit</span> <span class="o">=</span> <span class="mi">200</span><span class="p">;</span> <span class="c1">// Max number of pages to be allowed at one</span>
<span class="nv">$wgContentTransferOnlyContentNamespaces</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> <span class="c1">// Only allow content namespaces to be selected in filters</span>
<span class="nv">$wgContentTransferAllowTalkNamespaces</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> <span class="c1">// Allow talk namespaces to be selected in filters</span>


Name des Quellwikis. Dies muss der Ordnername aus <code>/opt/mediawiki/w/_sf_instances/</code> sein.
=== Anforderungen ===
{{PAGENAME}} benötigt [[Referenz:BlueSpiceFoundation|BlueSpiceFoundation]]. Bereits im Zielwiki existierende Seiten können optional über [[Referenz:MergeArticles|MergeArticles]] zusammengeführt werden.  


'''<target-instance-descriptive-name>'''
=== Zertifikate ===
 
Wenn selbstsignierte Zertifikate verwendet werden (und keine ausgehenden Verbindungen erlaubt sind), muss
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.
<syntaxhighlight lang="text">
 
$GLOBALS['wgWikiFarmConfig_internalServer'] = 'http://wiki-web:9090';
'''<target-instance-name>'''
</syntaxhighlight>
 
in <code>data/bluespice/pre-init-settings.php</code> konfiguriert werden.
Name der Zielwiki-Instanz.
Dies muss der Ordnername aus <code>/opt/mediawiki/w/_sf_instances/</code> 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
 
'''<<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>'''
 
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>.


Der Bot-Benutzer wird im Zielwiki auf der Seite <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;}">Special:BotPasswords</code> angelegt. Klicken Sie "Erstellen". Danach wird eine Seite mit den Bot-Berechtigungen angezeigt. Aktivieren Sie folgende Einstellungen:


*Massenbearbeitungen
=== Übertragungsberechtigungen in Ziel-Namensräumen mit Sonderverrechtung ===
*Vorhandene Seiten bearbeiten
*Geschützte Seiten bearbeiten
*Seiten erstellen, bearbeiten, verschieben
*Neue Dateien hochladen
*Dateien hochladen, ersetzten und verschieben


'''<bot-password-provided>'''
Bei besonderen Berechtigungskonzepten kann es erforderlich sein, einen Benutzer mit den entsprechenden Transfer-Berechtigungen zu definieren, damit die Übertragung über diesen Benutzer und nicht über den Standardbenutzer ''ContentTransferBot erfolgt, der möglicherweise keine Schreibberechtigungen für die Ziel-Namensräume besitzt. Der definierte Benutzer kann dann allen benutzerdefinierten Wiki-Gruppen hinzugefügt werden, die über die erforderlichen Namensraumberechtigungen verfügen.''


Das Passwort wird im Wiki generiert und muss dann entsprechend verwendet werden.
<syntaxhighlight lang="php">
 
php extensions/BlueSpiceWikiFarm/src/Maintenance/CreateAccessToken.php --sfr=Foo --for-user=WikiSysop
Mit der nötigen Info öffnen Sie  <code>/opt/mediawiki/w/_sf_instances/<source-instance-name>/LocalSettings.custom.php</code> . Fügen Sie folgenden Block hinzu:
<span class="nv">$wgContentTransferTargets</span><span class="p">[</span><span class="s1">'<target-instance-descriptive-name>'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span>
    <span class="s2">"url"</span> <span class="o">=></span> <span class="s2">"https://<servername>/<target-instance-name>/api.php"</span><span class="p">,</span>
    <span class="s2">"user"</span> <span class="o">=></span> <span class="s2">"<bot-username-provided>"</span><span class="p">,</span>
    <span class="s2">"password"</span> <span class="o">=></span> <span class="s2">"<bot-password-provided>"</span><span class="p">,</span>
    <span class="s2">"draftNamespace"</span> <span class="o">=></span> <span class="s2">"Draft"</span><span class="p">,</span>
    <span class="s2">"pushToDraft"</span> <span class="o">=></span> <span class="k">true</span><span class="p">,</span>
    <span class="s2">"displayText"</span> <span class="o">=></span> <span class="s2">"<target-instance-label>"</span><span class="p">,</span>
<span class="p">];</span>
Wenn ContentTransfer ohne die Erweiterung [[Referenz:MergeArticles|MergeArticles]] benutzt wird, müssen die entsprechenden Angaben zu "Drafts" deaktiviert werden:<syntaxhighlight lang="text">
# "draftNamespace" => "Draft",
"pushToDraft" => false,
</syntaxhighlight>Beispiel:<syntaxhighlight>
$wgContentTransferTargets['MeinWiki'] = [
    "url" => "http://172.16.200.23/MeinWikiName/api.php",
    "user" => "Snow@Schneewittchen",
    "password" => "uuicqdv9mubfrepbpqu1bvsl5957cpa9",
#  "draftNamespace" => "Draft",
    "pushToDraft" => false,
    "displayText" => "Mein Wiki",
];
</syntaxhighlight>
</syntaxhighlight>
Um die Auswahl verschiedener Transfer-Benutzer zu ermöglichen, wird folgende Syntax verwendet:<syntaxhighlight lang="text">
|desc=Kopiert Wikiseiten in ein Zielwiki.
$wgContentTransferTargets = [ 'privatewikiname' => [
|license=GPL v3
    "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 ===
<span class="nv">$wgContentTransferIgnoreInsecureSSL</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> <span class="c1">// Ignore invalid SSL certificates (for test systems)</span>
<span class="nv">$wgContentTransferPageLimit</span> <span class="o">=</span> <span class="mi">200</span><span class="p">;</span> <span class="c1">// Max number of pages to be allowed at one</span>
<span class="nv">$wgContentTransferOnlyContentNamespaces</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> <span class="c1">// Only allow content namespaces to be selected in filters</span>
<span class="nv">$wgContentTransferAllowTalkNamespaces</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> <span class="c1">// Allow talk namespaces to be selected in filters</span>
 
===Anforderungen===
{{PAGENAME}} benötigt [[Referenz:BlueSpiceFoundation|BlueSpiceFoundation]]. Bereits im Zielwiki existierende Seiten können optional über [[Referenz:MergeArticles|MergeArticles]] zusammengeführt werden.<br />
 
{{Translation}}
{{Translation}}
[[Category:Extension]]

Aktuelle Version vom 29. Oktober 2025, 12:40 Uhr

alle Erweiterungen

Übersicht
Beschreibung:

Ermöglicht das Verschieben von Inhalten von einem Wiki in ein anderes

Status: stable Lizenz: GPL-3.0-only
Entwickler: HalloWelt Distribution: BlueSpice
Kategorie: Qualitätssicherung Edition: BlueSpice farm, BlueSpice cloud +

Funktion

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

Konfiguration

Bei On-Premise BlueSpice farm Installationen ist die Funktion bereits aktiviert.

Zusätzliche Einstellungen

$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

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

Zertifikate

Wenn selbstsignierte Zertifikate verwendet werden (und keine ausgehenden Verbindungen erlaubt sind), muss

$GLOBALS['wgWikiFarmConfig_internalServer'] = 'http://wiki-web:9090';

in data/bluespice/pre-init-settings.php konfiguriert werden.


Übertragungsberechtigungen in Ziel-Namensräumen mit Sonderverrechtung

Bei besonderen Berechtigungskonzepten kann es erforderlich sein, einen Benutzer mit den entsprechenden Transfer-Berechtigungen zu definieren, damit die Übertragung über diesen Benutzer und nicht über den Standardbenutzer ContentTransferBot erfolgt, der möglicherweise keine Schreibberechtigungen für die Ziel-Namensräume besitzt. Der definierte Benutzer kann dann allen benutzerdefinierten Wiki-Gruppen hinzugefügt werden, die über die erforderlichen Namensraumberechtigungen verfügen.

php extensions/BlueSpiceWikiFarm/src/Maintenance/CreateAccessToken.php --sfr=Foo --for-user=WikiSysop

Technische Information[Bearbeiten | Quelltext bearbeiten]

Voraussetzungen[Bearbeiten | Quelltext bearbeiten]

  • MediaWiki: 1.43.0

Integriert in[Bearbeiten | Quelltext bearbeiten]

  • ContentTransfer

Rechte[Bearbeiten | Quelltext bearbeiten]

Name Beschreibung Rollen
content-transfer Übertragen von Inhalten auf andere Wikis admin

Konfiguration[Bearbeiten | Quelltext bearbeiten]

Name Wert
ContentTransferAllowTalkNamespaces false
ContentTransferEnableBetaFeatures false
ContentTransferIgnoreInsecureSSL false
ContentTransferOnlyContentNamespaces false
ContentTransferPageLimit 200
ContentTransferTargets array ( )

API Modules[Bearbeiten | Quelltext bearbeiten]

  • content-transfer-do-push-single
  • content-transfer-get-pages
  • content-transfer-purge-pages
  • content-transfer-push-info

Hooks[Bearbeiten | Quelltext bearbeiten]



PDF-Ausschluss - Start

Feedback zur Dokumentation ist im Community-Forum möglich.

PDF-Ausschluss - Ende