Extension:EditWarning

MediaWiki extensions manual
EditWarning
Release status: unmaintained
Implementation Notify
Description Displays a warning if user edits a page/section which is currently being edited.
Author(s) Thomas David (Nemphistalk)
Latest version 0.5 (2017-05-12)
MediaWiki 1.23+
Database changes Yes
License GNU General Public License 2.0 or later
Download

  • $EditWarning_Timeout
  • $EditWarning_OnlyEditor

The EditWarning extension displays a warning if user edits a page/section which is currently being edited.

On pages which are being edited by many users simultaneously, edit conflicts can easily happen. This extension tries to avoid this problem by showing a warning message if the user edits a page that is being edited by other users at the same time. It's very similar to the MoinMoin Wiki warning with the difference that it doesn't lock the page.

It's not recommended to use this extension if anonymous users are allowed to edit pages, because it ignores anonymous page edits.
I've written this extension for a MediaWiki installation I maintained some time ago. Because I don't maintain it anymore, this extension won't receive any further major improvements or features. Even bugfixes may take some time. Please be patient or send me a patch.

InstallationEdit

  • Download and place the file(s) in a directory called EditWarning in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php :
    require_once "$IP/extensions/EditWarning/EditWarning.php";
    
  • Execute the following SQL statements in your database:
CREATE TABLE IF NOT EXISTS editwarning_locks (
  user_id int(10) unsigned NOT NULL,
  user_name varchar(255) NOT NULL,
  article_id int(10) unsigned NOT NULL,
  timestamp int(11) unsigned NOT NULL,
  section int(2) unsigned NOT NULL,
  KEY user_id (user_id),
  KEY article_id (article_id)
) ENGINE=InnoDB;

ALTER TABLE editwarning_locks
  ADD CONSTRAINT editwarning_locks_ibfk_1 FOREIGN KEY (user_id) REFERENCES user (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT editwarning_locks_ibfk_2 FOREIGN KEY (article_id) REFERENCES page (page_id) ON DELETE CASCADE ON UPDATE CASCADE;

ConfigurationEdit

  • The default timeout is set to 10 minutes. If you want to change this setting, add this line to your LocalSettings.php (Note: The value is the number of minutes):
$EditWarning_Timeout = 5;
  • The extension hides everything except the editor area (see screenshots). If you don't like this behavior, add this line to your "LocalSettings.php" file:
$EditWarning_OnlyEditor = "false";

Known issuesEdit

  • The extension can only recognize the cancel of page editing if the user uses the "Cancel" button. Otherwise the warning will be showed until the timeout (default 10 minutes).
  • When a user tries to edit a page that is already edited by another user and she/he sees a blank page or a page with "Fatal error:Call to undefined function:bcdiv()" you have to install the php module "bcmath".

See alsoEdit