Difference between revisions of "Reference:ContentTransfer"
(Tag: Visual edit) |
(Tag: Visual edit) |
Extension: ContentTransfer
Overview | |||
---|---|---|---|
Description: | Copies new or existing wiki pages into a different wiki. (v3.2 and up) | ||
State: | stable | Dependency: | BlueSpice |
Developer: | HalloWelt | License: | GPL v3 |
Type: | Category: | Quality Assurance | |
Edition: | BlueSpice Farm (deactivated) | ||
Features[edit source]
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.
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[edit | edit source]
Important! 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');
Configuration[edit | edit source]
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 /opt/mediawiki/w/_sf_instances/
.
<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 /opt/mediawiki/w/_sf_instances/
. It can be extracted from the url of the wiki instance.
<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
<bot-username-provided>
A user name in the form of <username>@<id>
. Has
The bot user has to be generated from Special:BotPasswords
. The bot user has to be created 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
<bot-password-provided>
The password is created in the wiki and needs to be used in the settings below.
With all this info, open /opt/mediawiki/w/_sf_instances/<source-instance-name>/LocalSettings.custom.php
.
Add the following info:
$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>", ];
If ContentTransfer is used without the extension MergeArticles, the information about drafts has to be deactivated in the settings block:
# "draftNamespace" => "Draft", "pushToDraft" => false,
Example:
$wgContentTransferTargets['MeinWiki'] = [ "url" => "http://172.16.200.23/MeinWikiName/api.php", "user" => "Snow@Schneewittchen", "password" => "uuicqdv9mubfrepbpqu1bvsl5957cpa9", # "draftNamespace" => "Draft", "pushToDraft" => false, "displayText" => "Mein Wiki", ];
Additional settings:
$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[edit | edit source]
ContentTransfer requires BlueSpiceFoundation. Pages that already exist in the target wiki, can be merged using the extension MergeArticles.
{{BSExtensionInfobox |desc=Copies new or existing wiki pages into a different wiki. (v3.2 and up) |status=stable |developer=HalloWelt |type=BlueSpice |edition=BlueSpice Farm (deactivated) |active=No |compatible=BlueSpice |category=Quality Assurance |license=GPL v3 }} 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. 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== {{Box Note|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-name>'''<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|alt=Bot user settings|thumb|Bot user settings]] 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>. Has 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> . The bot user has to be created '''in the target wiki'''. 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-name><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", ]; 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]]
Line 14: | Line 14: | ||
Depending on the settings selected on the ContentTransfer special page, the following files are copied: | Depending on the settings selected on the ContentTransfer special page, the following files are copied: | ||
− | * the selected wiki pages | + | *the selected wiki pages |
− | * the related category pages | + | *the related category pages |
− | * the book page associated with wiki pages | + | *the book page associated with wiki pages |
− | * the templates associated with wiki pages | + | *the templates associated with wiki pages |
− | * attached files | + | *attached files |
==Technical information== | ==Technical information== | ||
Line 26: | Line 26: | ||
wfLoadExtension ('ContentTransfer');}} | wfLoadExtension ('ContentTransfer');}} | ||
− | === <span class="mw-headline" id="Konfiguration" style="box-sizing: inherit;">Configuration</span> === | + | ===<span class="mw-headline" id="Konfiguration" style="box-sizing: inherit;">Configuration</span>=== |
The following information is necessary to transfer content between two wiki instances: | The following information is necessary to transfer content between two wiki instances: | ||
Line 32: | Line 32: | ||
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> . | 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>''' | '''<target-instance-name>''' | ||
Line 46: | Line 50: | ||
'''<<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>''' | '''<<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|alt=Bot user settings|thumb|Bot user settings]] | ||
+ | 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>''' | '''<<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>''' | ||
Line 56: | Line 69: | ||
Add the following info: | 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-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="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;">"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;">"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> | ||
Line 82: | Line 95: | ||
<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="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> === | + | ===<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]]. | 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]] | [[Category:Extension]] |