Wikipedia:Templates for discussion/Log/2018 July 12

July 12

edit
The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was no consensus. (non-admin closure) Hhkohh (talk) 16:32, 23 July 2018 (UTC)[reply]

The only function in this module that is used, "check", is a reimplementation of Module:Check for unknown parameters. {{3x|p}}ery (talk) 21:23, 12 July 2018 (UTC)[reply]

Module:TemplatePar was created in 2013 (i.e. three years before your account was registered), while Module:Check for unknown parameters was created in 2014. The former has some additional functionality, see de:Wikipedia:Lua/Modul/TemplatePar/en. --Leyo 23:24, 13 July 2018 (UTC)[reply]
None of which is actually used. {{3x|p}}ery (talk) 15:16, 14 July 2018 (UTC)[reply]
This is actually a lie. The valid function has been used e.g. in Template:GESTIS for more than three years. Implementation into Template:HDS allowed finding and fixing errors such as this or this. --Leyo 21:41, 15 July 2018 (UTC)[reply]

Comment: This module appears to be used in only about a dozen templates: about eight {{chembox}} templates, {{track gauge}}, {{infobox drug}}, {{infobox rail line}}, {{Infobox locomotive}}, {{GESTIS}}, and maybe one or two more. In all cases except the above-mentioned GESTIS, the "check" feature is used, which appears to be completely replaceable with the much more common Module:Check for unknown parameters. Perhaps this Module should be trimmed down to the "valid" feature and it should be moved to a more descriptive name. – Jonesey95 (talk) 21:47, 15 July 2018 (UTC)[reply]

  Oppose trimming: The module is kept identical in a few dozens of Wikipedias as well as Wikimedia Commons (see d:Q15393417). This has e.g. the advantage that copy/paste is possible. --Leyo 21:55, 15 July 2018 (UTC)[reply]
  • It is not as simple to trim for just one particular function valid.
  • All functions are using the same and extensively configurable scheme for handling of detected errors, by maintenance category, by simple message, visible on source edit preview only, in particular namespaces only etc.
  • Module:Check for unknown parameters has none of these capabilities.
  • Templates developed in other projects are relying on all these functionalities, and further ones can be established here without much effort.
  • TemplatePar has global maintenance, is robust and stable for now, but might be extended by more promising methods in the next years. All that would be lost by forking.
To me it sounds more like the not invented here pattern.
Greetings --PerfektesChaos (talk) 19:52, 16 July 2018 (UTC)[reply]

Replace "valid" in the one template it's used on (which I must have just missed in 40 or so uses of "check" because it also used check) with a much simpler use of an #if statement and a call to Module:String, and you're left with just check and my nomination stands and the module gets deleted. I don't care what kind of configurable error-handling scheme you're going to boast about, because it has no real value when it's used on less than 1% of all templates. Templates developed based on this module that are imported here will just need to be adapted, which is not the huge calamity you seem to be making it out to be. And I have no bias against imported modules -- if Module:TemplatePar had caught on in 2013 and was heavily used now, I would probably end up nominating Module:Check for unknown parameters as an unnecessary fork of it. But that's not what happened, and so this module is the unnecessary, underused duplicate that needs to go in the name of cleaning up the module namespace. {{3x|p}}ery (talk) 18:25, 17 July 2018 (UTC)[reply]

This single, useful and globally used module “needs to go in the name of cleaning up the module namespace” that contains hundreds of modules?! C'mon … --Leyo 21:21, 17 July 2018 (UTC)[reply]
There are plenty of other unnecessary modules that I think should be deleted, and many that I have tfded. That has no merit on the module. What does have merit is the fact that the only non-(obviously-redundant) functionality was either unused or only used on one page when I filed it and is still only used on two, making it an easy candidate for conversion to simpler, less standardized wikitext. {{3x|p}}ery (talk) 22:15, 17 July 2018 (UTC)[reply]

