User talk:Mikeblas/Archives/2019/September
This edit summary. Not sure that 'edits' is appropriate. As you can see here, my only edit to the page (grammar in the lead apart) was to correct where a previous editor had added both <ref> and <ref name>
before a citation. This of course produced a large angry error msg because the first of the ref tags had no corresponding closing. (Which is how I came to the page via a list of ref-errors). I've not come across an attempt to 'shame' another editor in an ES before either. Eagleash (talk) 14:18, 6 September 2019 (UTC)
- Hi Eagleash! There's no intent to shame; just to notify you that I've directly changed an edit you've made. Your change also left a red error message that a reference was defined with the same anchor name twice. Sometimes, it's not completely clear which of the same-named references should remain, or if the change was completely intentional, or ... Thanks for reviewing my fix! -- Mikeblas (talk) 14:24, 6 September 2019 (UTC)
- Ah right I did not spot the 'multiple ref name / content' error msg. (Wasn't expecting that!) I spend 90% of my time fixing those (it seems) (that and copy-vios and hopeless AfCs) — second guessing what applies where can be a nightmare. Eagleash (talk) 15:03, 6 September 2019 (UTC)
IABot fix has been pushed out
[edit]2.0beta16 has been pushed. It should be deduping references in articles now.—CYBERPOWER (Chat) 15:27, 18 August 2019 (UTC)
- thanks for the update! That's great news, and thanks for the fix! :) -- Mikeblas (talk) 15:32, 18 August 2019 (UTC)
- @Cyberpower678:, looks like there's still a problem. This edit was made by version "v2.1alpha2" of the bot. Shouldn't that have the fix? I can't guess why the bot thought the change to that reference was necessary, anyway, just to blue-link a completely unrelated reference. -- Mikeblas (talk) 13:54, 29 August 2019 (UTC)
- Same pattern in this edit. -- Mikeblas (talk) 14:11, 29 August 2019 (UTC)
- And again here. -- Mikeblas (talk) 14:27, 29 August 2019 (UTC)
- Another one. [1] -- Mikeblas (talk) 14:30, 29 August 2019 (UTC)
- It's part of the parsing routine where the duplicate is automatically turned into a self-closing reference. This is just evidence that there are other numerous references sharing the same name that aren't identical to the first named reference. So this is certainly interesting.—CYBERPOWER (Chat) 18:49, 29 August 2019 (UTC)
- Looks like they're all for refs= parameters in {{reflist}} tags. Something seems unique about the way those are implemented, as a self-closing tag there seems to always cause a duplication error. I figure the bot would have to either move all the self-closing links outside (in the article body) and put the usable ref-def into the list; or just remove the ref def from the list inside the template invocation. But I dunno how generally correct that would be. -- Mikeblas (talk) 00:20, 30 August 2019 (UTC)
- It's part of the parsing routine where the duplicate is automatically turned into a self-closing reference. This is just evidence that there are other numerous references sharing the same name that aren't identical to the first named reference. So this is certainly interesting.—CYBERPOWER (Chat) 18:49, 29 August 2019 (UTC)
- @Cyberpower678: This is still happening and I just fixed four more of these edits. Is there a way that the bot can be fixed to stop making them? The edits were #1, #2, #3, and #4. -- Mikeblas (talk) 16:23, 8 September 2019 (UTC)
Monkbot task 16
[edit]In the edit summary to this edit you malign both the bot and me for GIGO. In the article source before Monkbot made its edit, there are two instances where <ref name="billboard3">
is defined and one instance of <ref name="billboard3" />
. The two definitions are the same and both are malformed:
{{cite web|work=Billboard |publisher=Prometheus Global Media |url={{BillboardURLbyName|artist=green day|chart=all}} |title=Let Yourself Go — Green Day |accessdate=November 20, 2012 |deadurl=yes |archiveurl=https://web.archive.org/web/20070929174459/http://{{billboardurlbyname|artist=green/ |archivedate=September 29, 2007 |df= }}
See the citation in the pre-edit article.
The bot did as it should have done with the first definition but because that definition is malformed (second {{billboardurlbyname}}
is incomplete and missing its closing }}
) it didn't see the second definition. Now the two definitions are different and MediaWiki emits the multiple definition message.
In your edit, you 'solved' the multiple definition problem by deleting one of the malformed definitions but you ignored the underlying problem of the un-closed template. Clearly you did not closely inspect the results of your solution because if you had, you would have seen this malformed citation.
I don't mind being blamed for things that I actually do; I object to being blamed for something that I (or that my bot) did through no fault of our own.
—Trappist the monk (talk) 15:16, 22 September 2019 (UTC)
- Before the edit the bot made, there was no error in the article. (See this revision.) The parser seems to allow two references with the same name as long as they're entirely identical -- character for character, including case. It's not ideal, but that's the way it is.
- In this change, the bot decided to edit one copy of the "billboard3" tag but not the other. If they were identical, why would one need to be edited but not the other? The article, after that change, shows an error message in red letters: "Cite error: The named reference "billboard3" was defined multiple times with different content (see the help page)." This message is due to the change MonkBot made because it doesn't appear in prior versions of the article, so I'm not sure I can understand why the bot that made the edit isn't at fault for creating a new problem in the article.
- If MonkBot can't handle articles with duplicate definitions without creating errors, it should probably not edit them. Ideally, it would make its fix to the target reference and combine the others (by making them self-closing).
- Indeed, I only fixed the duplicate reference that MonkBot created and I didn't fix the original citation error. The bogus URL and damaged cite tag were placed by @InternetArchiveBot: in this edit. I wasn't sure about the intent of that edit, so I didn't attempt to fix it. I suppose it's trying to place an archive-url, but I don't feel comfortable guessing what the desired URL might be. Since I couldn't be confident in making a correct fix, I didn't want to make anything worse by taking a bad guess. Do you have an idea of what fix should be made for that citation? -- Mikeblas (talk) 18:16, 22 September 2019 (UTC)
- I took a whack at fixing the archive-url parameter, so now there aren't mismatched template brackets. The original URL worked fine, so I also removed the url-status=dead parameter. Why do you think MonkBot couldn't recover from the mismatched brackets while parsing the article, though the actual rendering parser had no such problem? -- Mikeblas (talk) 19:22, 22 September 2019 (UTC)
- You're right, there was no red-obvious-hey-there-is-something-that-needs-to-be-fixed-error-message in the article at citation 26. But, that citation, before monkbot highlighted it for you, was broken and, as I write this, is still broken.
-
- Monkbot is a relatively simple awb script that has fixed more than 100k articles. No doubt there are many many of those articles that have identical citations inside named
<ref>...</ref>
tags. There are, I suspect, relatively few articles that have missing closing braces like this article has. I'm pretty sure that I said in my initial post that monkbot found the first citation but because of the missing}}
did not see the second – that can happen when there is an un-closed template inside another template as is the case here. I think that monkbot found the closing}}
for the cs1 template in<ref name="billboard2">...</ref>
.
- Monkbot is a relatively simple awb script that has fixed more than 100k articles. No doubt there are many many of those articles that have identical citations inside named
-
- As an expedient, monkbot hides templates that are not cs1|2 templates by replacing their opening
{{
and closing}}
with unique values. For the last instance of<ref name="billboard3">...</ref>
there were no closing}}
because there are no cs1|2 templates that follow the last<ref name="billboard3">...</ref>
(because all subsequent templates had been hidden and their opening and closing braces replaced with unique values).
- As an expedient, monkbot hides templates that are not cs1|2 templates by replacing their opening
-
- The MediaWiki parser is much more sophisticated than a simple awb script; it has to be. I cannot speak for IABot but I suspect that it is also much more sophisticated than monkbot. Since that edit was made on 14 May 2017, more than two years ago, I would hope that the bug in IABot has been fixed. This edit broke two of the three definitions of
<ref name="billboard3">...</ref>
(see the glaring red error). That error was 'fixed' at this edit but if you look, it still wasn't fixed.
- The MediaWiki parser is much more sophisticated than a simple awb script; it has to be. I cannot speak for IABot but I suspect that it is also much more sophisticated than monkbot. Since that edit was made on 14 May 2017, more than two years ago, I would hope that the bug in IABot has been fixed. This edit broke two of the three definitions of
-
- So there it lay until monkbot showed it up and you then applied a similar fix to the fix that had been applied previously and then blamed the messenger. The error was not monkbot's fault.
-
- Were I to recommend a fix for this citation, I would inspect the rendering of
{{BillboardURLbyName|artist=green day|chart=all}}
which is: - Then replace
{{billboardurlbyname|artist=green/
in|archive-url=
with that raw url and test it to make sure the archive url works: - The nice thing about
{{BillboardURLbyName}}
and similar templates is that when Billboard revises their website and all incoming links break, fixing just that template restores the link. But, that will not hold in an internet archive link because that BillboardURLbyName url did not exist when the internet archive snapshot was created. If any of this has happened, you will need to locate another snapshot that supports the article text. - —Trappist the monk (talk) 19:51, 22 September 2019 (UTC)
- Ah, I see. So it's a design goal of MonkBot to cause red error messages in text that it can't successfully parse? I guess that's a bit aggressive, but I suppose it worked. -- Mikeblas (talk) 20:19, 22 September 2019 (UTC)
- I did not say that as you know very well. That the bot task revealed underlying broken wikitext is, in my mind, a good thing as evidenced here because finally, after more than two years of being broken, the malformed wiki markup has been revealed and at last fixed. Blaming the messenger, as you did, is still wrong
- —Trappist the monk (talk) 22:00, 22 September 2019 (UTC)
- It's also wrong, I think, to tell people what they do or don't know. I'm trying to understand why you think the bot didn't cause an error in the rendering of the page; the version of the page before it edited shows no error, but after it edited it does show an error. You've just said that it's good that it exposed the repeated definition, but you've also said that the bot didn't make an error, and that it is *not* the intent of the bot to expose duplicate definitions. So, I'm quite confused. I took a guess at a way to summarize your explanation of the bot's behaviour, but you've told me it's not correct.
- I've been reading that one of the design goals of the wikitext parser is that it accepts a wide variety of input. I think that's what happened here. Repeated definitions are required to make pages render correctly. The missing closing template brackets are bad, but the wikitext parser recovers from that error and renders the page quite reasonably. You've described a limitation in the parsing engine in your bot that explains why it edited one reference definition but not the other, causing the repeated definitions to diverge and conflict. That conflict caused a new error message to appear on the page when there was none before.
- You also seem disappointed that I didn't fix the underlying missing closing template brackets. It seems then, reasonable to understand that the intention of the bot is to deliberately make hidden errors int ovisible errors, thus drawing attention to the problems, and getting humans to come along and fix them.
- If there's another way to reconcile your positions, please do let me know. I'm eager to understand how to best handle the errors that appear after edits like this. If you're too frustrated, then that's fine -- but there's no much more I can do. -- Mikeblas (talk) 23:51, 22 September 2019 (UTC)
- The bot didn't cause an error in the rendering because the error was already there. When MediaWiki parses the content of
<ref>...</ref>
tags, any templates found inside the<ref>...</ref>
tags are rendered. Before monkbot's edit, each of the<ref name="billboard3">...</ref>
definition tags were rendered. Following the rendering, another process in MediaWiki compared the content of each of the<ref name="billboard3">...</ref>
definition tags. Because the{{cite web}}
templates inside the definition tags were malformed (the result of the IABot edit) they are not rendered and so are displayed as plain text. This is an error whether there is a glaring red error message or there isn't. Compare these two renderings: IABot's malformed{{cite web}}
[1] and the same[2] after repair:
- The bot didn't cause an error in the rendering because the error was already there. When MediaWiki parses the content of
- Ah, I see. So it's a design goal of MonkBot to cause red error messages in text that it can't successfully parse? I guess that's a bit aggressive, but I suppose it worked. -- Mikeblas (talk) 20:19, 22 September 2019 (UTC)
- Were I to recommend a fix for this citation, I would inspect the rendering of
References
- ^ {{cite web|work=Billboard |publisher=Prometheus Global Media |url=https://www.billboard.com/artist/green-day/chart-history/ |title=Let Yourself Go — Green Day |accessdate=November 20, 2012 |archiveurl=https://web.archive.org/web/20070929174459/http://https://www.billboard.com/artist/green/
- ^ "Let Yourself Go — Green Day". Billboard. Prometheus Global Media. Archived from the original on September 29, 2007. Retrieved November 20, 2012.
- You can see that the first of those two examples is clearly not rendering correctly because the malformed
{{cite web}}
template isn't a template in the eyes of MediaWiki which cannot find the required closing}}
. The display of a template as plain text like that is an error that, for more than two years, was wholly unnoticed by editors of the article. The lack of a glaring red error message does not mean thatthe version of the page before [monkbot] edited shows no error
; it does, but it is subtle.
- You can see that the first of those two examples is clearly not rendering correctly because the malformed
-
- Yes, monkbot did not cause the error; the malformed
{{cite web}}
error can be laid at the feet of IABot. IABot's edit is the 'garbage-in' part of the GIGO I mentioned at the beginning of this conversation. Despite that 'garbage in', monkbot did exactly as it was designed to do: it repaired the first of the<ref name="billboard3">...</ref>
definitions by replacing|deadurl=yes
with|url-status=dead
. The 'garbage in' that is the result of IABot's edit prevented monkbot from seeing the second<ref name="billboard3">...</ref>
definition. Because both of these definitions are now not the same, MediaWiki complained, as it should do. There is no intent in the monkbot designto expose duplicate definitions
. In this case it is a beneficial artifact. Had the two 'billboard3' reference tags not been named, the bot would still not have touched the second and MediaWiki would not have complained and the suble error would have persisted.
- Yes, monkbot did not cause the error; the malformed
-
... one of the design goals of the wikitext parser is that it accepts a wide variety of input.
Yes, but it still requires that templates be complete with opening{{
and closing}}
.Repeated definitions are required to make pages render correctly.
Not true; repeated definitions increase wikitext clutter and, as we saw here, when something (whatever that something is) makes same-named definitions different, MediaWiki objects. It is true that using the self-closed named reference tags is beneficial in reducing clutter in the wikitext, but use of those tags is not required.
-
The missing closing template brackets are bad, but the wikitext parser recovers from that error and renders the page quite reasonably.
The broken{{cite web}}
templates in the two<ref name="billboard3">...</ref>
definitions are broken in exactly the same way but still broken. The MediaWiki parser did not recover from an error because it could not detect that an error had occured. All it saw was two strings of identical text inside the two named reference definitions. Two identically broken{{cite web}}
templates are treated exactly the same as two identically correct{{cite web}}
templates; media wiki cannot tell the difference.
-
- Editors who repair anything are, I think, obligated to check their repairs to ensure that the repair has, in fact, solved the problem. It is obvious that, on inspection, the first of the two citations shown above is broken. So yeah, I am disappointed that you did not notice that and
fix the underlying missing closing template brackets
. I do not understand how you get from my disappointment to the assertion that you think thatthe intention of the bot is to deliberately make hidden errors [into visible] errors
– the underlying errors are not hidden, but they are subtle. - —Trappist the monk (talk) 14:13, 23 September 2019 (UTC)
- While there was a semantic error due to the missing closing brackets in a template, there was no duplicate reference error until MonkBot edited the article. There was a repeated reference, but this case isn't flagged as an error when the article is presented to readers because the reference definitions are precisely the same. MonkBot changed one of the two identical definitions to be different, and this caused the visible error in the article.
- If MonkBot can detect and repair a parameter error in the first reference definition, then I see no reason why it can't be made to detect and repair the second definition. Maybe it's parser isn't capable of recovering from the error in the input, but if that's the case, I don't think it should make any edits at all since the results aren't predictable, and should instead either leave the page alone or find some other way to flag the problem so a human can find it.
- At this point, editors and readers of the article are stuck between two misbehaving bots. I don't think bots should be doing harm, and instead should be helpful. That means always (guaranteed!) making articles better, not taking a step backward -- even if that step backward fortunately causes a visible and tracked error. For sure, they might have bugs like this behaviour we're seeing, but bugs can be fixed and behaviour can be improved.
- Sounds like you've got different priorities or goals for your bot, and that's fine. The best I can do is try to repair what it does when I come across such edits. -- Mikeblas (talk) 15:50, 23 September 2019 (UTC)
- I would use the term syntax rather than semantic and, with that caveat, everything you wrote in that first paragraph is true.
-
- I have explained why monkbot cannot see a second definition in this unique edge case. I understand why the second definition was not edited but apparently I am incapable of writing a sufficiently clear description that you can understand. If you are suggesting that monkbot leave-off editing entirely until I concoct some sort of mechanism to fix this edge case, I don't think that is going to happen unless you can gain a sufficient consensus in some broadly publicized forum.
-
At this point, editors and readers of the article are stuck between two misbehaving bots.
No. At this point, as a result of monkbot's edit and this discussion, you have repaired the remaining faulty reference definition so no one is stuck. I agree that bots should be helpful. We're in the 21st century, even code writers who get paid the big bucks to write code, don't always write code that isalways (guaranteed!) making articles better, not taking a step backward
. Of course,bugs can be fixed and behaviour can be improved.
But, this issue I think, even were it a bug (which I have spent too many words suggesting that it is not because of GIGO) is so rare (two identically flawed cs1|2 templates in same-named<ref>...</ref>
tags separated by an unrelated cs1|2 template and all as the last three cs1|2 templates in an article) that any effort to find a solution in the bot code so that editors don't see a (gasp) glaring red error message would be time much better spent fixing the article and getting on with life.- —Trappist the monk (talk) 19:37, 23 September 2019 (UTC)
- I understand you pretty well, I think; it's just that I don't agree. Since the atricle (as far as these references are concerned, anyway) is fixed and you don't seem particularly open to fixing the bot, then I don't think there's much more to discuss. -- Mikeblas (talk) 00:22, 24 September 2019 (UTC)
- Editors who repair anything are, I think, obligated to check their repairs to ensure that the repair has, in fact, solved the problem. It is obvious that, on inspection, the first of the two citations shown above is broken. So yeah, I am disappointed that you did not notice that and
Orphaned non-free image File:CDSError.PNG
[edit]Thanks for uploading File:CDSError.PNG. The image description page currently specifies that the image is non-free and may only be used on Wikipedia under a claim of fair use. However, the image is currently not used in any articles on Wikipedia. If the image was previously in an article, please go to the article and see why it was removed. You may add it back if you think that that will be useful. However, please note that images for which a replacement could be created are not acceptable for use on Wikipedia (see our policy for non-free media).
Note that any non-free images not used in any articles will be deleted after seven days, as described in section F5 of the criteria for speedy deletion. Thank you. --B-bot (talk) 17:24, 25 September 2019 (UTC)