Reference:ContentTransfer

You do not have permission to edit this page, for the following reason:

The action you have requested is limited to users in one of the groups: Users, Administrators, reviewer, ES_editors, Blog_editors, editor.

You can view and copy the source of this page.

Return to Reference:ContentTransfer.

{{BSExtensionInfobox

|removed=No

|desc=Copies new or existing wiki pages into a different wiki. (v3.2 and up)

|status=stable

|developer=HalloWelt

|type=BlueSpice

|edition=BlueSpice farm

|compatible=BlueSpice

|category=Administration

|license=GPL v3

|features=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

=== <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>'''

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}}

=== 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;">Requirements</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]].

===Certificates===

If self-signed certificates are being used (and if no outbound connections are allowed) one must set

<syntaxhighlight lang="text">

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

</syntaxhighlight>

in <code>data/bluespice/pre-init-settings.php</code>.

=== Permissions ===

To transfer pages from a source to other target wikis, users need the permission ''content-transfer''. By default, it is contained in the ''admin'' role.

[[Category:Extension]]

}}

{{wcagCheck

|wcagStatus=2-testing complete

|wcagCheckedfor=Authoring tool

|wcagTestdate=2022-08-10

|wcagLevel=AA

|wcagSupport=partially supports

|wcagWorkaround=No

|wcagComments=Small keyboard issue: Transfer button is difficult to focus. Could use shortcut like VE Save button (Shift+alt+S)

Screenreader accessibility: multiple issues

[[erm:29524]]

|extensionType=extended

|extensionFocus=organizer

}}