Extension:Oversight

The Oversight extension adds a user class that allows revisions to be permanently hidden from all users. Note that the revisions can only be restored by a developer.

This extension is a temporary hack until the new revision deletion system is ready to replace the old archive deletion. The revisions are shoved into a parallel table similar to the archive table, but not accessible through any of the normal channels in the wiki. Items can be manually restored from the database if required.

Installation

 * 1) Download the files from Wikimedia Subversion to extensions/Oversight.
 * 2) Add the required table to the database:
 * 3) Add these lines to LocalSettings.php (adjust the user groups as desired):
 * 4) The rights can now be assigned from Special:Userrights.
 * 1) The rights can now be assigned from Special:Userrights.
 * 1) The rights can now be assigned from Special:Userrights.
 * 1) The rights can now be assigned from Special:Userrights.

Use
Users with the Oversight class will have an additional 'hide revision' tab when viewing an old revision, edit difference, or deleted revision. The edit can be hidden from all users by clicking this tab, adding a reason, and confirming. The most recent edit to a page cannot be hidden unless the page is deleted; to hide it, you must first revert or delete the edit.

Note that hiding revisions may create misleading edit differences, since any changes made in hidden revisions will seem to have been made by the next visible edit. In situations where good content is added in hidden revisions, there may be no simple solution. The extension may eventually replace the removed revisions with an explicitly visible marker instead.

Mistakes
If you accidentally deleted a revision, it required DB access to restore it. Find the revision id (hidden_rev_id) you need to restore.

You will need to use an SQL query to get it back in (replace "mw_" with your DB prefix): INSERT INTO mw_revision(rev_page,rev_id,rev_text_id,rev_comment,rev_user,rev_user_text, rev_timestamp,rev_minor_edit,rev_deleted) SELECT hidden_page, hidden_rev_id, hidden_text_id, hidden_comment, hidden_user, hidden_user_text, hidden_timestamp, hidden_minor_edit, hidden_deleted FROM mw_hidden WHERE mw_hidden.hidden_rev_id = '';


 * There is no hidden_rev_len, so rev_len will be NULL when restored, same with rev_parent_id.


 * Ignore rev_deleted if you have an older version of MediaWiki that does not have the column.

After you CONFIRMED that the revision is back, then you can run: DELETE FROM mw_hidden WHERE mw_hidden.hidden_rev_id = '';