Community Wishlist Survey 2021/(Un)delete associated talk page

Hello all, and thanks for coming to read more details about (Un)delete associated talk page, the #11 wish in the Community Wishlist Survey 2021. This article will outline our approach to building a solution of this wish and ask for your feedback and insight so that we may deliver the best possible experience.

This page documents a project the Wikimedia Foundation's Community Tech team has worked on or declined in the past. Technical work on this project is complete.

We invite you to join the discussion on the talk page.

Wish Objective Summary: Provide Administrators the option to also delete/undelete the associated page when they are deleting a given article.

Original Wish

Background & Problem Space edit

For those unfamiliar with article deletion: Deletion is a special privilege that Administrators have to "clean up" articles in the ecosystem. However, when an article has an associated talk page with it, the Admin is limited in their ability to delete that page along with the article at hand.

Another thing to note is that as deletion exists today, article deletions are limited to articles with less than 5,000 revisions due to some technical constraints.

Administrators also have the ability to undelete or restore deleted articles, but not the talk page associated with them.

Example User Problems
Administrator ("it's hard for me to...")
... to delete the associated talk page of an article I am in the process of deleting the article
... to undelete the associated talk page of an article I am in the process of restoring the article

Proposed Solutions edit

The following are a set of light requirements that were neatly built into the proposal! Thanks for that. We'd love your input as we move forward with their implementation.

As an Administrator using the (un)delete tool to remove an article, I can:

  • See an option to delete its associated talk page, which will delete the page if selected
  • See an option to undelete its associated talk page, which will restore the page if selected

We will combine the revisions of both the talk page and the article to account for the 5,000 limit on deletion jobs in the queue. We are open to feedback on this technical decision.

Explicit Scope for our Solution: We will be limiting the scope of our changes to be at the talk page level not the revision level. This means that when Administrators delete a project talk page, they will not be able to cherrypick which revisions you delete/undelete, but rather it will delete all. We considered this when engineers investigated the project and realized it is a standard pattern with how general page deletion should work.

Here are some annotated images that show the current deletion and un-deletion (restore) flow for an Administrator:

 
 

Open Questions: We want to hear from you! edit

The solutions above were embedded into the proposal, thank you! We'd love to hear any other feedback on the talk page. Your insight can help us understand other approaches, risks, and other potential solutions.

Some questions on our mind as we progress through the wish:

  • As we combine the revision counter to be the total of revisions for both the talk page and the associated article for a total of 5,000, how does this impact the way Admins view the action of deletions?
  • Are there any additional use cases to deepen our understanding of the problem space?
  • What other feedback do you have about our proposed solutions?

Why and how did we accept this wish? edit

This wish scored high in our prioritization process for 2021 because it was very popular in terms of votes, impactful in terms of users, and had a relatively low complexity estimate. Please read about our full process here.

 

Status Updates edit

February 26, 2022: Close to release edit

We are in the process of concluding the implementation of this wish which includes:

  • Updating end points in the API so that the associated Talk page can also be deleted/undeleted when taking such an action on a given page
  • Adding the user interface options as a checkboxes, so that Admins have the option to delete/undelete the associated Talk page when using the UI

This wish took a significant rewriting effort in the codebase. While the idea of deleting a talk page associated with an article sounds simple, the technical considerations in the pre-existing architecture made that really difficult. The code was re-written so that this would be possible to delete associated Talk pages and so that it would remain more stable for future use. This wish was completed in tandem with other wishes in the 2021 Wishlist.

August 5, 2021: The first steps edit

We have completed our first investigation. You can track this inside this ticket on Phabricator. The bulk of the work here will be around security and performance considerations. We estimate tackling this work within the coming months.