SelectiveDelete

File:Info information icon.pngNote:This article is about a fictional user ability that does not exist anywhere on the Fandom network and probably not on any site that is built on the MediaWiki software. It is just an article about a fictional user ability that C.Syde65 created for interest.

**SelectiveDelete** (previously known as **MultipleRevisionDelete** or **MultiRevisionDelete**) is a fictional user ability that allows users with the ability to delete pages to selectively delete revisions from the page history. It is basically the same as deleting a page and then undeleting the selective revisions. Except that the article doesn't show up as deleted during the process.

## Inspiration

Even though such an ability does not exist anywhere on Fandom, or indeed on any site to my knowledge, it has remained to be the one nonexistent feature that I have always wanted to be existent. Ever since I discovered that Administrators were unable to delete selective revisions. They could only undelete selective revisions.

 File:Selective Delete.png
Ever since Administrators lost the ability to undelete CSS and JavaScript pages, and messages with the Custom-٭, Editnotice-٭, Gadget-٭, Gadgets-٭, and Tag-٭ prefixes in August 2015, my desire for such an ability to delete selective revisions grew stronger.

This is because I often liked to keep a tidy CSS page history where only the revisions that were necessary to keep track of were left on the surface. So I basically felt defeated, knowing that I would not be able to delete the revisions that were unnecessary, as I would have to delete all the revisions that I didn't want to delete as well.

I actually once requested the already existent `(deleterevision)` permission in October 2017 for Administrators on this very wiki, under the impression that the purpose of the tool was to delete and undelete individual revisions so that users without the `(deletedhistory)` and `(deletedtext)` permissions couldn't view them once deleted, and users without the `(deletedhistory)`, `(undelete)`, and `(deleterevision)` permissions couldn't undelete them. I was under the impression that it was a combination of `(delete)` and `(undelete)` that only focussed on one revision at a time.

My request was turned down saying that the ability was related to Manual:RevisionDelete, which was intentionally only used to deal with major legal and TOU concerns. And since Staff wanted to keep its use limited, it wasn't something that they typically granted to communities on request. Had I understood what the tool actually did, I would no doubt have refrained from requesting it.

## User Groups intended to have the ability

As I mentioned above, there are no usergroups on Fandom that have an ability exactly like SelectiveDelete. But if the ability actually existed on Fandom, I would imagine that Administrators would be the only local usergroup that would be permitted to have that ability. In fact I can't even Administrators having the ability at all by default. However I can imagine that it could be granted to Administrators on request.

 File:Delete.png
Since SelectiveDelete could be abused very easily, I can't really imagine communities being granted the ability unless they had a good reason for it. Similar to Bureaucrats being granted the ability to flag accounts as Bots, it's not an ability that I can see Fandom Staff typically granting to communities just because they request to have it. I can only imagine it being granted on larger communities where constant vandalism occurs.

In some cases, it may be that Staff would instead grant SelectiveDelete to Bureaucrats on request, rather than Administrators. Since it would be a tool that could be abused very easily, it is likely that Staff would only entrust Bureaucrats with the ability, or else add a custom usergroup to the said wiki with that permission, and only granting it to a couple of the users on the wiki that had Administrator or Bureaucrat rights.

The global usergroups I imagined it being granted to were Fandom Staff, Wiki Representatives, Wiki Specialists, and Fandom Helpers. The only reason I didn't imagine it being granted to Spam Obliteration and Prevention members is because they already had the RevisionDelete permission. Though this imagining of mine backfired when the RevisionDelete permission was transferred from Fandom Utilities to Fandom Staff, Wiki Managers, and Fandom Helpers.

## When should SelectiveDelete be used?

SelectiveDelete should be used to remove revisions that contain information that is too sensitive for non-administrators to stumble across. It should also be used to remove revisions where a vandal has inserted offensive language, usually language that would violate Fandom's terms of use.

It would also be encouraged for an Administrators to delete revisions from page histories in situations that would normally be handled through deleting a page and then immediately undeleting the selective revisions. Well SelectiveDelete would allow Administrators to delete the bad revisions, rather than delete the page and then undelete the good revisions.

## When should SelectiveDelete not be used?

SelectiveDelete should not be used by Administrators to settle editing disputes; for example, remove revisions from histories made by a specific editor, in order to settle an editing dispute that isn't vandalism. It isn't something that should be used to settle simple disagreements between users that are acting in good faith.

SelectiveDelete should really only be used to delete revisions that are obvious vandalism, and even then it shouldn't normally be used unless an Administrator has a very good reason, such as deleting revisions from the page history containing information - personal or otherwise - that is too sensitive for non-administrators to stumble across.

