Template talk:GA nominee
| To help centralize discussions and keep related topics together, several GAN subtemplate talk pages redirect here. |
| On 20 April 2026, it was proposed that this page be moved from Template:GA nominee to Template:Good article nominee. The result of the discussion was moved. |
Sandbox updated with some additional validation and emphasis in the error reporting
[edit]I have updated the sandbox version of this template with the intention of making the errors more visible to the user (red/bold "Error") and catching a couple of additional error cases. I am not an expert in template syntax so I used an AI to help create the revised version. See here for the relevant discussion. I've looked at the Template:GA nominee/testcases subpage, and I see Prhartcom was involved in setting those up, hence the ping. Prhartcom (and anyone else watching this): I'm proposing to:
- Require the status and page parameters (this is a change)
- Require the subtopic parameter
- Check for invalid values or aliases for the status and subtopic
- Allow multiple simultaneous errors
I would also like to check for:
- No/invalid time parameter
- Non-numeric page parameter
But those can wait. If this revised code looks OK, I will post a note at a couple of places to let people know the change is proposed before actually making the change, but I don't want to do that until someone who understands templates better than I do takes a look at the changes. Mike Christie (talk - contribs - library) 12:32, 13 March 2026 (UTC)
- I like this idea of additional validation a great deal. I am comparing the text changes and will reply back soon. Prhartcom (talk) 18:24, 15 March 2026 (UTC)
- Mike Christie, the status parameter is of course supposed to be blank when the review page does not yet exist. Should we first check for the existance of the specified review page before the validation to ensure the status parm is provided? Prhartcom (talk) 23:57, 15 March 2026 (UTC)
- I think the status parameter should be present, even if empty. Anything else means the user has constructed the nomination template for themselves rather than using subst; that's the main source of errors with this template, along with people copying the previous nomination template and editing it, which leads to duplicate page numbers. Mike Christie (talk - contribs - library) 00:34, 16 March 2026 (UTC)
- Right, and for that, your template enhancement will work well for both the No parameters test case and the No populated parameters tast case. But certainly "status=blank" is a valid value meaning the article is waiting to be reviewed, and would false-positive your new error message on hundreds of Talk pages, wouldn't it? But we could first check for the existance of the review page, and only display the error if it exists AND the status parm is blank/not present. Sound correct? Prhartcom (talk) 01:22, 16 March 2026 (UTC)
- D'oh. You're right, of course; I thought I had looked at that case but evidently not. Yes, that sounds correct; if you can make it do that that would be great. FYI, improving this template is part of an effort I'm making to change the way errors in the GA process reported by ChristieBot are managed. The GAN page does show most errors, but most users -- particularly the new users who tend to make most of the mistakes -- rarely look at that page. Would it make sense to add a note to the error message directing people to WT:GAN for assistance if they're not sure what they've done wrong? Mike Christie (talk - contribs - library) 01:32, 16 March 2026 (UTC)
- I don't think we need the error message to direct to the template talk page. Prhartcom (talk) 02:07, 23 March 2026 (UTC)
- D'oh. You're right, of course; I thought I had looked at that case but evidently not. Yes, that sounds correct; if you can make it do that that would be great. FYI, improving this template is part of an effort I'm making to change the way errors in the GA process reported by ChristieBot are managed. The GAN page does show most errors, but most users -- particularly the new users who tend to make most of the mistakes -- rarely look at that page. Would it make sense to add a note to the error message directing people to WT:GAN for assistance if they're not sure what they've done wrong? Mike Christie (talk - contribs - library) 01:32, 16 March 2026 (UTC)
- Right, and for that, your template enhancement will work well for both the No parameters test case and the No populated parameters tast case. But certainly "status=blank" is a valid value meaning the article is waiting to be reviewed, and would false-positive your new error message on hundreds of Talk pages, wouldn't it? But we could first check for the existance of the review page, and only display the error if it exists AND the status parm is blank/not present. Sound correct? Prhartcom (talk) 01:22, 16 March 2026 (UTC)
- I think the status parameter should be present, even if empty. Anything else means the user has constructed the nomination template for themselves rather than using subst; that's the main source of errors with this template, along with people copying the previous nomination template and editing it, which leads to duplicate page numbers. Mike Christie (talk - contribs - library) 00:34, 16 March 2026 (UTC)
Mike Christie, I need your help understanding this:
{{#if:{{{status|}}}
| {{#ifeq:{{GAN/Status|{{{status}}}}}||[[Category:GAN error|{{PAGENAME}}]]}}
| [[Category:GAN error|{{PAGENAME}}]]
}}
OK, "If the status parameter was provided"
| value if true
| value if false
so I understand that we are trying to set the error category if the condition is false (if the status parameter was not provided). And if the status parameter was provided, we perform the #ifeq. But the #ifeq has four parts, not three:
string1 | string2 | value if equal | value if different
Here is string1 -- {{GAN/Status|{{{status}}}}}
string2 appears to be missing
value if equal -- null
value if different -- set the error category
So, it looks like the syntax is incorrect: string2 is missing.
And regarding string1: {{GAN/Status|{{{status}}}}}
I understand Template:GAN/Status has one required parameter; we are passing it the value of 'status'.
It will return one of these three strings: "on review", "on hold", "2nd opinion", or null if an invalid value was passed.
I assume string2 was supposed to be: {{{status}}}.
So the #ifeq was meant to compare the three valid status values to the status actually passed. But this may not perform as expected, as the #ifeq will eventually compare "on review" to the valid "onreview" or "on hold" to the valid "onhold" or "2nd opinion" to the valid "2ndopinion" and consider those invalid input.
Please correct my misunderstanding on these two. Prhartcom (talk) 20:53, 22 March 2026 (UTC)
- No problem after all, Mike. I wanted to make sure I kept in what you needed. I just updated the template sandbox again. I think it accomplishes it, as well as some other consistency changes that I made. I'll implement it soon. Prhartcom (talk) 01:55, 23 March 2026 (UTC)
- I support your efforts with ChristieBot and I support these efforts you are making to change the way errors in the GA process are reported. Do let me know on my talk page any time you need assistace with this template or anything else. Cheers. Prhartcom (talk) 02:12, 23 March 2026 (UTC)
- Hi Prhartcom, sorry, been very busy IRL the last few days. I'm not sure if it's clear from my previous posts, so just to be transparent: I didn't write this template code -- I told an AI what I wanted the template to validate and then pasted it into the sandbox to check it (and as you know I didn't check one of the key validations). That's one reason I wanted others to review the code, quite aside from needing to do the sandbox testing. If you think this is now OK, I'd like to post a couple of notices to WT:GAN and the Article Alerts talk page, and possibly other places since it's a widely used template, and see if there are comments before we go live with this version. Or if you prefer we could add more validations -- the others I know about are that there should always be a timestamp parameter, and it should be a valid timestamp format; and the page parameter should be numeric. Mike Christie (talk - contribs - library) 21:58, 24 March 2026 (UTC)
- Mike Christie, I just coded the timestamp and numeric page validations as well. I am ready to implement this when you are. Prhartcom (talk) 02:41, 25 March 2026 (UTC)
- I'll post a note at WT:GAN, but can I just check on those last two validations? When I try a test case with "page=x" I get 'Expression error: Unrecognized word "x".' That's certainly complaining about a non-numeric value, but is it possible to make it say "must be numeric"? And when I try a test case with no timestamp parameter it doesn't give me an error message. Mike Christie (talk - contribs - library) 09:56, 25 March 2026 (UTC)
- Mike, you're right, and I just fixed that one; try it again (check the testcase page). But I wasn't able to validate the timestamp parameter after all; I can only check if the 5 tildas are present but not after that is converted into a date. Prhartcom (talk) 12:36, 25 March 2026 (UTC)
- The page number fix looks good. For the timestamp parameter, can we also check to see if there is any data at all? E.g. can we make this: {{GA nominee|page=1|subtopic=Biology and medicine|nominator=[[User:Mike Christie]]|shortdesc=Species of reptile}} complain that no timestamp is given? I've seen this happen once or twice when an editor hand-edits the template. Mike Christie (talk - contribs - library) 12:57, 25 March 2026 (UTC)
- Done. I think we're ready now. Prhartcom (talk) 13:31, 25 March 2026 (UTC)
- OK, will post a note at WT:GAN in just a moment. Thanks! Mike Christie (talk - contribs - library) 13:34, 25 March 2026 (UTC)
- Mike Christie, one of the things to tell people is Category:GAN error will now have the GAN pages with an error. Prhartcom (talk) 13:44, 25 March 2026 (UTC)
- Can do -- but I'm actually not sure what that category was used for before, if GA nominee errors didn't place pages in that category? Mike Christie (talk - contribs - library) 14:17, 25 March 2026 (UTC)
- Because that category was being used before only when the template was being called from other than an article Talk page. Now for the new version, whenever the Talk page of a GAN shows a red error to anyone, that GAN page should already be added to the category. So if this works, we should see more GANs in this category. If so, hopefully volunteers can keep an eye on that category. After we first wait to see if this works, of course. Prhartcom (talk) 19:44, 25 March 2026 (UTC)
- Can do -- but I'm actually not sure what that category was used for before, if GA nominee errors didn't place pages in that category? Mike Christie (talk - contribs - library) 14:17, 25 March 2026 (UTC)
- Mike Christie, one of the things to tell people is Category:GAN error will now have the GAN pages with an error. Prhartcom (talk) 13:44, 25 March 2026 (UTC)
- OK, will post a note at WT:GAN in just a moment. Thanks! Mike Christie (talk - contribs - library) 13:34, 25 March 2026 (UTC)
- Done. I think we're ready now. Prhartcom (talk) 13:31, 25 March 2026 (UTC)
- The page number fix looks good. For the timestamp parameter, can we also check to see if there is any data at all? E.g. can we make this: {{GA nominee|page=1|subtopic=Biology and medicine|nominator=[[User:Mike Christie]]|shortdesc=Species of reptile}} complain that no timestamp is given? I've seen this happen once or twice when an editor hand-edits the template. Mike Christie (talk - contribs - library) 12:57, 25 March 2026 (UTC)
- Mike, you're right, and I just fixed that one; try it again (check the testcase page). But I wasn't able to validate the timestamp parameter after all; I can only check if the 5 tildas are present but not after that is converted into a date. Prhartcom (talk) 12:36, 25 March 2026 (UTC)
- I'll post a note at WT:GAN, but can I just check on those last two validations? When I try a test case with "page=x" I get 'Expression error: Unrecognized word "x".' That's certainly complaining about a non-numeric value, but is it possible to make it say "must be numeric"? And when I try a test case with no timestamp parameter it doesn't give me an error message. Mike Christie (talk - contribs - library) 09:56, 25 March 2026 (UTC)
- Mike Christie, I just coded the timestamp and numeric page validations as well. I am ready to implement this when you are. Prhartcom (talk) 02:41, 25 March 2026 (UTC)
<!--Specified page non-numeric--><p><span style="color:#d33; font-weight:bold;">Error:</span> The <code>{{!}}page=</code> parameter is invalid. Please use the page parameter to specify the number of the next free GAN review page, e.g. page=1. Call {{tls|GAN|subtopic={{{subtopic|}}}}} instead to find the next free page automatically.</p><includeonly>[[Category:GAN error]]</includeonly>
Prhartcom, I just ran into Talk:North Korean Postal Service, where the user has posted a note in the shortdesc field by mistake. This caused the bot to fail as the field is too long; I'm going to fix that by truncating the line before inserting it, but could we also put up a template error when the shortdesc is longer than N characters? I have 200 characters in the bot's database, and a short description should never be anything like that long, so that would work for N. Mike Christie (talk - contribs - library) 11:14, 26 March 2026 (UTC)
- Okay. Now is the best time. We will error if length of shortdesc > 200. Prhartcom (talk) 22:29, 26 March 2026 (UTC)
- Great. I think if nobody has commented by tomorrow, we can go ahead and make this live. Mike Christie (talk - contribs - library) 00:02, 27 March 2026 (UTC)
- Roger that; I'll let you know. This last bit is working. New testcase for it. Template:GA nominee/testcases Prhartcom (talk) 00:14, 27 March 2026 (UTC)
- If it's easy, could we also test for the note being > 1000 characters? Another editor moved the incorrect shortdesc to the note field, but it's more than 1,000 characters which is the database limit and so is being truncated. I could also lengthen the database field if we think there's a valid reason to have notes that long. Mike Christie (talk - contribs - library) 00:22, 27 March 2026 (UTC)
- It was easy. Done. Prhartcom (talk) 01:16, 27 March 2026 (UTC)
- Thank you! I think this can go live now whenever you're ready. Mike Christie (talk - contribs - library) 10:22, 27 March 2026 (UTC)
- It was easy. Done. Prhartcom (talk) 01:16, 27 March 2026 (UTC)
- If it's easy, could we also test for the note being > 1000 characters? Another editor moved the incorrect shortdesc to the note field, but it's more than 1,000 characters which is the database limit and so is being truncated. I could also lengthen the database field if we think there's a valid reason to have notes that long. Mike Christie (talk - contribs - library) 00:22, 27 March 2026 (UTC)
- Roger that; I'll let you know. This last bit is working. New testcase for it. Template:GA nominee/testcases Prhartcom (talk) 00:14, 27 March 2026 (UTC)
- Great. I think if nobody has commented by tomorrow, we can go ahead and make this live. Mike Christie (talk - contribs - library) 00:02, 27 March 2026 (UTC)
Prhartcom, it looks like every GA nomination is now in Category:GAN error, which is presumably an error? Mike Christie (talk - contribs - library) 09:59, 28 March 2026 (UTC)
- (Sigh) Yes. I went to Izno, who figured out what it was. Now it is back to what I was hoping; for example, the North Korean Postal Service is there. Prhartcom (talk) 20:09, 28 March 2026 (UTC)
- Izno's fix was partial, so I asked ChatGPT and it gave me a fix to try -- looks like it worked. Mike Christie (talk - contribs - library) 20:30, 28 March 2026 (UTC)
- Izno's fix was perfect. Prhartcom (talk) 19:52, 31 March 2026 (UTC)
- Izno's fix was partial, so I asked ChatGPT and it gave me a fix to try -- looks like it worked. Mike Christie (talk - contribs - library) 20:30, 28 March 2026 (UTC)
Self-resolving errors. Satisfiying. diff Prhartcom (talk) 17:34, 29 March 2026 (UTC)
An inconsistency with ChristieBot
[edit]Pinging Prhartcom and Izno as they've worked on this template in the last few days. There's one remaining inconsistency between what this template reports as an error and what ChristieBot will accept. The bot accepts any of the following variants:
Python dictionary of valid subtopic variants (in lower case)
|
|---|
subtopic_var_dict = {}
subtopic_var_dict['agriculture, food and drink']='Agriculture, food and drink'
subtopic_var_dict['agriculture']='Agriculture, food and drink'
subtopic_var_dict['cuisine']='Agriculture, food and drink'
subtopic_var_dict['cuisines']='Agriculture, food and drink'
subtopic_var_dict['cultivation']='Agriculture, food and drink'
subtopic_var_dict['drink']='Agriculture, food and drink'
subtopic_var_dict['farming and cultivation']='Agriculture, food and drink'
subtopic_var_dict['farming']='Agriculture, food and drink'
subtopic_var_dict['food and drink']='Agriculture, food and drink'
subtopic_var_dict['food']='Agriculture, food and drink'
subtopic_var_dict['art and architecture']='Art and architecture'
subtopic_var_dict['art']='Art and architecture'
subtopic_var_dict['architecture']='Art and architecture'
subtopic_var_dict['engineering and technology']='Computing and engineering'
subtopic_var_dict['engtech']='Computing and engineering'
subtopic_var_dict['applied sciences and technology']='Computing and engineering'
subtopic_var_dict['applied sciences']='Computing and engineering'
subtopic_var_dict['computers']='Computing and engineering'
subtopic_var_dict['computing and engineering']='Computing and engineering'
subtopic_var_dict['computing']='Computing and engineering'
subtopic_var_dict['eng']='Computing and engineering'
subtopic_var_dict['engineering']='Computing and engineering'
subtopic_var_dict['technology']='Computing and engineering'
subtopic_var_dict['transport']='Transport'
subtopic_var_dict['geography and places']='Geography'
subtopic_var_dict['geography']='Geography'
subtopic_var_dict['places']='Places'
subtopic_var_dict['history']='World history'
subtopic_var_dict['archaeology']='World history'
subtopic_var_dict['world history']='World history'
subtopic_var_dict['royalty, nobility and heraldry']='Royalty, nobility and heraldry'
subtopic_var_dict['heraldry']='Royalty, nobility and heraldry'
subtopic_var_dict['nobility']='Royalty, nobility and heraldry'
subtopic_var_dict['royalty']='Royalty, nobility and heraldry'
subtopic_var_dict['language and literature']='Language and literature'
subtopic_var_dict['langlit']='Language and literature'
subtopic_var_dict['languages and linguistics']='Language and literature'
subtopic_var_dict['languages and literature']='Language and literature'
subtopic_var_dict['languages']='Language and literature'
subtopic_var_dict['linguistics']='Language and literature'
subtopic_var_dict['lit']='Language and literature'
subtopic_var_dict['literature']='Language and literature'
subtopic_var_dict['mathematics and mathematicians']='Mathematics and mathematicians'
subtopic_var_dict['mathematics']='Mathematics and mathematicians'
subtopic_var_dict['math']='Mathematics and mathematicians'
subtopic_var_dict['maths']='Mathematics and mathematicians'
subtopic_var_dict['media and drama']='Media and drama'
subtopic_var_dict['drama']='Media and drama'
subtopic_var_dict['ballet']='Media and drama'
subtopic_var_dict['dance']='Media and drama'
subtopic_var_dict['film']='Film'
subtopic_var_dict['films']='Film'
subtopic_var_dict['media']='Media and drama'
subtopic_var_dict['opera']='Media and drama'
subtopic_var_dict['television']='Television'
subtopic_var_dict['theater']='Media and drama'
subtopic_var_dict['theatre']='Media and drama'
subtopic_var_dict['theatre, film and drama']='Media and drama'
subtopic_var_dict['music']='Other music articles'
subtopic_var_dict['classical compositions']='Other music articles'
subtopic_var_dict['other music articles']='Other music articles'
subtopic_var_dict['albums']='Albums'
subtopic_var_dict['songs']='Songs'
subtopic_var_dict['natural sciences']='Physics and astronomy'
subtopic_var_dict['natsci']='Physics and astronomy'
subtopic_var_dict['astronomy']='Physics and astronomy'
subtopic_var_dict['astrophysics']='Physics and astronomy'
subtopic_var_dict['cosmology']='Physics and astronomy'
subtopic_var_dict['natural science']='Physics and astronomy'
subtopic_var_dict['natural sciences']='Physics and astronomy'
subtopic_var_dict['physics and astronomy']='Physics and astronomy'
subtopic_var_dict['physics']='Physics and astronomy'
subtopic_var_dict['biology and medicine']='Biology and medicine'
subtopic_var_dict['biology']='Biology and medicine'
subtopic_var_dict['medicine']='Biology and medicine'
subtopic_var_dict['chemistry and materials science']='Chemistry and materials science'
subtopic_var_dict['chemistry']='Chemistry and materials science'
subtopic_var_dict['atmospheric science']='Earth sciences'
subtopic_var_dict['earth science']='Earth sciences'
subtopic_var_dict['earth sciences']='Earth sciences'
subtopic_var_dict['geology']='Earth sciences'
subtopic_var_dict['geophysics']='Earth sciences'
subtopic_var_dict['meteorology and atmospheric science']='Earth sciences'
subtopic_var_dict['mineralogy']='Earth sciences'
subtopic_var_dict['meteorology']='Earth sciences'
subtopic_var_dict['philosophy and religion']='Philosophy and religion'
subtopic_var_dict['philrelig']='Philosophy and religion'
subtopic_var_dict['mysticism']='Philosophy and religion'
subtopic_var_dict['myth']='Philosophy and religion'
subtopic_var_dict['mythology']='Philosophy and religion'
subtopic_var_dict['phil']='Philosophy and religion'
subtopic_var_dict['philosophy']='Philosophy and religion'
subtopic_var_dict['relig']='Philosophy and religion'
subtopic_var_dict['religion']='Philosophy and religion'
subtopic_var_dict['religion, mysticism and mythology']='Philosophy and religion'
subtopic_var_dict['culture, sociology and psychology']='Culture, sociology and psychology'
subtopic_var_dict['culture, society and psychology']='Culture, sociology and psychology'
subtopic_var_dict['culture, sociology, and psychology']='Culture, sociology and psychology'
subtopic_var_dict['culture, society, and psychology']='Culture, sociology and psychology'
subtopic_var_dict['social sciences and society']='Culture, sociology and psychology'
subtopic_var_dict['socsci']='Culture, sociology and psychology'
subtopic_var_dict['culture and society']='Culture, sociology and psychology'
subtopic_var_dict['culture']='Culture, sociology and psychology'
subtopic_var_dict['psychology']='Culture, sociology and psychology'
subtopic_var_dict['social science']='Culture, sociology and psychology'
subtopic_var_dict['social sciences']='Culture, sociology and psychology'
subtopic_var_dict['society']='Culture, sociology and psychology'
subtopic_var_dict['education']='Education'
subtopic_var_dict['economics and business']='Economics and business'
subtopic_var_dict['business and economics']='Economics and business'
subtopic_var_dict['business']='Economics and business'
subtopic_var_dict['economics']='Economics and business'
subtopic_var_dict['law']='Law'
subtopic_var_dict['journalism and media']='Magazines and print journalism'
subtopic_var_dict['journalism']='Magazines and print journalism'
subtopic_var_dict['magazines and print journalism']='Magazines and print journalism'
subtopic_var_dict['media and journalism']='Magazines and print journalism'
subtopic_var_dict['gov']='Politics and government'
subtopic_var_dict['government']='Politics and government'
subtopic_var_dict['politics and government']='Politics and government'
subtopic_var_dict['politics']='Politics and government'
subtopic_var_dict['sports and recreation']='Other sports'
subtopic_var_dict['other sports']='Other sports'
subtopic_var_dict['sports']='Other sports'
subtopic_var_dict['everyday life']='Recreation'
subtopic_var_dict['everydaylife']='Recreation'
subtopic_var_dict['games']='Recreation'
subtopic_var_dict['recreation']='Recreation'
subtopic_var_dict['sports (other)']='Other sports'
subtopic_var_dict['sport and recreation']='Other sports'
subtopic_var_dict['sport']='Other sports'
subtopic_var_dict['sports (football)']='Football'
subtopic_var_dict['football']='Football'
subtopic_var_dict['association football']='Football'
subtopic_var_dict['soccer']='Football'
subtopic_var_dict['american football']='Football'
subtopic_var_dict['canadian football']='Football'
subtopic_var_dict['gridiron football']='Football'
subtopic_var_dict['gaelic football']='Football'
subtopic_var_dict['australian football']='Football'
subtopic_var_dict['australian rules football']='Football'
subtopic_var_dict['rugby']='Football'
subtopic_var_dict['rugby union']='Football'
subtopic_var_dict['rugby league']='Football'
subtopic_var_dict['video games']='Video games'
subtopic_var_dict['video and computer games']='Video games'
subtopic_var_dict['warfare']='Warfare'
subtopic_var_dict['war']='Warfare'
subtopic_var_dict['aircraft']='Warfare'
subtopic_var_dict['battles and exercises']='Warfare'
subtopic_var_dict['battles']='Warfare'
subtopic_var_dict['decorations and memorials']='Warfare'
subtopic_var_dict['military']='Warfare'
subtopic_var_dict['military people']='Warfare'
subtopic_var_dict['units']='Warfare'
subtopic_var_dict['war and military']='Warfare'
subtopic_var_dict['warships']='Warfare'
subtopic_var_dict['weapons and buildings']='Warfare'
subtopic_var_dict['weapons']='Warfare'
subtopic_var_dict['miscellaneous']='Miscellaneous'
|
The template is more restrictive. See Talk:Red triangle (Palestinian symbol) for an example of a nomination which this template complains about but which ChristieBot accepts. Is there a way to fix this in the template? I think the less restrictive list is fine, but I don't want to just lose the validation being done by this template. Mike Christie (talk - contribs - library) 15:12, 29 March 2026 (UTC)
- You will need to add any differences to Template:GA/Subtopic. I see that one is there but missing a comma in the template (which should be added as a separate value). Consider whether it's valuable to support the difference of an Oxford comma or not. Izno (talk) 17:02, 29 March 2026 (UTC)
- OK, I'll add the missing ones. Thanks. Re the Oxford comma, I'll probably just add the ones that are in ChristieBot's list, for now. Mike Christie (talk - contribs - library) 17:04, 29 March 2026 (UTC)
- I added Culture, sociology, and psychology to Template:GA/Subtopic; confirm fixed. Prhartcom (talk) 17:57, 29 March 2026 (UTC)
- OK, I'll add the missing ones. Thanks. Re the Oxford comma, I'll probably just add the ones that are in ChristieBot's list, for now. Mike Christie (talk - contribs - library) 17:04, 29 March 2026 (UTC)
I started making these edits and then stopped, because I realized there are actually three places that these subtopics->topics mappings are defined. One is in ChristieBot; the others are in Module:Good article topics/data and Template:GA/Subtopic. It appears that that module already has these updates in place. Is there any way to make the template refer to that module's data for the information it needs? I can probably make ChristieBot treat that as a dictionary; if we can make both of those changes then we will have the definition in a single place, which would avoid this sort of inconsistency in the future. Mike Christie (talk - contribs - library) 19:47, 29 March 2026 (UTC)
- In my opinion, no Python file should ever contain hardcoded data. Instead, programs should get constants from files that are a single source of truth available to all Wikipedians. For example, some programs read from the WP:GA/all file to get the valid topics/subtopics. Templates, unlike a python script, are not programs and can only decide what internal text to output; they don't read data from external files into an array. Prhartcom (talk) 20:45, 29 March 2026 (UTC)
- I agree, and will make ChristieBot read one or other of these two sources of data. But can we eliminate the on-wiki duplication? Mike Christie (talk - contribs - library) 20:55, 29 March 2026 (UTC)
- Looking again, the module and template do not contain the same information. The module maps the aliases directly to topics, not subtopics. The template maps them to subtopics, and in principle I could use that, but I hate to parse that kind of information out of code. I think it would be better to create a subtopic module and use that. I will come back to this once I've fixed a couple of other issues. Mike Christie (talk - contribs - library) 10:08, 30 March 2026 (UTC)
- I support what you say. What template invokes this Module:Good article topics/data? I did not know about it. I see that it is Lua. Prhartcom (talk) 23:37, 30 March 2026 (UTC)
- I'll see if I can figure out how the pieces fit together. A Module:Good article subtopics/data might be a suitable solution. I don't know Lua but perhaps ChatGPT can get me started. Mike Christie (talk - contribs - library) 11:09, 31 March 2026 (UTC)
- OK, the template that invokes Module:Good article topics is Template:GA/Topic. Module:Good article topics calls Module:Good article topics/data. The purpose of Template:GA/Topic is to validate good article topics.
If you ask me, that is way too much code to do that; it could have been contained in one file likeTemplate:GA/Subtopic validates GAN subtopics, but whatever, Template:GA/Topic and Template:GA/Subtopic are the ways to validate those two things. Why would you need to write any modules. Prhartcom (talk) 18:12, 31 March 2026 (UTC)
- OK, the template that invokes Module:Good article topics is Template:GA/Topic. Module:Good article topics calls Module:Good article topics/data. The purpose of Template:GA/Topic is to validate good article topics.
- I'll see if I can figure out how the pieces fit together. A Module:Good article subtopics/data might be a suitable solution. I don't know Lua but perhaps ChatGPT can get me started. Mike Christie (talk - contribs - library) 11:09, 31 March 2026 (UTC)
- I support what you say. What template invokes this Module:Good article topics/data? I did not know about it. I see that it is Lua. Prhartcom (talk) 23:37, 30 March 2026 (UTC)
- Looking again, the module and template do not contain the same information. The module maps the aliases directly to topics, not subtopics. The template maps them to subtopics, and in principle I could use that, but I hate to parse that kind of information out of code. I think it would be better to create a subtopic module and use that. I will come back to this once I've fixed a couple of other issues. Mike Christie (talk - contribs - library) 10:08, 30 March 2026 (UTC)
- I agree, and will make ChristieBot read one or other of these two sources of data. But can we eliminate the on-wiki duplication? Mike Christie (talk - contribs - library) 20:55, 29 March 2026 (UTC)
- And I am answering my own question: it is because we should use the Python dictionary of valid subtopic variants as the single source of truth here in Wikipedia, the same constant list used by ChristieBot. OK, if so, all we have to do is ensure that list is here: Template:GA/Subtopic. Prhartcom (talk) 19:52, 31 March 2026 (UTC)
- I'd say Lua is about as easy as Python.
- If there's a desire to have one actual source of truth rather than even the two or three now, we can Special:ChangeContentModel to make a module page a JSON page (there would need to be a change in the consuming module/templates also, there is a function to load JSON data). Izno (talk) 06:08, 1 April 2026 (UTC)
- Yea, Lua reminds me of Basic. :-) I remember seeing Lua in computer games.
- It's up to Mike, but I don't think we need to have that desire. I think the inconsistency with ChristieBot is resolved, and all we should hope to strive for is keeping these lists between ChristieBot and Wikipedia relatively synchonised. Prhartcom (talk) 18:30, 1 April 2026 (UTC)
- I'm OK with leaving it as is. My OCD tells me to make it a single source of truth but I don't think it's too much of a mess as is. I am a bit busy IRL at the moment so have not finished bringing the existing lists of valid subtopics in sync but will get back to it at some point. Mike Christie (talk - contribs - library) 19:17, 1 April 2026 (UTC)
Remove category error for blank status and review page exists
[edit]Prhartcom, I've watchlisted the GAN error category, and I think I was wrong to ask you to add one of the error cases. When a reviewer creates a review page, the bot is supposed to come along later and add the "onreview" status to the nominee template -- we have never asked the user to do this. That means that there is always a short period with a review page but a blank status. The template currently puts that in the GAN error category which means that every single review gets put in that category until the bot fixes it. I think we need to remove that error case; that's normal processing and should not trigger errors, or people will just start ignoring the GAN error category. The bot will add the review status, and I'm going to add a bit more code to make sure it finds and fixes any cases where the page is in an inconsistent state. Mike Christie (talk - contribs - library) 10:13, 30 March 2026 (UTC)
- I see now; yes, this is the "Specified review page exists and no status specified" condition. I see this is perfectly normal for every GAN for about 30 minutes, isn't it. No longer calling it an error means we won't catch when someone accidently blanks out a valid status. That probably doesn't happen very much. So I just removed this. Prhartcom (talk) 18:41, 30 March 2026 (UTC)
- Thanks -- I think things are pretty clean now for error reporting! Mike Christie (talk - contribs - library) 19:02, 30 March 2026 (UTC)
- And I realized I had added this to the bot's own reporting too; now removed as well. Mike Christie (talk - contribs - library) 11:08, 31 March 2026 (UTC)
- Thanks -- I think things are pretty clean now for error reporting! Mike Christie (talk - contribs - library) 19:02, 30 March 2026 (UTC)
Requested move 20 April 2026
[edit]- The following is a closed discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. Editors desiring to contest the closing decision should consider a move review after discussing it on the closer's talk page. No further edits should be made to this discussion.
The result of the move request was: moved. Closing as moved. some of the opposes are on issues that might be caused with ChristieBot; I've written a patch that should fix any issues. (closed by non-admin page mover) msk 01:19, 20 May 2026 (UTC)
- Template:GA nominee → Template:Good article nominee
- Template:GAN → Template:Good article nomination
- Template:GAR → Template:Good article reassessment
- Template:FTC → Template:Featured topic candidate
- Template:FAR → Template:Featured article review archives
- Template:FLC → Template:Featured list candidate
- Template:GA → Template:Good article banner (updated following comments below)
Template:Good article → Template:Good article topicon
– Per WP:TPN I've been making a push to get our acronym templates expanded for clarity, because new editors will not always have a clear idea what GAR or FAR actually mean. Primefac (talk) 20:41, 20 April 2026 (UTC) — Relisting. ⹃Maltazarian ᚾparleyinvestigateᛅ 21:15, 27 April 2026 (UTC) — Relisting. Jack Frost (talk) 04:49, 5 May 2026 (UTC)
- Oppose FAR. No comment on the others. The template is not an archives template. DrKay (talk) 05:33, 21 April 2026 (UTC)
- If you have a better suggestion for FAR I'm all ears, but with zero documentation and no obvious indication of what it does
other than provide a list of archivesI figured that was the most appropriate name. Primefac (talk) 01:24, 23 April 2026 (UTC)- It doesn't provide a list of archives. I'm inclined to oppose all now. The nomination doesn't appear to understand how these templates interact with automated and semi-automated processes. DrKay (talk) 16:38, 23 April 2026 (UTC)
It literally does; there are a dozen lines in the vein of addingNothing in the automated processes will change because the redirects will still be available. Primefac (talk) 00:58, 24 April 2026 (UTC){{featured article review{{{{{|safesubst:}}}!}}{{{{{|safesubst:}}}PAGENAME}}/archiveNN}}.- Oppose all. The nomination does not understand the purpose of the templates or what they do. Unnecessary risk to and work involved in testing automated and semi-automated processes reliant on the templates. DrKay (talk) 08:18, 24 April 2026 (UTC)
- The purpose of the templates is relatively irrelevant. Redirects will ensure that all functionality will be retained, and regardless I am not going to throw a metaphorical grenade and then go "whoops, everything's broken now that the templates have been renamed, whoops!" I am more than happy to sort out updates if these templates are renamed. I have been working in the template space for more than a decade; I am well aware of how template families work an interact. Primefac (talk) 10:10, 24 April 2026 (UTC)
- Oppose all. The nomination does not understand the purpose of the templates or what they do. Unnecessary risk to and work involved in testing automated and semi-automated processes reliant on the templates. DrKay (talk) 08:18, 24 April 2026 (UTC)
- From what I understand, {{FAR}} is used to check for the existence of previous featured article reviews for the same article (such as this) before creating a new review (if
.../archive1exists, create a message box that prompts editors to create.../archive2). It doesn't provide a list of any sort. Kibblebrain (talk) 01:38, 30 April 2026 (UTC)- This is exactly why descriptive template names (and documentation) are important! I'm happy to entertain a different name for this one. I do note, somewhat embarrasingly, that when I first noticed this template I did correctly interpret its usage, and I apologise to DrKay for my angry replies above Primefac (talk) 08:56, 30 April 2026 (UTC)
- I think it'd be hard to give {{FAR}} a concise and descriptive name, since it acts more like a wrapper and constructor for {{Featured article review}}. Something like {{Featured article review creator}} might work. Kibblebrain (talk) 18:53, 30 April 2026 (UTC)
- This is exactly why descriptive template names (and documentation) are important! I'm happy to entertain a different name for this one. I do note, somewhat embarrasingly, that when I first noticed this template I did correctly interpret its usage, and I apologise to DrKay for my angry replies above Primefac (talk) 08:56, 30 April 2026 (UTC)
- It doesn't provide a list of archives. I'm inclined to oppose all now. The nomination doesn't appear to understand how these templates interact with automated and semi-automated processes. DrKay (talk) 16:38, 23 April 2026 (UTC)
- If you have a better suggestion for FAR I'm all ears, but with zero documentation and no obvious indication of what it does
- Oppose Good article; it says what it is. It is a good article, and even if we decide on something other than a top icon, it remains a good article. Furthermore, it will make the entire history a big mess if "Good article" is changed to a different meaning (Template:GA). Christian75 (talk) 06:34, 21 April 2026 (UTC)
- I am amenable to a different option for the GA/Good article pair if you have one; my primary interest is giving a longer name for GA. Would {{Good article banner}} work better? Primefac (talk) 01:26, 23 April 2026 (UTC)
- Support Template redirects can make it so the old names can still be used for convenience sake, and still show up in page histories, negating the previous oppose, so I see no downside to this. It's mostly just uncontroversial housekeeping and improvement. If there are any incorrect lengthened names, they should be noted, but that only shows the further necessity for specificity. ᴢxᴄᴠʙɴᴍ (ᴛ) 10:56, 21 April 2026 (UTC)
- @Zxcvbnm: How? Did you see that GA should be moved to "Good article"? And "Good article" should be moved to "good article topicon" ? Christian75 (talk) 12:46, 21 April 2026 (UTC)
- I admittedly missed that, but it has since been stricken from the list and the nominator's open to switching the target for it. Opposing due to that is not considering the merits. I would definitely oppose anything that overwrote a current template for obvious reasons. ᴢxᴄᴠʙɴᴍ (ᴛ) 06:18, 28 April 2026 (UTC)
- @Zxcvbnm: How? Did you see that GA should be moved to "Good article"? And "Good article" should be moved to "good article topicon" ? Christian75 (talk) 12:46, 21 April 2026 (UTC)
- Oppose Idiotic reason. This user has no idea of the extent of work that would be needed to rename the GA nominee template. I just enhanced this template GA nominee last month (see the Talk page) while working with User:Mike Christie, author of ChristieBot, the bot that reads and manipulates this template every half hour. Leave well enough alone. Prhartcom (talk) 00:13, 22 April 2026 (UTC)
- I think it's pretty easy... go to Special:MovePage and type in some words. Primefac (talk) 01:23, 23 April 2026 (UTC)
- Oppose every one of these. Does this user understand that they would be committing themselves to making an edit to tens of thousands of Wikipedia articles just to change the called name of any of these widely used templates? Or perhaps there were no plans for proper housekeeping? Allow both the original and changed way to exist simultaneously? I'm sure intentions were well-meant, but next time, read the room. Prhartcom (talk) 22:55, 22 April 2026 (UTC)
- Please tell me why you think that I will need to edit thousands of pages. Primefac (talk) 01:23, 23 April 2026 (UTC)
- I'm not opposing yet, but ChristieBot would certainly break if we moved {{GA nominee}}, since it expects to find it when it parses talk pages. It could be fixed, of course, but I'd have to see how much work that is. I don't think the others would affect it except the GAR template; I'd have to check that one. I don't see much need for any of these moves -- the stated reason re new editors doesn't seem that important to me, because any editor new enough to not have heard of good articles or featured articles shouldn't be nominating or reviewing yet. And in fact you don't even have to know what the GA nominee template is called to use it -- it's created by substing the GAN template. Mike Christie (talk - contribs - library) 02:59, 23 April 2026 (UTC)
- Please tell me why you think that I will need to edit thousands of pages. Primefac (talk) 01:23, 23 April 2026 (UTC)
- Support. If there is some reason that the redirects that are left behind after these template moves won't do the exact same job as the new template names, then someone needs to explain that. With no such explanation this should be a slamdunk for clarity of names per the nom. P.I. Ellsworth , ed. – welcome! – 19:23, 28 April 2026 (UTC)
- The one area I'm aware of that would definitely cause a problem is ChristieBot, which manages the GAN page. It expects to find the {{GA nominee}} template (using that exact spelling) on the talk pages of nominated articles. If someone starts using {{Good article nominee}} instead, that would break the GAN page. As I said above, ChristieBot can be fixed, but I'm very busy IRL at the moment and can't commit to when it would be done. I would have to make that change before the new templates started to be used, in case that's not clear. Mike Christie (talk - contribs - library) 20:05, 28 April 2026 (UTC)
- I'm not clear why the redirect would not give your bot the same results. It's looking for GA nominee, is redirected to Good article nominee, and then proceeds as normal. Why wouldn't it work properly? Why would it have to be fixed? At present, {{Good article nominee}} redirects to {{GA nominee}}. That redirect was created in Feb 2019 and has been used for more than seven years. Are you saying that if someone uses that redirect instead of "GA nominee", it doesn't work??? P.I. Ellsworth , ed. – welcome! – 21:13, 28 April 2026 (UTC)
- No, you're right about the redirect; it would presumably work. (I mean if we make this change, and {{GA nominee}} becomes a redirect, it would continue to work.) What would not work is if someone used {{Good article nominee}}. I didn't realize that was already a real template, but right now it would not work if someone tried to use it, because ChristieBot is coded to explicitly look for the string "GA nominee" when constructing the GAN page. Presumably there are no instances of it because {{GAN}}, the GA nomination template, which is always substed, generates "GA nominee". So it would probably continue to work, just because there would be no actual uses of "Good article nominee". If the GAN template were changed to use "Good article nominee" rather than the redirect (as it would then be) "GA nominee" then every GAN nomination would fail. So if we were to do this, it probably wouldn't cause immediate failures, but really ChristieBot should be changed to cope just in case. Then {{GAN}} could be changed in its turn. I have to say I don't really see a lot of point in moving these and am tempted to oppose; these are not templates that new editors should be dealing with, and they work just fine as they are. Mike Christie (talk - contribs - library) 22:57, 28 April 2026 (UTC)
- Thank you for your explanation! This RM request isn't just about "new" editors who have recently registered. It's really about editors who are new to the GA process, no matter how long they've been registered. Many years ago I was a strong advocate for shortcuts, which means shortcut redirects. After several battles the argument for more transparency and clarity in page titles finally clicked with me. Wikipedia is puzzling enough for newcomers and one of my present goals is to make this project easier for them than it was for me in the beginning. I do agree that it is better to use non-redirects in templates as explained at WP:NOTBROKEN. How extensive a job would it be to alter your bot? Which to me just means how many different times does your bot and the GAN template call the GA nominee template? For example, if they each just call it one time, then both can be fixed in less than five minutes, correct? It would take longer if they call GA nominee more than once, and so on. For me, it is much, much better for the project to make things easier for all editors than it is to continue with cryptic, often ambiguous shortcut names. P.I. Ellsworth , ed. – welcome! – 03:18, 29 April 2026 (UTC)
- Probably more like half an hour to an hour, what with testing and so on, but yes, it's not that onerous. It would have to be synchronized with the change to GAN which I'm not competent to do; again I'd guess that would be reasonably quick. I'm busy and would not get to this immediately, but that's not a reason to oppose. For the moment I'm not supporting or opposing. Mike Christie (talk - contribs - library) 10:31, 30 April 2026 (UTC)
- Thank you for your explanation! This RM request isn't just about "new" editors who have recently registered. It's really about editors who are new to the GA process, no matter how long they've been registered. Many years ago I was a strong advocate for shortcuts, which means shortcut redirects. After several battles the argument for more transparency and clarity in page titles finally clicked with me. Wikipedia is puzzling enough for newcomers and one of my present goals is to make this project easier for them than it was for me in the beginning. I do agree that it is better to use non-redirects in templates as explained at WP:NOTBROKEN. How extensive a job would it be to alter your bot? Which to me just means how many different times does your bot and the GAN template call the GA nominee template? For example, if they each just call it one time, then both can be fixed in less than five minutes, correct? It would take longer if they call GA nominee more than once, and so on. For me, it is much, much better for the project to make things easier for all editors than it is to continue with cryptic, often ambiguous shortcut names. P.I. Ellsworth , ed. – welcome! – 03:18, 29 April 2026 (UTC)
- No, you're right about the redirect; it would presumably work. (I mean if we make this change, and {{GA nominee}} becomes a redirect, it would continue to work.) What would not work is if someone used {{Good article nominee}}. I didn't realize that was already a real template, but right now it would not work if someone tried to use it, because ChristieBot is coded to explicitly look for the string "GA nominee" when constructing the GAN page. Presumably there are no instances of it because {{GAN}}, the GA nomination template, which is always substed, generates "GA nominee". So it would probably continue to work, just because there would be no actual uses of "Good article nominee". If the GAN template were changed to use "Good article nominee" rather than the redirect (as it would then be) "GA nominee" then every GAN nomination would fail. So if we were to do this, it probably wouldn't cause immediate failures, but really ChristieBot should be changed to cope just in case. Then {{GAN}} could be changed in its turn. I have to say I don't really see a lot of point in moving these and am tempted to oppose; these are not templates that new editors should be dealing with, and they work just fine as they are. Mike Christie (talk - contribs - library) 22:57, 28 April 2026 (UTC)
- I'm not clear why the redirect would not give your bot the same results. It's looking for GA nominee, is redirected to Good article nominee, and then proceeds as normal. Why wouldn't it work properly? Why would it have to be fixed? At present, {{Good article nominee}} redirects to {{GA nominee}}. That redirect was created in Feb 2019 and has been used for more than seven years. Are you saying that if someone uses that redirect instead of "GA nominee", it doesn't work??? P.I. Ellsworth , ed. – welcome! – 21:13, 28 April 2026 (UTC)
- The one area I'm aware of that would definitely cause a problem is ChristieBot, which manages the GAN page. It expects to find the {{GA nominee}} template (using that exact spelling) on the talk pages of nominated articles. If someone starts using {{Good article nominee}} instead, that would break the GAN page. As I said above, ChristieBot can be fixed, but I'm very busy IRL at the moment and can't commit to when it would be done. I would have to make that change before the new templates started to be used, in case that's not clear. Mike Christie (talk - contribs - library) 20:05, 28 April 2026 (UTC)
- Support, these names are much clearer and there is no disadvantage really as people who are familiar with the acronyms can still use them to shorten code. We would likely need to wait a while before actually implementing the move though, as mentioned above, to let the bots and such be updated. {{GearsDatapacks|talk|contribs}} 10:05, 4 May 2026 (UTC)
- Relisting comment: Relisting to enable further discussion and the emergence of a clearer consensus. I would also nudge some of the participants in the discussion toward the fourth pillar and Graham's Hierarchy of Disagreement. Jack Frost (talk) 04:49, 5 May 2026 (UTC)
- Support - I see no justification for keeping the primary templates under obscure names. There is zero impact to day-to-day use because of the redirects. Follow the WP:TMPG and let the names clearly describe their functions. -- Netoholic @ 07:45, 5 May 2026 (UTC)
- Support all, including moving TM:Good article to the more descriptive "Good article topicon" (I don't know why that's been struck). Making the purpose of templates as clear as possible is crucial to lowering the barriers to new editors joining the project, and would reduce the confusion of old editors as well. Toadspike [Talk] 11:25, 5 May 2026 (UTC)
- From the comments above, it's because Good article is a more concise descriptor. If it ever gets changed from being a topicon, the title would still fit. Kibblebrain (talk) 16:18, 5 May 2026 (UTC)
- Comment: As previously noted, {{FAR}} finds the highest archive number for the nominated page before substituting {{featured article review}} with the argument
nominated page/archive. - Helper templates that perform the same function:
- {{FAC}} → {{featured article candidates}}
- {{FLC}} → {{featured list candidates}}
- {{GAN}} → {{GA nominee}}
- {{GAR}} → {{GAR/link}}
- While I can't think of a suitable long-form name for these helper templates,
archives
isn't a correct description. {{GAR}} can be expanded to {{Good article reassessment}} without conflicting with {{GAR/link}}, but the same can't be said for {{FAC}} or {{FLC}}. Kibblebrain (talk) 22:57, 5 May 2026 (UTC)
I noted in the discussion above that a couple of these moves would break ChristieBot if they were immediately put into use. I didn't think that would happen, but it turns out there is more overlap than I realized. I don't have time to fix ChristieBot immediately, so I am going to reverse some of the moves, and will reimplement them when I have time. I'll post a note at WT:GAN giving more details when the move reversals are done. Mike Christie (talk - contribs - library) 10:07, 21 May 2026 (UTC)
- No worries, thanks for taking care of that. Primefac (talk) 10:24, 21 May 2026 (UTC)