Community Wishlist Survey 2020/Wikisource/Batch move API
The survey has concluded. Here are the results!
Batch move API
- Problem: On Wikisource, the "atomic unit" is a work, consisting of a scanned book in the File: namespace, a set of transcribed pages in the Page: namespace, an index in the Index: namespace, and hopefully also one or more pages in mainspace that transcludes the pages for presentation. This is unlike something like a Wikipedia, where the atomic unit is the (single) page in mainspace, period.ProofreadPage ties these together using the pagename: an Index: page looks for its own pagename (i.e. without namespace prefix) in the File: namespace, and creates virtual pages at
…/2etc.). If any one of these are renamed, the whole thing breaks down.A work can easily have 1000+ pages: if it needs to be renamed, all 1000 pages have to be renamed. This is obviously not something you would ever undertake manually. But API:Move just supports moving a single page, leading to the need for complicated hacks like w:User:Plastikspork/massmove.js.The net result is that nothing ever gets renamed on Wikisource, and when it's done it's only done by those running a personal admin-bot (so of the already very few admins available, only the subset that run their own admin-bots can do this, and that's before taking availability into account).
- Who would benefit: All projects, but primarily the Wikisources; it would be used (via scripts) by +sysop, but it would benefit all users who can easily have consistent page names for, say, a multi-volume work or whatever else necessitates renaming.
- Proposed solution: It would wastly simplify this if API:Move supported batch moves of related pages, at worst by an indexed list of from—to titles; better with from—to provided by a generator function; and ideally by intelligently moving by some form of pattern. For example,
Index:vitalrecordsofbr021916brid.djvuwould probably move to
Index:Vital records of Bridgewater, Massachusetts - Vol. 2.djvu, and Page:-namespace pages from
Page:vitalrecordsofbr021916brid.djvu/1would probably move to
Page:Vital records of Bridgewater, Massachusetts - Vol. 2.djvu/1It would also be of tremendous help if mw.api actually understood ProofreadPage and offered a convenience function that treated the whole work as a unit (Index:filename, Page:filename/pagenum, and, if local, File:filename) for purposes of renaming (moving) them.
- More comments: For the purposes of this proposal, I consider cross-wiki moves out of scope, so, e.g., renaming a File: at Commons as part of the process of renaming the Index:/Page: pages on English Wikisource would be a separate problem (too complicated). Ditto fixing any local mainspace transclusions that refer to the old name (that's a manageable manual or semi-automated/user-tools job).
- Phabricator tickets:
- Proposer: Xover (talk) 12:41, 5 November 2019 (UTC)
- @Xover: Why sysop bit is needed here? I think the bot flag is enough unless the pages are fully protected. Ankry (talk) 20:45, 9 November 2019 (UTC)
- @Ankry: Because page-move vandalism rises to a whole `nother level when you can do it in batches of 1k pages at a time. And for the volume we're talking about, having to go through a request and waiting for an admin to handle it is not a big deal: single page moves happen all the time, but batch moves of entire works would typically top out at a couple per week tops (ignore a decade's worth of backlog for now). Given these factors, requiring +sysop (or, if you want to be fancy, some other bit that can be assigned to a given user group like "mass movers" or whatever) seems like a reasonable tradeoff. You really don't want inexperienced users doing this willy nilly!But so long as I get an API that lets me do this in a sane way (and w:User:Plastikspork/massmove.js is pretty insane), I'd be perfectly happy imposing limitations like that in the user script or gadget implementing it (unless full "Move work" functionality is implemented directly in core, of course). Different projects will certainly have different views on that issue. --Xover (talk) 21:28, 9 November 2019 (UTC)
- «Problem: On Wikisource, the "atomic unit" is a work». In an ideal world yes, but not for MediaWiki until phabricator:T17071 is fixed. Nemo 09:07, 22 November 2019 (UTC)
- Support Bodhisattwa (talk) 06:35, 21 November 2019 (UTC)
- Support JAn Dudík (talk) 07:14, 21 November 2019 (UTC)
- Support Consulnico (talk) 11:35, 21 November 2019 (UTC)
- Support Wargo (talk) 23:07, 21 November 2019 (UTC)
- Support --Jan.Kamenicek (talk) 10:35, 23 November 2019 (UTC)
- Support Liuxinyu970226 (talk) 15:28, 25 November 2019 (UTC)
- Support –MJL ‐Talk‐☖ 15:37, 25 November 2019 (UTC)
- Support 游魂 16:53, 25 November 2019 (UTC)
- Support Ciao • Bestoernesto • ✉ 18:01, 25 November 2019 (UTC)
- Support Geonuch (talk) 01:35, 26 November 2019 (UTC)
- Support Risker (talk) 05:04, 26 November 2019 (UTC)
- Support Hsarrazin (talk) 14:34, 26 November 2019 (UTC)
- Support Novak Watchmen (talk) 17:52, 2 December 2019 (UTC)