## Similarities and Differences to Special:Undelete

SelectiveDelete would bear many similarities to **Special:Undelete**, except that it would do the exact opposite of what Special:Undelete did. Undelete allows users to undelete entire page histories or undelete selective revisions of pages that have been deleted. Whereas SelectiveDelete would serve as an extension to the ability to delete pages. In addition to deleting entire page histories, users with the ability would also be able to delete selective revisions of pages.

 File:Undelete.png
When a user deletes a page and undeletes a selection of revisions of that page, the number of revisions undeleted is automatically added to the page summary, so that the undelete page summary looks like this:

* 08:20, 16 November 2015 **C.Syde65** (talk | contribs | block) undeleted page User talk:C.Syde65 (1 revision undeleted: Undeleting good faith edit.)

When a user uses SelectiveDelete to delete a selection of revisions from that page, the number of revisions deleted would automatically added to the page summary, so that the delete page summary would look like this:

* 04:39, 25 June 2015 **C.Syde65** (talk | contribs | block) deleted page User talk:C.Syde65 (36 revisions deleted: Deleting specific revisions.) (view/undelete)

Unlike Special:Undelete which has its own special page, SelectiveDelete would appear whenever a user hit the delete button in the page's dropdown menu, adding ?action=delete to the URL, but only for users that would have the permission to delete a selection of revisions from the page's history. Otherwise they would just see the delete page normally, without the extra options added with SelectiveDelete. In other words, SelectiveDelete would be built on the same parts of the MediaWiki software as Delete.

Similar to Special:Undelete, SelectiveDelete cannot be performed if it will result in the current revision of a page or file being partially deleted. In such cases, a user will need to check or unhide the newest deleted revision using RevisionDelete, before they can selectively delete all newer revisions of the page.

## Similarities and Differences to Special:RevisionDelete

**Script error: No such module "Hatnote".**

Deleterevision
There actually happens to be an extension that is already a feature of the MediaWiki software that runs Wikipedia and Fandom, although there are several differences between it and the fictional SelectiveDelete feature. **RevisionDelete** (also known as **RevDel** or **RevDelete**) is an active extension that can be found on wikis in general. However only Fandom Staff, Wiki Representatives, Wiki Specialists, Fandom Helpers, Spam Obliteration and Prevention members, and Suppressors on Fandom are able to use it. Fandom Utilities were also able to use it, prior to the wiki's migration to the Unified Community Platform. Wiki Managers and Volunteer Spam Task Force members were also able to use it, prior to the usergroup's respective retirements. Despite the similarities of their names, SelectiveDelete and RevisionDelete would be unrelated to one another.

 File:Revision Delete.png
All users without the `(deleterevision)` permission will get a permissions error saying that only Fandom Staff, Wiki Representatives, Wiki Specialists, Fandom Helpers, Spam Obliteration and Prevention members, and Suppressors have access to the page. SelectiveDelete would be similar to RevisionDelete in some ways. Both abilities would allow users to delete revisions in some form. However SelectiveDelete would be designed to allow users to delete selective revisions from the page history to save the trouble of deleting an entire page and then undelete selective revisions. RevisionDelete can focus on more than one revision at a time, but it can't be used to hide the current revision.

SelectiveDelete would only work as an extension to `(delete)` to allow users to select revisions to delete and do the exact opposite of what `(undelete)` does. Because it would only be intended for administrative usergroups that already have the `(delete)` and `(undelete)` permissions, it would not come with any abilities that can undelete pages or revisions. Since the intention was to add to the `(delete)` permission to make it as advanced as `(undelete)`.

 File:Revision Delete in Page History.png
RevisionDelete on the other hand has its own special page, unlike SelectiveDelete which would serve as an extension to `(delete)`. It is used to show and hide the contents of specific revisions, the edit summaries of the revisions, the names of the users/IP addresses that made the edits, or any combination of those three. Once a revision is hidden, users without the `(deletedhistory)` and `(deletedtext)` permissions cannot view them, and users without the `(deleterevision)` permission cannot undelete them.

SelectiveDelete would not be able to be used to hide the contents of specific revisions, the edit summaries of the revisions, or the names of the users/IP addresses that made the edits from users without `(selectivedelete)`. It can only be used to delete selective revisions from pages so users without the `(deletedhistory)` and `(deletedtext)` permissions cannot view them, and users without the `(deletedhistory)` and `(undelete)` permissions cannot undelete them.

