Module talk:Rail

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
WikiProject iconTrains Redirect‑class
WikiProject iconThis redirect is within the scope of WikiProject Trains, an attempt to build a comprehensive and detailed guide to rail transport on Wikipedia. If you would like to participate, you can visit the project page, where you can join the project and/or contribute to the discussion. See also: WikiProject Trains to do list and the Trains Portal.
RedirectThis redirect does not require a rating on Wikipedia's content assessment scale.

Module redirect[edit]

To editor Dekimasu: just out of curiosity, would this be a soft redirect or a hard one? If invoked, would it behave just like Module:Adjacent stations? (Note above that this was nominated for discussion at Rfd.) Paine Ellsworth, ed.  put'r there  01:41, 15 March 2019 (UTC)[reply]

To editor Dekimasu: probably should have just asked you if you know if this works at all as a true module redirect. Not questioning that redirects cannot be left behind during a module move; however, I do wonder if a redirect like this one could be manually left behind rather than adjusting all the templates and modules where a moved module was invoked? Paine Ellsworth, ed.  put'r there  18:06, 21 March 2019 (UTC)[reply]

No, it is technically not possible to redirect to a module. When a module is invoked, the module is executed with the result being a table that the caller can use in any way that works. What is possible is for someone to check how a particular module works at the moment and put some very small code at the "redirect" page which executes the target module and returns its table. However, that is different from #REDIRECT. Johnuniq (talk) 23:44, 21 March 2019 (UTC)[reply]
I just noticed a relevant report at Wikipedia:Administrators' noticeboard#Blue linked module page with an empty history. Johnuniq (talk) 23:55, 21 March 2019 (UTC)[reply]
Hi Paine, I have been trying to stay away from the recent module discussions, particularly the move requests, and I'm not sure I can answer your questions intelligently. Hopefully at some point I will be able to deal with these issues more easily, but to me it seems like changing module setups through WP:RM or WP:RFD is asking for trouble. I think the RFC at Wikipedia talk:Templates for discussion may clean up some of the process issues and put editors who are technically proficient with the modules in charge of future changes. Dekimasuよ! 04:19, 22 March 2019 (UTC)[reply]
@Paine Ellsworth: It's a hard redirect in that {{#invoke:Rail|...}} is equivalent to {{#invoke:Adjacent stations|...}}. The only way in which it is not a redirect is that actually viewing Module:Rail doesn't get redirected, making this work in much the same way as a template redirect that is nominated at RfD. {{3x|p}}ery (talk) 17:27, 24 March 2019 (UTC)[reply]
We have two views: yours is that Module:Rail behaves as a hard redirect when invoked, and Johnuniq's is that it's technically not possible to redirect to a module, and rightly means that to "put some very small code at the 'redirect' page which executes the target module and returns its table" is different by definition from #REDIRECT. This all seems to me to mean that while this module is not by definition a redirect, it does behave as one by "calling" Module:Adjacent stations when it's invoked. Has this been tested? Maybe if we ask Ythlev, who set out to improve Module:Adjacent stations by creating this module? And if testing has shown or will show that this is or is not an "effective" and useful "redirect", what then? Where do we go from there? Paine Ellsworth, ed.  put'r there  16:34, 26 March 2019 (UTC)[reply]
I do not think that Pppery and I are saying different things. Using #REDIRECT in a module will result in a broken module (because it is not valid Lua) and will not act as a redirect. However, putting a small amount of code in a module will make it behave exactly like a redirect as far as #invoke is concerned. For an editor viewing the page, it will look somewhat like a soft redirect because it will not redirect them. An example is Module:Location map/data/New York which contains:
return require('Module:Location map/data/USA New York')
which acts like a redirect to Module:Location map/data/USA New York. Johnuniq (talk) 20:18, 26 March 2019 (UTC)[reply]
So "acts like a redirect" then means that while this module is not a redirect in the usual sense, it is a special type of redirect that can be called a "module redirect". At present, renaming a module does not allow leaving a redirect behind. Should we perhaps consider getting the software to allow a page mover to choose whether or not to leave this special kind of "module redirect" behind following a module page move? Paine Ellsworth, ed.  put'r there  23:28, 26 March 2019 (UTC)[reply]
There is a dormant request at phab:T120794 to insert code in the original module when moving it. I'm not sure that pushing for that change would be worthwhile because modules should not be moved often and other clean up is required to accommodate a move. Sometimes the original module should be deleted rather than left with unused code that simulates a redirect. Johnuniq (talk) 00:13, 27 March 2019 (UTC)[reply]