In Main, Talk, Draft, Draft talk, User (only on subpages), or User talk (only on subpages) namespaces
- Add "Propose to merge" option in Tools section in the above namespaces.
- Cross-namespace merges are allowed. Example: Draft:NewMovie merged into NewMovie.
- When clicked while user is on New York or Talk:New York or Draft:New York etc, go to Popup, step 1
Popup, step 1
Show a popup that allows 3 options:
- "Merge page(s) into this page (New York) "
- (selected by default, so the user can immediately click Continue)
- "Merge page(s) into Type here...
- Displays an inline input field where the user must insert exactly 1 page, say, Canada. (should also be chosen if the target doesn't yet exist)
- "Merge pages without specifying a direction"
Clicking any of these goes to Popup, step 2 ↓↓↓
Popup, step 2
- User is required to type at least 1 page and a maximum of a couple hundred pages
- If Talk pages are given as a source or as a destination, remove "talk:" and keep the pagename
If user chose Options 1 or 2 (direction is known)
1 big input field |
|---|
|
User-friendly version |
|---|
|
- When clicked , run Quickchecks
If user chose Options 3 (direction is not known)
1 big input field |
|---|
|
User-friendly version |
|---|
|
- When clicked , run Quickchecks
Quickchecks
- ensure destination page(s) DOESN'T include the source page or source!==dest
- ensure BOTH articles exist/ALL source pages exist
- ensure destination page exists if `Unclear...` is unchecked
- if OK, go to Popup, step 3
Popup, step 3
- SOURCE PAGES: ["AAA", "BBB", "CCC", "DDD", etc.
- DESTINATION PAGE: "New York"
Text that says "Discussion will be created on Talk:[DISCUSSIONPAGE]"
- [DISCUSSIONPAGE] is autofilled with New York if user chose option 1
- [DISCUSSIONPAGE] is autofilled with Canada if user chose option 2, EXCEPT if Canada doesn't exist. In that case, let the user type it.
- [DISCUSSIONPAGE] is autofilled with
Talk:First page of the input box in step 2if user chose option 3
Two input fields: (section_title, merge_rationale)
- Section title: Merge proposal
- (autofilled as it is recommended by WP:MERGE)
- Merge rationale:
- If user chose Options 1 or 2 (direction is known), autofill:
- If user chose Option 3 (direction is not known), autofill:
- Maybe a preview button?
- When clicked go to popup 4:
Popup, step 4
- run Operations WHILE:
- displaying progress status of Operations
- when finished, show final status and a button
Operations
- create an array of pages failed to edit due to edit protection?
If user chose Options 3 (direction is not known)
- append
==section_title==\n merge_rationaleto Talk:DISCUSSIONPAGE (chosen in popup 3). - edit ALL pages involved to prepend:
{{Merge|AAA|BBB|CCC|DDD|...|discuss=Talk:DISCUSSIONPAGE#section_title|date=January 2026}}- (of course put the correct date)
- EXIT Operations
If user chose Options 1 or 2 (direction is known)
Tag pages and talk:
- append
==section_title==\n merge_rationaleto Talk:DISCUSSIONPAGE (chosen in popup 3). - prepend
{{Merge to|AAA|BBB|CCC|DDD|...|target=DESTINATION PAGE|discuss=Talk:DISCUSSIONPAGE#section_title|date=January 2026}}to ALL SOURCE PAGES inputted by the user in Step 2. - And, if DESTINATION PAGE exists:
- prepend
{{Merge from|AAA|BBB|CCC|DDD|...|discuss=Talk:DISCUSSIONPAGE#section_title|date=January 2026}}to DESTINATION PAGE (chosen in popup 3).
- prepend
- Else, if DESTINATION PAGE deosn't exist, do nothing else.
- EXIT Operations