The checkboxes that would come with the SelectiveDelete permission would appear whenever a user hit the delete button in the page's dropdown menu, adding ?action=delete to the URL, but only for users that would have the permission to delete a selection of revisions from the page's history. Otherwise they would just see the delete page normally, without the extra options added with SelectiveDelete.

Whereas with RevisionDelete, the checkboxes appear whenever a user hits the history button in the page's dropdown menu, but only for users that have the permission to show and hide the contents of specific revisions, the edit summaries of the revisions, the names of the users/IP addresses that made the edits, or any combination of those three.

SelectiveDelete would not be able to delete a selection of revisions from pages with large histories. So in order for it to be used to delete selective revisions from pages with large histories, the user would need to have the `(bigdelete)` permission. RevisionDelete is completely separate from the page deletion system, and does not require the `(bigdelete)` permission to hide revisions from pages with large histories.

A problem with SelectiveDelete would be there being no way to prevent prior edits appearing as another user's edit, since SelectiveDelete cannot be used to partially delete revisions, as it deletes entire revisions, moving them from the revision table to the archive table.

RevisionDelete does not cause prior edits to appear as another user's edit, so attribution and history may be less affected. Therefore, SelectiveDelete shouldn't be used to delete revisions that have added any constructive material that wasn't immediately changed or removed in later edits. If this is the case, then RevisionDelete should be used instead of SelectiveDelete.

Another issue with SelectiveDelete would be non-administrators being unable to see which revisions were deleted, since the SelectiveDelete summary is just an altered version of the Undelete summary, saying the number of the revisions that were deleted, but not saying which revisions of that number were deleted.

While RevisionDelete doesn't say which revisions were hidden, it doesn't move the deleted revisions from the revision table to the archive table, so non-administrators would still be able to see which revisions were deleted.

Deletelogentry
There is another part of the RevisionDelete extension, although only Fandom Staff, Wiki Representatives, Wiki Specialists, Fandom Helpers, and Suppressors on Fandom are able to use it. Fandom Utilities and Spam Obliteration and Prevention members were also able to use it via the `(deleterevision)` permission, prior to the wiki's migration to the Unified Community Platform. Wiki Managers were also able to use it, prior to the usergroup's retirement. Volunteer Spam Task Force members were also able to use it via the `(deleterevision)` permission, prior to the usergroup's retirement.

 File:Revision Delete and Log Delete.png
**Deletelogentry** allows users with the `(deleterevision)` permission to show and hide the contents of specific log entries, the edit summaries of the log entries, the names of the users/IP addresses that made the log entries, or any combination of those three. Once a log entry is deleted, users without the `(deletedhistory)` and `(deletedtext)` permissions cannot view them, and users without the `(deleterevision)` and `(deletelogentry)` permissions cannot undelete them.

SelectiveDelete would be similar to Deletelogentry in some ways. Both abilities would allow users to perform a deletion of some kind. However SelectiveDelete would be designed to allow users to delete selective revisions from the page history to save the trouble of deleting an entire page and then undelete selective revisions.

SelectiveDelete would only work as an extension to `(delete)` to allow users to select revisions to delete and do the exact opposite of what `(undelete)` does. Because it would only be intended for administrative usergroups that already have the `(delete)` and `(undelete)` permissions, it would not come with any abilities that can undelete pages or revisions. Since the intention was to add to the `(delete)` permission to make it as advanced as `(undelete)`.

Deletelogentry on the other hand only works as an extension to `(deleterevision)`, unlike SelectiveDelete which would serve as an extension to `(delete)`. RevisionDelete only crosses out the contents of specific revisions, the edit summaries of the revisions, the names of the users/IP addresses that made the edits, or any combination of those three. Once a revision is crossed out, users without the `(deletedhistory)` and `(deletedtext)` permissions cannot view them, and users without the `(deleterevision)` permission cannot undelete them.

SelectiveDelete can delete selective revisions from the page history so that they don't show up in the page history, unlike RevisionDelete which prevents the contents of the revisions from being seen, but doesn't actually remove them from the page history. Deletelogentry does the same thing, except that unlike RevisionDelete which is used to show and hide the contents of specific revisions, it is used to show and hide the contents of specific log entries.

Deletelogentry doesn't have any restrictions on what log entries it can hide. Whereas RevisionDelete can't be used to hide the current revision of a page. SelectiveDelete also doesn't have any restrictions on what revisions it can delete, as long as it doesn't result in the current revision being partially hidden, and the user has the ability to delete the page which generally requires the ability to edit the page, the ability to delete pages with large histories.

