Extension:PushAll

From Linux Web Expert

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
MediaWiki extensions manual
PushAll
Release status: stable
Implementation Page action , Special page , Ajax, API , User interface
Description Allows to push all content from pages, subpages and namespaces to other wikis
Author(s) Karima Rafes (Karima Rafestalk)
Latest version 2.1.0 (2022-12-28)
MediaWiki 1.39, 1.40, 1.41 with 2.1.1 (master)
1.35, 1.36, 1.37 with 2.0.1
PHP 7.4+
Composer bordercloud/pushall
License GNU General Public License 3.0 or later
Download

  • $egPushAllTargets
  • $egPushAllLoginUsers
  • $egPushAllLoginPasswords
  • $egPushAllTargetsNamespace
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Translate the PushAll extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The PushAll extension can push all content (images, modules, templates), subpages and associated namespaces to other wikis. This extension inserts a discrete tab "push" on your pages or you can use the special page 'Push'. A user can see and select exactly the contents to push.

This is a fork of the Push extension but this version has been completely rewritten.

Use case

This extension is very useful when the wiki is private.

When you have finished working in private (ie, in a private wiki), you may want to push your pages (with their modules, templates, files and data pages) in another (public) wiki. This installation inserts a discrete tab "push" on your pages or you can use the special page 'Push'.

Installation

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/PushAll</tvar>|Download]] and move the extracted <tvar name=name>PushAll</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PushAll
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'PushAll' );
    
  • Configure as required.
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

Configuration

In the preferences of users

Targeted wikis

Any users can add a remote wiki directly in their preferences, tab "Targeted wikis".

By default there are no targets, which will cause the push tab to not be shown anywhere until you add at least one target.

You have to declare a targeted wiki with a bot (a botname and a key) created in this remote wiki.

Tab display

When using vector like skins, you can choose to have the push tab displayed on the page itself, or in the action menu you can open by clicking the down arrow next to the visible tabs. For this, an user need to set the option in the preferences to either true or false. The default is false.

Pages attached by their namespaces

Configuration of push is done by adding simple PHP statements to your LocalSettings.php file. These statements need to be placed AFTER the inclusion of PushAll. The options are listed below and their default is set in the [https://github.com/BorderCloud/PushAll/blob/master/extension.json push settings file]. You should NOT modify the settings file, but can have a look at it to get an idea of how to use the settings, in case the below descriptions do not suffice.

You can push in same time other pages attached by their namespaces and the same title. Example:

$egPushAllAttachedNamespaces[] = "Data";
$egPushAllAttachedNamespaces[] = "Discussion";

Details: Install of PushAll extension

See also