So let's compare Module:TemplatePar and Module:Check for unknown parameters (to which i will refer as "Cfup" since the name is too long to write it over and over again):

  • the check function in TemplatePar covers 3 cases: unknown parameters, required parameters that are missing and required parameters that are empty (and one additional case for the template-programmer that uses the module). Cfup covers only 1 case: unknown parameters (with some distinctions I haven't fully understood yet), but it is capable of using patterns for parameter names (which doesn't seem to be possible in TemplatePar but might be useful in some cases).
  • Cfup has 8041945 transclusions from 831 templates in en.wp, TemplatePar has 43349 from 34 templates. But TemplatePar is an upstream-module which is used in 47 Wikipedias, 2 Wikisources and on Commons, so it's quite sure that it is used more often and that it is maintained much better than Cfup. By the way, the TemplatePar doc is much cleaner than the Cfup doc.
  • besides check TemplatePar has 5 additional functions that can be used for analyzing parameters.
  • Since it's an upstream module, it's quite easy to exchange TemplatePar-based modules between wikis. Of course this is also possible with Cfup, but since Cfup only implements some parts of what TemplatePar can do and some additional things, it requires additional work (that can cause additional bugs), besides the probably necessary localization.

Let's come to a conclusion: TemplatePar and Cfup are similar but not identical (they have things in common, but there are also things that are completely different) if you only look at the check function. If you look at the whole module you can say, TemplatePar can do much more than Cfup, so I would consider the possibilities of Cfup a small subset of TemplatePar with some additional possibilities. So since Cfup is used quite often, I would say, mark Cfup as deprecated and make it an alias for TemplatePar, after TemplatePar was modified to support the additional things from Cfup.

Concerning the frequently used term unnecessary in conjunction with "because you can do it with ..."/"because you can ...":

  • necessary and unnecessary depend on personal priorities and the personal point of view, which they should be used with care during discussions like this, since you can easily declare any argument you don't like as unnecessary.
  • "you can do it with ...": of course you can, but just because you can, it doesn't mean you should.
  • some examples:
    • using modules for checking parameters is unnecessary because you can do it with parser functions.
    • using utility-functions/libraries is unnecessary because you can do that on your own.
    • checking for unknown parameters in general is unnecessary because you can simply ignore them
    • using modules in general is unnecessary, because you can do it with parser functions.
    • using templates in general is unnecessary, because you can just format all the stuff by hand.
    • using c++ is unnecessary, because you can do it with assembler.
  • everything has advantages and disadvantages. So instead of just declaring something as necessary/unnecessary you should think about advantages and disadvantages and use them as arguments.

Concerning valid: of course you can use Module:String for that, but since Module:String is a module for everything concerning strings, it's most likely more difficult to use it for parameter validation than using valid which just requires 2 arguments, the parameter you want to check and the pattern it should have (either one of the 64 predefined patterns or any lua-pattern). --Patrick Stützel (talk) 20:37, 18 July 2018 (UTC)[reply]

Oh I forgot to mention: You said that [the error handling scheme] has no real value when it's used on less than 1% of all templates. That's correct, but I don't understand why that should be a reason for deleting the module, because by saying that, you admit that it can have a real value if it used more frequently. So why not checking the template-namespace for templates that can be enhanced by using this scheme (Leyo already showed two examples where it helped) or asking others what they think? I'm not quite sure, but for me it looks similar to a Freudian slip so I suspect that you just want the module to be deleted no matter what others say, maybe because it is not invented here (even if you deny that). --Patrick Stützel (talk) 21:35, 18 July 2018 (UTC)[reply]

I do not want this module to be deleted just because it wasn't invented here; I want this module to be deleted because it's usefully and non-redundantly used only on a very small number of pages and on those pages does nothing that can't use basic Wikitext, thus making any features it has irrelevant in my opinion. I haven't been finding more places to use this module, because that is counterproductive; in any place I would use this module, I could just as easily use Module:String or a template built around Module:String to accomplish the same functionality, especially considering that the informal convention on the English Wikipedia is not to "lock down" pure-wikitext templates by checking for every possible kind of input error (ex: {{tl}} and {{tl|<Df,.djs>}} still works and produce {{[[Template:{{{1}}}|{{{1}}}]]}} and {{[[Template:<Df,.djs>|<Df,.djs>]]}}, even though one would typically consider that parameter "required" and "<Df,.djs>" an invalid value). I still maintain my original nomination statement with some tweaks -> "check" is a reimplementation of Module:Check for unknown parameters, "valid" it an example of an unnecessary lua module call that should use standard wikitext, and the other functions are unused and thus do not matter, leaving this module with no functionality to be kept and I am not going to let myself be convinced otherwise. {{3x|p}}ery (talk) 00:07, 19 July 2018 (UTC)[reply]
The next plan to extend TemplatePar is to join it with TemplateData, for which implementation already begun but some way left to go before global deployment.
That does mean: Forget definitions in programming, just refer once to doc page, and JSON structure will be incorporated.
If any of the parameters is withdrawn from TemplateData or added there that is automatically updating the configuration of mandatory or optional parameter names, any other name regarded as unknown. “Known” are explicit or aliased names.
The mandatory set is known from required flag, while any other is optional.
Furthermore some basic test for permitted values can be done, e.g. url and number, to some extent date, line and boolean against nonsense, but at least wiki-file-name wiki-page-name wiki-template-name wiki-user-name which will issue error category and message immediately without a need to maintain the set of rules within programming.
Even rules for numeric ranges might be embedded in present or future TemplateData specification, which currently ponders on enumerated set of permitted values for some fields.
Since TemplatePar will suck honey from the same JSON definition as TemplateData both are always consistent and current expectation visualized to everybody.
Opposing greetings --PerfektesChaos (talk) 19:22, 20 July 2018 (UTC)[reply]
This discussion seems to be going nowhere. {{3x|p}}ery (talk) 14:33, 23 July 2018 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).
The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was merge to Template:For loop. (non-admin closure) Hhkohh (talk) 16:34, 23 July 2018 (UTC)[reply]