SelectiveDelete would not be able to be used to hide the contents of specific revisions, the edit summaries of the revisions, or the names of the users/IP addresses that made the edits from users without `(selectivedelete)`. It can only be used to delete selective revisions from pages so users without the `(deletedhistory)` and `(deletedtext)` permissions cannot view them, and users without the `(deletedhistory)` and `(undelete)` permissions cannot undelete them.

The checkboxes that would come with the SelectiveDelete permission would appear whenever a user hit the delete button in the page's dropdown menu, adding ?action=delete to the URL, but only for users that would have the permission to delete a selection of revisions from the page's history. Otherwise they would just see the delete page normally, without the extra options added with SelectiveDelete.

Whereas with Deletelogentry, the checkboxes appear whenever a user views the log entries of a certain page or log, but only for users that have the permission to show and hide the contents of specific log entries, the edit summaries of the log entries, the names of the users/IP addresses that made the log entries, or any combination of those three.

SelectiveDelete would not be able to delete a selection of revisions from pages with large histories. So in order for it to be used to delete selective revisions from pages with large histories, the user would need to have the `(bigdelete)` permission. Deletelogentry is completely separate from the page deletion system, and only requires the `(deleterevision)` permission to hide revisions from pages with large histories.

A problem with SelectiveDelete would be there being no way to prevent prior edits appearing as another user's edit, since SelectiveDelete cannot be used to partially delete revisions, as it deletes entire revisions, moving them from the revision table to the archive table.

RevisionDelete does not cause prior edits to appear as another user's edit, so attribution and history may be less affected. Therefore, SelectiveDelete shouldn't be used to delete revisions that have added any constructive material that wasn't immediately changed or removed in later edits. If this is the case, then RevisionDelete should be used instead of SelectiveDelete.

Another issue with SelectiveDelete would be non-administrators being unable to see which revisions were deleted, since the SelectiveDelete summary is just an altered version of the Undelete summary, saying the number of the revisions that were deleted, but not saying which revisions of that number were deleted.

While RevisionDelete doesn't say which revisions were hidden, it doesn't move the deleted revisions from the revision table to the archive table, so non-administrators would still be able to see which revisions were deleted.

*This section is in need of additional information. You can help C.Syde's Test Wiki by expanding this section.*
Suppressrevision
There is third part of the RevisionDelete extension, although only Fandom Staff, Fandom Helpers, and Suppressors are able to able to use it. Fandom Utilities were also able to use it, prior to the wiki's migration to the Unified Community Platform. **Suppressrevision** allows users with the `(deleterevision)` permission to suppress the data of specific revisions, the edit summaries of the revisions, the names of the users/IP addresses that made the edits, or any combination of those three. Once a revision is suppressed, users without the `(deletedhistory)`, `(deletedtext)`, and `(suppressrevision)` permissions cannot view them, and users without the `(deleterevision)` and `(suppressrevision)` permissions cannot undelete them.

It also allows users with the `(deleterevision)` and `(deletelogentry)` permissions to suppress the data of specific log entries, the edit summaries of the log entries, the names of the users/IP addresses that made the log entries, or any combination of those three. Once a log entry is suppressed, users without the `(deletedhistory)`, `(deletedtext)`, and `(suppressrevision)` permissions cannot view them, and users without the `(deleterevision)`, `(deletelogentry)`, and `(suppressrevision)` permissions cannot undelete them.

SelectiveDelete would be similar to Suppressrevision in some ways. Both abilities would allow users to delete revisions in some form. However SelectiveDelete would be designed to allow users to delete selective revisions from the page history to save the trouble of deleting a page and then undelete the selective revisions. Suppressrevision can focus on more than one revision at a time, but it can't be used to suppress the current revision.

 File:Revision Delete and Suppress Revision.png
SelectiveDelete would only work as an extension to `(delete)` to allow users to select revisions to delete and do the exact opposite of what `(undelete)` does. Because it would only be intended for administrative usergroups that already have the `(delete)` and `(undelete)` permissions, it would not come with any abilities that can undelete pages or revisions. Since the intention was to add to the `(delete)` permission to make it as advanced as `(undelete)`.

Suppressrevision on the other hand only works as an extension to `(deleterevision)`, unlike SelectiveDelete which would serve as an extension to `(delete)`. RevisionDelete only crosses out the contents of specific revisions, the edit summaries of the revisions, the names of the users/IP addresses that made the edits, or any combination of those three. Once a revision is crossed out, users without the `(deletedhistory)` and `(deletedtext)` permissions cannot view them, and users without the `(deleterevision)` permission cannot undelete them.

