ContentTransfer

Extension: ContentTransfer

all extensions

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: BlueSpice Category: Quality Assurance
Edition: BlueSpice Farm (deactivated) Version: 4.1+


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

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

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

The bot user has to be generated from Special:BotPasswords 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",
];
Note: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:

$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
] ];

The result is a selection of user accounts for executing the transfer:

Multiple transfer users
Multiple transfer users

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

ContentTransfer requires BlueSpiceFoundation. Pages that already exist in the target wiki, can be merged using the extension MergeArticles.

Discussions