Reference:ContentTransfer and SocialEntity:190: Difference between pages

(Difference between pages)
No edit summary
Tag: 2017 source edit
 
No edit summary
Tag: 2017 source edit
 
Line 1: Line 1:
{{BSExtensionInfobox
{
|desc=Copies new or existing wiki pages into a different wiki. (v3.2 and up)
    "wikipageid": 630,
|status=stable
    "namespace": 0,
|developer=HalloWelt
    "titletext": "Reference:ContentTransfer",
|type=BlueSpice
    "description": "",
|edition=BlueSpice Farm (deactivated)
    "parentid": 0,
|compatible=BlueSpice
    "id": 190,
|category=Quality Assurance
    "ownerid": 6,
|license=GPL v3
    "type": "wikipage",
|active=No
    "archived": false,
}}
     "tags": [
Users with the appropriate authorization can copy up to 200 pages per transfer from a wiki to the same namespace of a target wiki. This extension usually requires BlueSpice Farm.
         "Reference:ContentTransfer"
 
Depending on the settings selected on the ContentTransfer special page, the following files are copied:
 
*the selected wiki pages
*the related category pages
*the book page associated with wiki pages
*the templates associated with wiki pages
*attached files
 
==Technical information==
{{Messagebox|boxtype=important|Note text=The extension is deactivated by default and must first be activated in 060-ContentTransfer under settings.d - or in the LocalSettings.custom.php in the installation folder (not just in a single farm instance):
 
 
wfLoadExtension ('ContentTransfer');}}
 
===<span class="mw-headline" id="Konfiguration" style="box-sizing: inherit;">Configuration</span>===
The following information is necessary to transfer content between two wiki instances:
 
'''<source-instance-name>'''
 
Name of the source wiki. This is the directory name from <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);">/opt/mediawiki/w/_sf_instances/</code> .
 
'''<target-instance-descriptive-name>'''
 
Descriptive name of the target wiki. This is usually the same as <target-instance-name>, but can be chosen freely to better describe the instance. Does not allow spaces.
 
'''<target-instance-name>'''
 
Name of the target wiki. This is the directory name from <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);">/opt/mediawiki/w/_sf_instances/</code> <span>. It can be extracted from the url of the wiki instance.</span>
 
'''<target-instance-label>'''
 
The display name for the target wiki. It can contain empty spaces. This information is optional and can be commented out.
 
'''<servername>'''
 
Server-url
 
'''<<span class="mw-lingo-term" data-lingo-term-id="fabcaa97871555b68aa095335975e613" data-hasqtip="2" style="box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;">bot</span>-username-provided>'''
[[File:Reference:contentTransfer-bot-settings.png|thumb|Bot user settings|link=Special:FilePath/Reference:contentTransfer-bot-settings.png]]
A user name in the form of  <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);"><username>@<id></code>.
 
The bot user has to be generated from <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);">Special:BotPasswords</code>  in the target wiki. After you click "Create", a page for selecting the bot rights is shown. Activate the following settings:
 
*High-volume editing
*Edit existing pages
*Edit protected pages
*Create, edit and move pages,
*Upload new files
*Upload, replace and move files
 
'''<<span class="mw-lingo-term" data-lingo-term-id="fabcaa97871555b68aa095335975e613" data-hasqtip="3" style="box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;">bot</span>-password-provided>'''
 
The password is created in the wiki and needs to be used in the settings below.
 
With all this info, open <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);">/opt/mediawiki/w/_sf_instances/<source-instance-name>/LocalSettings.custom.php</code> .
 
