Jump to content

Extension:GlobalWatchlist

From mediawiki.org

GlobalWatchlist

2021 Coolest Tool
Award Winner

in the category
Newcomer

MediaWiki extensions manual
GlobalWatchlist
Release status: unmaintained
Implementation Special page
Description Creates a "global" watchlist
Author(s) DannyS712talk
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.36+
  • $wgGlobalWatchlistEnableGuidedTour
  • $wgGlobalWatchlistDevMode
  • $wgGlobalWatchlistSiteLimit
License GNU General Public License 2.0 or later
Download
README
Translate the GlobalWatchlist extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The GlobalWatchlist extension allows a user to view changes to watched pages on multiple sites at once.

Installation

[edit]
  • Download and move the extracted GlobalWatchlist folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalWatchlist
    
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'GlobalWatchlist' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration

[edit]
The extension has the following configuration options
Variable name Default value Description
$wgGlobalWatchlistWikibaseSite false The site that should be treated as a Wikibase Repository and should have labels fetched for items that are changed. If false, the extra handling for Wikibase items is not applied.
$wgGlobalWatchlistUseVue false Whether to use the experimental Vue.js version of the display
$wgGlobalWatchlistDevMode false Whether to send debug log entries to the console
$wgGlobalWatchlistEnableGuidedTour false Whether to enable the GuidedTour for the settings page, if the GuidedTour extension is installed
$wgGlobalWatchlistSiteLimit 5 The maximum number of sites that a user can save to their watchlist. Set to 0 to disable the limit.

Using

[edit]

To view the global watchlist, visit Special:GlobalWatchlist on the wiki where the extension is installed. By default, only the local wiki's changes are shown, but by changing the configuration at Special:GlobalWatchlistSettings the user can choose other sites to show, up to the maximum if configured.

Warning Warning: It is recommended to use this in conjunction with CentralAuth and to choose other sites that the user has an attached account on; this extension is not tested with any other setup.

JavaScript hook: ext.globalwatchlist.rebuild

[edit]

The GlobalWatchlist interface exposes a client-side hook named ext.globalwatchlist.rebuild that is fired after every rebuild of the watchlist display, both after a full browser page load and after internal refreshes triggered by the feature itself. This hook can be used by gadgets and user scripts or other extensions to run custom JavaScript whenever the global watchlist view is redrawn.

The hook callback receives a single object parameter with the following fields:

  • root – The root DOM element of the GlobalWatchlist interface that has just been rebuilt.
  • inLive – Boolean flag indicating whether the interface is currently in “live updates” mode.
  • fastMode – Boolean flag indicating whether the interface is in “fast load” mode.
  • timestamp – A timestamp string representing the moment of the data snapshot for which this rebuild is valid.

A typical usage pattern looks like:

mw.hook( 'ext.globalwatchlist.rebuild' ).add( function ( data ) {
    // data.root is the rebuilt container element
    // data.inLive indicates live updates mode
    // data.fastMode indicates fast load mode
    // data.timestamp is the data timestamp for this view
    // Custom logic can be added here, for example:
    // $( data.root ).addClass( 'my-globalwatchlist-enhancement' );
} );

Integration with other extensions

[edit]
  • When CentralAuth is installed, only wikis where the user has an attached account are allowed in their global watchlist
  • When some of the sites included in the global watchlist have the Wikibase Repository extension installed, labels for items and properties can be fetched and displayed. If WikibaseLexeme is installed labels for lexemes are retrieved too.
  • When GuidedTour is installed, and $wgGlobalWatchlistEnableGuidedTour is enabled, a tour is available at Special:GlobalWatchlistSettings the first time you visit the page


See also

[edit]