This is a proposal for an extension to send users (at their option) copies of pages on their watchlists that are deleted. I plan to write it, but first I am seeking suggestions from any interested parties as to what specifications should be implemented.
The goal of this extension is to enable users to obtain the same result as if they had copied and pasted the wikitext of the most recent revision, and done an export of all revisions, just prior to the article deletion. Users may not always know that a sysop is about to delete an article, or they may for whatever other reason not be able to get the revision data they need out of the system before the deletion occurs, so this will take care of that for them. Having this data on hand could be helpful in deletion reviews or if a user wishes to transwiki the entire page history to a more suitable wiki.
This will eliminate the need for those users who had watchlisted the article to ask a sysop to provide a copy of the deleted revisions. It will avoid all or most of the problems associated with allowing users to view deleted articles, which retaining many of the benefits. Here are proposed specifications:
- The user will have, in the "E-mail options" section of Preferences, a toggle (checkbox) for "Send me copies of pages on my watchlist that are deleted." It will default to false.
- Deleting sysops will have a checkbox allowing them to suppress emailing of the article. The sysop might, for example, toggle this to true if the article is being deleted for copyright violations, and the sysop wishes to minimize its dissemination from the wiki. The checkbox will default to false.
- If the toggle mentioned in (1) is set to true, and the checkbox mentioned in (2) is set to false, and a page that is on the user's watchlist is deleted, then the user will be sent an email whose contents will be the wikitext for the most recent revision of that page, and which will have an attachment containing an XML file of all non-suppressed revisions. This file will be suitable for importing into another MediaWiki installation. This file will not include revisions placed in the archive table during prior deletions of the article.
I'm thinking of using an ArticleDeleteComplete hook function to grab the revisions from the archive table to create an XML file, perhaps using some modified functions from Export.php. Any other thoughts?