Add the following info:
<span class="nv" style="box-sizing: inherit;">$wgContentTransferTargets</span><span class="p" style="box-sizing: inherit;">[</span><span class="s1" style="box-sizing: inherit;">'<target-instance-descriptive-name>'</span><span class="p" style="box-sizing: inherit;">]</span> <span class="o" style="box-sizing: inherit;">=</span> <span class="p" style="box-sizing: inherit;">[</span>
    <span class="s2" style="box-sizing: inherit;">"url"</span> <span class="o" style="box-sizing: inherit;">=></span> <span class="s2" style="box-sizing: inherit;">"<span class="mw-lingo-term" data-lingo-term-id="5e056c500a1c4b6a7110b50d807bade5" data-hasqtip="4" style="box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;">https</span>://<servername>/<target-instance-name>/api.php"</span><span class="p" style="box-sizing: inherit;">,</span>
    <span class="s2" style="box-sizing: inherit;">"user"</span> <span class="o" style="box-sizing: inherit;">=></span> <span class="s2" style="box-sizing: inherit;">"<<span class="mw-lingo-term" data-lingo-term-id="fabcaa97871555b68aa095335975e613" data-hasqtip="5" style="box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;">bot</span>-username-provided>"</span><span class="p" style="box-sizing: inherit;">,</span>
    <span class="s2" style="box-sizing: inherit;">"password"</span> <span class="o" style="box-sizing: inherit;">=></span> <span class="s2" style="box-sizing: inherit;">"<<span class="mw-lingo-term" data-lingo-term-id="fabcaa97871555b68aa095335975e613" data-hasqtip="6" style="box-sizing: inherit; border-bottom: 1px dotted rgb(187, 187, 255); cursor: default;">bot</span>-password-provided>"</span><span class="p" style="box-sizing: inherit;">,</span>
    <span class="s2" style="box-sizing: inherit;">"draftNamespace"</span> <span class="o" style="box-sizing: inherit;">=></span> <span class="s2" style="box-sizing: inherit;">"Draft"</span><span class="p" style="box-sizing: inherit;">,</span>
    <span class="s2" style="box-sizing: inherit;">"pushToDraft"</span> <span class="o" style="box-sizing: inherit;">=></span> <span class="k" style="box-sizing: inherit;">true</span><span class="p" style="box-sizing: inherit;">,</span>
    <span class="s2" style="box-sizing: inherit;">"displayText"</span> <span class="o" style="box-sizing: inherit;">=></span> <span class="s2" style="box-sizing: inherit;">"<target-instance-label>"</span><span class="p" style="box-sizing: inherit;">,</span>
<span class="p" style="box-sizing: inherit;">];</span>
If ContentTransfer is used without the extension [[:de:Referenz:MergeArticles|MergeArticles]], the information about drafts has to be deactivated in the settings block:
# "draftNamespace" => "Draft",
"pushToDraft" => false,
Example:
$wgContentTransferTargets['MeinWiki'] = [
    "url" => "<nowiki>http://172.16.200.23/MeinWikiName/api.php</nowiki>",
    "user" => "Snow@Schneewittchen",
    "password" => "uuicqdv9mubfrepbpqu1bvsl5957cpa9",
  #  "draftNamespace" => "Draft",
    "pushToDraft" => false,
    "displayText" => "Mein Wiki",
];
{{Messagebox|boxtype=note|Note text=To conclude the confguration, you need to run update.php}}
 
 
To provide a selection of possible users who can transfer pages, the following syntax is required:<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)
     "resolved": false
    "pushToDraft" => true // Whether to push to draft. If false will push directly to target pages
}
] ];
</syntaxhighlight>The result is a selection of user accounts for executing the transfer:
[[File:Reference:contenttransfer-multipleusers.png|alt=Multiple transfer users|center|thumb|350x350px|Multiple transfer users]]
 
=== Additional settings: ===
<span class="nv" style="box-sizing: inherit;">$wgContentTransferIgnoreInsecureSSL</span> <span class="o" style="box-sizing: inherit;">=</span> <span class="k" style="box-sizing: inherit;">false</span><span class="p" style="box-sizing: inherit;">;</span> <span class="c1" style="box-sizing: inherit;">// Ignore invalid SSL certificates (for test systems)</span>
<span class="nv" style="box-sizing: inherit;">$wgContentTransferPageLimit</span> <span class="o" style="box-sizing: inherit;">=</span> <span class="mi" style="box-sizing: inherit;">200</span><span class="p" style="box-sizing: inherit;">;</span> <span class="c1" style="box-sizing: inherit;">// Max number of pages to be allowed at one</span>
<span class="nv" style="box-sizing: inherit;">$wgContentTransferOnlyContentNamespaces</span> <span class="o" style="box-sizing: inherit;">=</span> <span class="k" style="box-sizing: inherit;">true</span><span class="p" style="box-sizing: inherit;">;</span> <span class="c1" style="box-sizing: inherit;">// Only allow content namespaces to be selected in filters</span>
<span class="nv" style="box-sizing: inherit;">$wgContentTransferAllowTalkNamespaces</span> <span class="o" style="box-sizing: inherit;">=</span> <span class="k" style="box-sizing: inherit;">false</span><span class="p" style="box-sizing: inherit;">;</span> <span class="c1" style="box-sizing: inherit;">// Allow talk namespaces to be selected in filters</span>
 
===<span class="mw-headline" id="Anforderungen" style="box-sizing: inherit;">Anforderungen</span>===
ContentTransfer requires [[:de:Referenz:BlueSpiceFoundation|BlueSpiceFoundation]]. Pages that already exist in the target wiki, can be merged using the extension [[:de:Referenz:MergeArticles|MergeArticles]].
[[Category:Extension]]

Latest revision as of 13:28, 19 January 2022

No categories assignedEdit

Discussions