User:MPGuy2824/MoveToDraft

User script
MoveToDraft
Screenshot of version 2.5.8 of the script in action
DescriptionMoves articles to draft space, usually used for undersourced articles
Author(s)Evad37
Maintainer(s)MPGuy2824
Version2.5.8
Updated26 July 2023 (history and older history)
Skins
  • Vector (2022)
  • Vector legacy (2010)
  • Monobook
  • Modern
  • Cologne Blue
  • Timeless
  • MinervaNeue
SourceUser:MPGuy2824/MoveToDraft.js

MoveToDraft (source) – A script that is used to WP:DRAFTIFY articles (move to draft space), including cleanup and author notification.

Steps performed by the script:

  1. Move the current page to draftspace and, if the user isn't an admin or page mover, then tag the redirect left behind for R2 speedy deletion.
  2. Check if any files used are non-free.
  3. Edit page to comment out non-free files, put categories in {{Draft categories}}, and add the {{Draft article}} template.
  4. Add a notification message on the author's/significant contributors' talk page/s.
  5. Update talk page banners.
  6. Log the move to the /Draftify log subpage of the user's space, if it exists.

Installation

edit

Automatic

edit
  • Step 1: Check the checkbox at Preferences → Gadgets → Advanced →   Install scripts without having to manually edit JavaScript files (documentation) and click Save.
  • Step 2: Click the big blue "Install" button in the infobox on the right of this page.

Manual

edit
{{subst:iusc|User:MPGuy2824/MoveToDraft.js}}

Usage

edit
  1. On articles, there will be an additional "Move to draft" menu option next to the regular "Move" option. In Vector skin, this is within the "More" dropdown menu.
  2.  
    Choosing the contributors to send the notification to
    Selecting "Move to draft" will bring up a list of contributors to whom notifications can be sent. This step is skipped if there is only one contributor to the page.
  3. Next, a dialogue box is shown where the new draft title, the username of the author to notify, and a set of checkboxes to indicate the problem/s with the current version of the article can be chosen.
  4.  
    The In-progress screen in the middle of its tasks
    When the "Continue" button is clicked, the script will undertake the steps listed above. If there are any errors encountered with a step, you generally have the option to retry or skip it.
  • Note: for those without the page mover user-right, the redirect left behind from moving the article to draftspace will be tagged for CSD R2 deletion automatically.

Warnings

edit

The script warns the user in certain conditions:

  • Previous draftification of the article
  • Old article (created more than 90 days ago)
  • New article (significant edit/s less than 1 hour ago)

Draftify log

edit

This script adds a pseudo-special page for viewing logs of draftifications – all draftifications, not just from this tool.

Once installed, you can navigate to Special:Draftify log and view logs from all users, or a particular user.

For convenience, a "Draftify log" link is placed on user pages (near the "Move to draft" menu option), linking to that user's log.

A wikitext version of the log is generated in a textbox at the bottom of the page, for easy copy-pasting if desired.

Todos

edit

Changes after forking

edit

This script was forked from User:Evad37/MoveToDraft, in November 2022. After forking, the following enhancements have been done:

  • A selectable, short list of reasons for draftifying, which are added in the message to the draft creator's talk page.
  • Warning when the article is very old (>90 days) OR very new (edited less than an hour back).
  • Warning when an article has been previously draftified.
  • Allow notifying multiple authors (when applicable).
  • Fixed bug where, on occassion, the article XYZ would be moved to Draft:Draft:XYZ.
  • Workaround for phab:T321192.
  • Draftification log entries and edits are tagged with "moveToDraft".

Customisation

edit
  • Watching pages: If you want to watchlist the pages that you move, then check the checkbox at Preferences → Watchlist → Watched pages →   ⧼Add pages and files I move to my watchlist⧽ and click Save.
  • Subscribing to user talk page discussions: If you want to auto-subscribe to user talk page discussion, then check the checkbox at Preferences → Editing → Discussion pages →   ⧼Enable topic subscription⧽ and click Save.
  • "Move to draft" link placement: Add the line var m2d_portlet = "portletID"; to your common.js, replacing portletID with one of the portlet id values from Help:Customizing toolbars (the script's default location is p-cactions)
  • Move log rationale: Add the line var m2d_rationale = "rationale"; to your common.js, replacing rationale with custom text. The default rationale is [[WP:DRAFTIFY|Not ready]] for mainspace, incubate in draftspace
  • Edit summary for preparing article for draftspace: Add the line var m2d_editsummary = "editSummary"; to your common.js, replacing editSummary with custom text. The default rationale is [[WP:AFC|AFC]] draft
  • Disable logging within your userspace: Add the line var m2d_doNotLog = true; to your common.js to disable logging moves (in /Draftify log within your userspace). Logging is enabled if this is omitted or set to false.
  • Contributor notification message
    Use with caution, and only if you are sure what you're doing:
    Add the line var m2d_notification = "Your message here"; to your common.js
    Important: within your message:
    * You need to use $1 instead of the page title
    * You need to prevent wikitext transformations on the common.js page itself (i.e. \~~\~~ instead of ~~~~, \{\{subst: instead of {{subst: for any template substitution)
    * You need to escape any quotation marks (" characters) as \" to avoid syntax errors.
    * Any actual backslashes (\ characters) need to be escaped as \\.
  • Location of your log file: You can change the location of the Draftify_log file by creating a redirect from User:Username/Draftify_log to whatever location you prefer (as long as it is within your userspace).

Note to interface admins

edit

I, MPGuy2824, the owner of this script and userspace, give interface-admins permission to edit this script with any changes based on consensus, including redirecting the script to a new location, via inline code that loads a different user script location, in the following cases:

  • It is an emergency OR
  • I have been incommunicado for 2 months. -MPGuy2824 (talk)