Page MenuHomePhabricator

Remove autogeneration of Deletion summary.
Open, MediumPublic

Description

When you are about to delete a page (?action=delete), the form is prefilled with auto-generated edit summary.

The edit summary typically reads:

content was: "Excerpt from the page content", and the only contributor was "[[Special:Contributions/MediaWiki default|MediaWiki default]]" ([[User talk:MediaWiki default|talk]])

This summary is problematic and should be removed from core.

Problems
  1. It leaks content that was deleted. Because this summary persists in the logs even if the whole revisions were later revision-deleted/or page deleted; the excerpt remain indefinitely accessible to unprivileged users.
  1. The summary generates false contributor if the preceding revision is suppressed. Attributing attack/offensive content to other users is quite problematic (T24999: Article::generateReason returns wrong result when all users except one are hidden idling five years, unfixed)
  1. The generated summary is redundant to the other preset dropdown summaries, other actions (protect, move, etc ) just reserve this field for additional manual input should admins want use it, and that's the very essence of the field as its name suggests: It's called "Other/additional reason" NOT "automatically generated reason."
  1. It disrupts workflow. Because the content is auto-filled, if an admin wants add additional reason, they have to first delete this prefilled content; an unnecessary work. (When deleting attack/defamatory pages, not deleting this summary leads to problem no. 1; and most admins are not aware of this. Nowhere hint of this possibility can be found.)
  1. Offensive page creation edit summary cannot be hidden (except with suppression, a high-level permission whith more restrictive policy, so not appropriate for most cases ). Even if admin revision-deletes the specific edit summary, this autogenerated summary paradoxically remains indefinitely in the page creation log for all users. (T230425: Page creation log should not display the content of deleted pages)
  1. Creates inconsistency with other action pages. None of them generate automatic edit summary, even if they have similar field (cf. ?action=protect)
  1. Generates meaningless summary if blanking precedes null revision before deletion. (T55998: exbeforeblank autosummary should check the last non-empty revision)
  1. (Probably other issues)
Solution

Remove it. Let admins use the field as they just do in all other action pages where this field exists.

This aligns it more to the other action pages.
It will also stop this leaking of [revision]deleted content. AFAIK, this is the only place where revdeleted content is currently accessible by those without the necessary permissions.

Details

Related Gerrit Patches:

Event Timeline

Ammarpad created this task.Nov 24 2019, 8:07 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 24 2019, 8:07 AM
Ammarpad triaged this task as Medium priority.Nov 24 2019, 8:08 AM
Ammarpad added a project: Core Platform Team.

Change 552484 had a related patch set uploaded (by Ammarpad; owner: Ammarpad):
[mediawiki/core@master] Remove autogeneration of Deletion summary.

https://gerrit.wikimedia.org/r/552484

Ammarpad updated the task description. (Show Details)Nov 24 2019, 8:34 AM
Ammarpad removed a subscriber: Vandofschool.
Bugreporter added a subscriber: Bugreporter.EditedNov 24 2019, 9:33 AM

Note Wikidata explicitly overrided the behavior in T184025: Default deletion log for Wikidata items doesn't include label. The behavior in Wikidata should be preserved,

See https://www.wikidata.org/w/index.php?title=Special:Log/delete&offset=20191123102935&type=delete&user= for what I mean.

Tgr updated the task description. (Show Details)Nov 24 2019, 7:07 PM
Tgr added a comment.Nov 24 2019, 7:31 PM

Usage check: no extensions known to CodeSearch use or override getAutoDeleteReason directly. ProofreadPage, Flow, Newsletter and Wikibase override Content::getTextForSummary (meaning the automatic summary is potentially more useful). ProofreadPage seems to only do it to get rid of the summary in some cases; Newsletter more or less preserves existing behavior (and in any case newsletters are a closely managed type of content so probably autosummaries are not very relevant in the first place); Flow displays the board ID (which seems pretty much useless, but I'm not that familiar with Flow so maybe I'm missing something).

For Wikidata the autosummary might be the only place which contains the human-readable name of the item (not Q-id) as Bugreporter points out (example) so I think that's a blocker to the patch in its current form. Maybe in the future Wikibase will be more intelligent about showing labels in logs, but for now this change should be blocked on reimplementing the behavior in Wikidata in some form, and also the generic mechanism of deletion autosummary (ie. the WikiPage/Article methods) should be kept.

  1. The summary generates false contributor if the preceding revision is suppressed. Attributing attack/offensive content to other users is quite problematic (T24999: Article::generateReason returns wrong result when all users except one are hidden idling five years, unfixed)

Looking at the code, there seems to be another bug as well: it only checks the last 20 revisions and if those are all from the same user, it just assumes that that user is the only author. Both that and T24999 should be easy to fix though.

  1. Offensive page creation edit summary cannot be hidden (except with suppression). Even if admin revision-deletes the specific edit summary, this autogenerated summary remains indefinitely in the page creation log for all users. (T230425: Page creation log should not display the content of deleted pages)