Propose merging Template:ForCount with Template:For loop.
Almost duplicate templates with similar functionality and syntax; {{for loop}} could easily be updated to take "count", "start", and "by" parameters as an alternate method of input. This would entail the deletion of the redundant Module:ForCount. {{3x|p}}ery (talk) 21:02, 12 July 2018 (UTC)[reply]

As the creator of this template and Lua module, I'm all for merging with {{for loop}}. I was surprised the latter didn't already have this functionality; I only made a separate template/module because I was intimidated by the complicated code and widespread use of Module:ForLoop. If someone more confident in Lua is willing to add the functionality, please do so. I would only ask that the functionality be added and demonstrated to work before {{ForCount}}/Module:ForCount are deleted or redirected. —swpbT go beyond 12:56, 13 July 2018 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).
The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was No consensus to delete. (non-admin closure) Hhkohh (talk) 16:36, 23 July 2018 (UTC)[reply]

Fails WP:TG and WP:NAVBOX. Overly crowded, unwieldy navbox that would be much more effective as a list. James (talk/contribs) 11:12, 12 July 2018 (UTC)[reply]

Keep - can't see its "overly crowded". It looks systematic in its layout, and it pass 1-5 in WP:NAVBOX. Christian75 (talk) 10:14, 18 July 2018 (UTC)[reply]
Fails TG 6 an NAVBOX 4, imo. Additionally, far too long and arguably should be split into sub-templates, at the least. James (talk/contribs) 14:48, 19 July 2018 (UTC)[reply]
  • Keep, fine as is. The template is not overly crowded nor "unwieldy" (?), it's well segmented and populated. A list is not a template, nor a template a list. They serve entirely different purposes and lists are usually not even mentioned on the pages while templates provide their map on every related page. Randy Kryn (talk) 13:36, 18 July 2018 (UTC)[reply]
TG6 applies here in my opinion. This template is not sorted by geographic, topical, or other sensible criteria, it is a list of every theme park ride in every park all over the world. A template for each "land" or park would make sense, but throwing all of these links together is unnecessary and better fits the purpose of a list or category. James (talk/contribs) 14:48, 19 July 2018 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).
The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was delete. (non-admin closure) Hhkohh (talk) 16:03, 23 July 2018 (UTC)[reply]

All unused currently.

These are the first {{S-line}} templates replaced entirely by {{Adjacent stations}}, a Lua-based successor to that series. The data is now in Module:Adjacent stations/MTR Light Rail. Jc86035 (talk) 10:44, 12 July 2018 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).
The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was relisted on 2018 July 24. Primefac (talk) 00:23, 24 July 2018 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).
The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was No consensus to delete at this time. (non-admin closure) Hhkohh (talk) 16:04, 23 July 2018 (UTC)[reply]

already covered in Wardens of Sing Sing, template full of redlinks of non-notable people is not necessary Rusf10 (talk) 18:32, 23 June 2018 (UTC)[reply]

Relisted to generate a more thorough discussion and clearer consensus.
Please add new comments below this notice. Thanks, Pkbwcgs (talk) 08:21, 1 July 2018 (UTC)[reply]
Relisted to generate a more thorough discussion and clearer consensus.
Please add new comments below this notice. Thanks, Primefac (talk) 02:50, 12 July 2018 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).