Extension:RevisionSlider/yue

Category:GPL licensed extensions/yue
MediaWiki 擴充功能手冊
RevisionSlider
發佈狀態: 穩定Category:Stable extensions/yue
Implementation User interfaceCategory:User interface extensions/yue
描述 Adds a slider interface to the diff view allowing to easily move between revisions
作者 Wikimedia Germany (WMDE)
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.25+Category:Extensions with manual MediaWiki version
Database changes
許可 GNU General Public License 2.0 or later
下載 Category:Extensions in Wikimedia version control/yue
Quarterly downloads 83 (Ranked 48th)
Public wikis using 957 (Ranked 262nd)
若果有喺translatewiki.net提供嘅話翻譯RevisionSlider呢個擴充功能
問題 Open tasks · 報告臭蟲
Category:All extensions/yue

The RevisionSlider extension adds a slider interface to the diff view, so that you can easily move between revisions.

Installation

  • Download and move the extracted RevisionSlider 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/RevisionSlider
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'RevisionSlider' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Usage

When on a diff page, the slider is collapsed by default and only a narrow bar labelled "Browse history" is visible at the top of the page. Click on that bar to expand the RevisionSlider.

Once expanded, the RevisionSlider fetches data about the revisions and allows you to navigate and compare revisions on the diff page.

Each bar represents a page revision.
Bars on the top show growth in size of the page, bars on the bottom show a reduction.

In the image, revision 1 represents added content, while revision 2 represents removal of content.

To select the revisions you want to compare, use the yellow and blue knobs. The blue knob controls the newer revision, the yellow knob maps to the older revision.

There are several ways to do this:
  • You can drag and drop the knob to the desired position on the slider.
  • You can click on the desired position on the slider line.
To select the newer revision, click on the blue line, and for selecting the older revision, click on the yellow line. To indicate which revision you're about to select, a preview of a blue or yellow knob appears and the bar turns blue or yellow.
  • You can click into the bar above the middle line (to select the newer revision) or below the line (to select the older revision). This also gives you a preview of the knob on the middle line.

If you move the blue knob to a position left of the yellow knob, the yellow knob is automatically moved along, and vice versa if you move the yellow knob to a position right of the blue knob.

Use the backward and forward arrows to move through revision history and show older and newer revisions.

Opt-out

If you are not using the RevisionSlider at all and also don't want to see the collapsed RevisionSlider bar at the top of the diff page, you can opt-out by checking "Don't show the revision slider" in your preferences under "外觀" → "差異".

Technical Background

JavaScript Hooks

The RevisionSlider uses AJAX to reload the diff page when new revisions are selected. Once the page has been reloaded both the wikipage.content and wikipage.diff hooks are fired. If user JavaScript or extension JavaScript acts on the diff page you may need to listen to these hooks.

Examples

API calls & fetching data

Unless expanded, the tool is not doing any API calls. Only when the user expands the slider, it fetches data about revisions (revision-id, timestamp, user, comment, size and flags). The tool only fetches data for revisions that are currently visible on the screen (maximum 500 revisions) and data about additional revisions is only loaded when the user navigates back or forth on the timeline using the arrows.

Background

The RevisionSlider[1] is a feature to fulfill one of the top wishes of the German Community wishlist[2] and is developed by WMDE's TCB team. It is inspired by DerHexer's revisionjumper gadget and based on a prototype by the WMF Community Tech team.

Notes (for rather technical audience) on RTL issues discovered while developing the extension have been published on the separate subpage.

References

Category:Extensions used on Wikimedia/yue#RevisionSlider/yue
Category:All extensions/yue Category:DifferenceEngineViewHeader extensions/yue Category:Extensions in Wikimedia version control/yue Category:Extensions included in BlueSpice/yue Category:Extensions included in Canasta/yue Category:Extensions included in Miraheze/yue Category:Extensions included in MyWikis/yue Category:Extensions included in ProWiki/yue Category:Extensions included in WikiForge/yue Category:Extensions used on Wikimedia/yue Category:Extensions with manual MediaWiki version Category:GPL licensed extensions/yue Category:GetPreferences extensions/yue Category:Stable extensions/yue Category:User interface extensions/yue