Admins who can delete or revision-delete the page can revision-delete the page creation log as well, but it's annoying extra work, and not obvious. That said, that issue is not related to deletion summaries and the patch as it is proposed now would not do anything to change it.

  1. Creates inconsistency with other action pages. None of them generate automatic edit summary, even if the have similar field (cf. ?action=protect)

Automatic summaries are created on edit when a new page is created, an existing page blanked or reduced by more than 90%, or a redirect added/removed/changed. The behavior is a bit different though (the reason is not autofilled, instead the autosummary will be used when the reason is left empty).
Undo has a more similar prefilled autosummary, and revert also autogenerates a summary.

Tgr added a comment.Nov 24 2019, 8:05 PM

Somewhat related tasks:

Somewhat opposed tasks:

Documentation note: if the feature gets kept, it would be nice if m:Help:Edit summary#Automatic summaries mentioned it.

Tgr added a comment.Nov 24 2019, 8:08 PM

AIUI the main reason for the deletion summary is that it includes the deletion template which includes the reason, so if the admin forgets to fill out manually there is still some clue left of why the page was deleted. (These days some wikis use deletion templates which include a delete button which pre-fills the summary; not sure how common this is though.)

I wonder if making the autosummary more clever would be a solution? E.g., use some naive regex to get the any templates that precede the wikitext and only put them in the autosummary.

This seems like a good idea to me, but we should actually check roughly what percentage of deletions is done with the default summary (and what percentage with empty summary).

My own experience is that on pl.wp there's a gadget (available for administrators only) with enhancements for the deletion page, which notably also always removes the autogenerated summary. It's called just "delete", and according to https://pl.wikipedia.org/wiki/Specjalna:GadgetUsage 85 active users use it (there are 98 administrators in total), but I'm not sure if we can trust these stats since it also reports 538 total users.

Ammarpad updated the task description. (Show Details)Nov 25 2019, 2:46 PM
Anomie added a subscriber: Anomie.

Archaeology: The deletion auto-summary seems to have been added in r1347.

This strikes me as something that could use some community input from communities that actually make use of the feature, particularly since it's reasonably easy for a community to disable it locally by setting exbeforeblank, excontentauthor, and excontent to "-".

My own experience is that on pl.wp there's a gadget (available for administrators only) with enhancements for the deletion page, which notably also always removes the autogenerated summary. It's called just "delete", and according to https://pl.wikipedia.org/wiki/Specjalna:GadgetUsage 85 active users use it (there are 98 administrators in total), but I'm not sure if we can trust these stats since it also reports 538 total users.

On English Wikipedia, the auto-summary was removed since 2008: Remove default 'content was:...' and 'only contributor was:...' from deletion summary

I was curious, so I checked. I looked at 10 random moderately-large wikis (from s2).

4 of them have the message disabled:

6 of them have it enabled, so I checked how often the default message is used (comparing the total number of deletions, to deletions with the default message):

(SQL queries used to make this table: P9737)

bgwikicswikinlwikiplwikiptwikithwiki
(Year)TotalDefaultTotalDefaultTotalDefaultTotalDefaultTotalDefaultTotalDefault
200437030829416650802501816
2005315288243981991301201146760540986617791026111710
200617432379221832686186355120241391773476184500078714003
2007177776187275851098011452817934192711213619960937875181687272
20082002215323402597147787814266157452293112082047962142196496
2009173468192905143509204015426117308329110334332175984935
201092211596315171030587619633119657341112264245183786915
201187951098287177124754078578758225012082566202514148
20127112111127864640549175865999792377875140175035587
2013988712051764136460435447165082956712114190554828
2014525876912181823156038320858407415171614118211821
201598635931230112679431534910797771675467627103692458
20161019916114212154181594801892812553605694384593171
201764468213914164361140223193444702569308131165045
201861147212707118241889186668276525276413159145505
20195165781459090624680214655883416177011120305485

In all of these, default deletion messages are the minority, but on some it's ~1% and on some it's ~30% of deletions.

eprodromou updated the task description. (Show Details)Nov 26 2019, 3:53 PM
eprodromou added a subscriber: eprodromou.

We've looked this over in CPT. Thanks to everyone who provided data.

Since communities can override this functionality on a per-wiki basis, and users can override this functionality on a per-delete basis, and some people find the autogenerated message useful, we think it makes sense to leave it intact. We're putting this feature request in the icebox unless further discussion brings about new perspectives.

Maybe add an option to disable it as a wg* variable or as a user preference? That way wikis/users who want to disable it can, without fully removing the feature for people who want it.

I agree with TerraCodes. @eprodromou what do you think?