Wikipedia:WikiProject Articles for creation/Submission wizard

AfC submission wizard (source) is a script designed for submitting drafts to AfC.

Details
The script is functional on the page Articles for creation/Submitting. It can be used by any editor, including IP editors. It does not require you enable any gadget or install anything.

The submit/resubmit buttons in the following places link to the above location:
 * AfC submission
 * Userspace draft
 * Draft article
 * (not yet) AfC helper script.

Data sources used in the script:
 * WikiProject Articles for creation/WikiProject templates.json – list of suggestions for WikiProject classification templates. This list should not contain maintenance and non-content wikiprojects.
 * WikiProject Articles for creation/Infobox WikiProject map.json – mapping of infoboxes to WikiProject templates, copied from Enterprisey's pending-subs tool. This is used to suggest WikiProject templates based on the infobox type.
 * WikiProject Articles for creation/AfC topic map.json – mapping for AfC topic template, also used in Module:AfC topic.

The source code of the script is at MediaWiki:AFC-submit-wizard.js.

Compatibility
The wizard is compatible with all browsers in which MediaWiki software runs JavaScript. It doesn't currently run on the mobile domain until the use of withJS URL parameter is enabled in mobile mode.

Features

 * Choose the most appropriate category: This categorises the draft to one of the subcategories of Category:AfC submissions by topic. This is a broad classification intended to place the most common kind of submissions (BLPs, companies, ...) in their own buckets. The list of choices shown here can be configured from /AfC topic map.json. Module:AfC topic which actually adds the categories, also reads from this JSON file, so changes have to be made only in one place.
 * Short description: These are shown on WP:AFCSORT and other places, to help reviewers in identifying drafts of their interest. You can also view these while browsing categories, by using shortdescs-in-category script.
 * WikiProject classification tags: Placed on the talk page. When the draft has an infobox, the field is sometimes prefilled by WikiProjects corresponding to the infobox type (e.g., Infobox architect → WikiProject Biography + WikiProject Architecture). The mapping is provided by /Infobox WikiProject map.json. These help improve the views on apersonbot/pending-subs and other places.
 * ORES topics (automatic): The user is not asked to select this. Rather, the ORES topic classification is fetched using the ORES API, and recorded on the draft with the invisible draft topics template. On the basis of this, the draft is placed into one or more categories under the Category:Draft articles by ORES topic classification hierarchy.

All of the above are pre-filled if already present on the draft, as would be the case during resubmissions. In that case, you can edit the options before submitting.

Additional URL parameters
The script works only when the URL contains ?withJS=MediaWiki:AFC-submit-wizard.js. A few other URL parameters can be used for special behaviour:
 * If invoked with ?page=Draft:Sandbox in the URL, "Draft:Sandbox" will be pre-filled in the title input.
 * If invoked with ?username=Example, the submission will be made on behalf of User:Example.

Ideas for future consideration
Suggestions made in the initial WT:WPAFC discussion:
 * Allow submitter to declare a COI?
 * Ask submitter to optionally identify the WP:THREE best sources?

Later discussion:
 * Show reminder that subject of the draft has to meet notability guidelines?

Other ideas:
 * Use regexes from User:Headbomb/unreliable.js to warn submitter about presence of discouraged sources in the draft?
 * Guess WikiProject tags based on ORES topics? (as in User:Ahecht/Scripts/draft-sorter.js)
 * Based on selected WikiProject tags or ORES topics, suggest suitable subject-specific reference/guideline pages? Eg. WP:NSPORT for sports, WP:WikiProject Magazines/Writing guide for magazines.
 * For resubmissions, have an optional "comment" field where the submitter can write about what improvements they've made (to be posted on the draft using AfC comment)

Developers
AfC submission wizard was developed by User:SD0001.

A GitHub repository exists at https://github.com/wikimedia-gadgets/afc-submit-wizard where pull requests can be raised.