SelectiveDelete can delete selective revisions from the page history so that they don't show up in the page history, unlike RevisionDelete which prevents the contents of the revisions from being seen, but doesn't actually remove them from the page history. Suppressrevision does the same thing, but it crosses out the contents of specific revisions, the edit summaries of the revisions, the names of the users/IP addresses that made the edits, or any combination of those three, so that users without the `(deleterevision)` and `(suppressrevision)` permissions cannot undelete them.

SelectiveDelete only deletes individual or multiple revisions from pages so users without the `(deletedhistory)` and `(deletedtext)` permissions cannot view them, and users without the `(deletedhistory)` and `(undelete)` permissions cannot undelete them. Suppressrevision on the other hand can suppress data from all users that don't have the `(suppressrevision)` permission, so that they can't see the data, let alone undelete it. Even users that have the `(deletedhistory)` and `(deletedtext)` permissions but don't have the `(suppressrevision)` permission cannot see information that has been removed with the `(suppressrevision)` permission. While users that have the `(deleterevision)` permission but not the `(suppressrevision)` permission cannot undelete information that has been removed with the `(suppressrevision)` permission.

SelectiveDelete would not be able to delete a selection of revisions from pages with large histories. So in order for it to be used to delete selective revisions from pages with large histories, the user would need to have the `(bigdelete)` permission. Suppressrevision is completely separate from the page deletion system, and does not require the `(bigdelete)` permission to suppress data from pages with large histories.

A problem with SelectiveDelete would be there being no way to prevent prior edits appearing as another user's edit, since SelectiveDelete cannot be used to partially delete revisions, as it deletes entire revisions, moving them from the revision table to the archive table. Suppressrevision does not cause prior edits to appear as another user's edit, so attribution and history may be less affected. Therefore, SelectiveDelete shouldn't be used to delete revisions that have added any constructive material that wasn't immediately changed or removed in later edits.

Suppressrevision is only used to deal with major legal and TOU concerns. Cases involve deleting potentially libellous information, home addresses and telephone numbers, social security numbers, etc. So naturally, the permission is restricted to Fandom Staff, Fandom Helpers, and Suppressors only.

## Similarities and Differences to Special:CoppaTool

There is another tool that allows pages or revisions to be deleted in some form that is neither related to the page deletion system, nor the revision deletion system, although only Fandom Utilities are able to able to use it. **Coppatool** allows users to deal with Children's Online Privacy Protection Act (COPPA) reports through deleting userpages, blanking user profiles, reviewing images uploaded by specific users, overwriting IP addresses in edits and logs, and disabling and blanking user accounts. Once a userpage is suppressed, users without the `(coppatool)` permission cannot view or unsuppress them.

*This section is in need of additional information. You can help C.Syde's Test Wiki by expanding this section.*
## System Messages associated with the ability

Because SelectiveDelete would serve as an extension to the ability to delete pages, most of the system messages that would be associated with SelectiveDelete are identical to those that are associated with the `(delete)` and `(undelete)` permissions. However there would be several system messages that would come exclusively with the SelectiveDelete extension, if the extension were to exist.

Listed below are the system messages that would be added to the MediaWiki namespace if the SelectiveDelete extension were to be added to the MediaWiki software that runs Wikipedia and Fandom. Note that all of these system messages are fictional and should not be treated as being part of the MediaWiki software.

The Action-selectivedelete system message is derived from the Action-undelete system message. The Apihelp-delete-example-revisions system message is derived from the Apihelp-undelete-example-revisions system message. The Apihelp-delete-param-fileids system message is derived from the Apihelp-undelete-param-fileids system message. The Apihelp-delete-param-timestamps system message is derived from the Apihelp-undelete-param-timestamps system message. The Cannotselectivedelete system message is derived from the Cannotundelete system message.

The Delete-count-files system message is derived from and identical to the Restore-count-files system message. The Delete-count-revisions system message is derived from and identical to the Restore-count-revisions system message. The Delete-fieldset-title system message is derived from the Undelete-fieldset-title system message. The Deletebtn system message is derived from the Undeletebtn system message. The Deletedpage system message is derived from the Undeletedpage system message.

The Deleteextrahelp system message is derived from the Undeleteextrahelp system message. The Deletehistory system message is derived from the Undeletehistory system message. The Deleteinvert system message is derived from and identical to the Undeleteinvert system message. The Deleterevdel system message is derived from the Undeleterevdel system message. The Logentry-selective-delete system message is derived from the Logentry-delete-restore system message. And the Selectivedelete-helppage system message is derived from the Revisiondelete-helppage system message.