Module talk:ResolveEntityId

Redirects
a really useful module. Would it possible to follow redirects and give the ID of their target? &mdash; Martin (MSGJ · talk) 17:07, 22 June 2021 (UTC)

PAGE ]]) 20:00, 24 June 2021 (UTC) PAGE ]]) 05:03, 24 February 2022 (UTC) PAGE ]]) 22:39, 24 February 2022 (UTC)
 * It already follows Wikidata redirects. For example returns . Are you talking about following Wikipedia redirects as well? --Ahecht ([[User talk:Ahecht|TALK
 * Yes that's what I meant, sorry if I was unclear. It would be great if
 * ⇒ Q1572113
 * Currently:
 * &mdash; Martin (MSGJ · talk) 21:00, 24 June 2021 (UTC)
 * this would still be extremely useful, if only as an opt-in. Thanks :) &mdash; Martin (MSGJ · talk) 20:54, 23 February 2022 (UTC)
 * @MSGJ I'll put it on my to-do list. --Ahecht ([[User talk:Ahecht|TALK
 * @MSGJ I'll put it on my to-do list. --Ahecht ([[User talk:Ahecht|TALK
 * @MSGJ Looks like I implemented it in the sandbox back in 2021 but never copied it to the main template. It's now ✅. --Ahecht ([[User talk:Ahecht|TALK
 * and : Something, possibly this change, has resulted in script errors in as many as a few hundred articles. See Abatus koehleri and . – Jonesey95 (talk) 01:30, 25 February 2022 (UTC)
 * Reverted for now. Thanks for letting us know &mdash; Martin (MSGJ · talk) 08:28, 25 February 2022 (UTC)
 * If the reverted edit is restored, perhaps with changes, please consider my response at WT:Lua. I don't know if the problem mentioned here had the same root cause as the problem I investigated. Johnuniq (talk) 08:38, 25 February 2022 (UTC)

Ahecht: while you are debugging this, can you just confirm that if the redirect does have a wikidata item then the module should return that ID. It should only follow the redirect if there is no wikidata item. I may be reading the code wrong, but it seems that line 25 of your sandbox may need changing. Thanks &mdash; Martin (MSGJ · talk) 08:48, 25 February 2022 (UTC)

PAGE ]]) 00:14, 26 February 2022 (UTC) PAGE ]]) 05:28, 26 February 2022 (UTC)
 * I think I have it resolved now. There was an earlier change to the sandbox before I made my changes that caused an error if there wasn't a Wikipedia sitelink in the Wikidata item (which wasn't in my testcases). I have fixed that issue in my sandbox, and implemented it in taxonbar/sandbox. I also fixed the sandbox so that it only resolves redirects if a wikidata item doesn't exist. Please test out the new sandbox version, and I can copy it over to the main module. --Ahecht ([[User talk:Ahecht|TALK
 * Please review the history at Module:ResolveEntityId/sandbox and check the edits I have made. Re Module:ResolveEntityId/doc, you might consider rewriting the examples like the following.
 * Johnuniq (talk) 03:58, 26 February 2022 (UTC)
 * @Johnuniq Looks good. I simplified the code a little further, and will run some more tests before taking it live. --Ahecht ([[User talk:Ahecht|TALK
 * My tests on Module talk:ResolveEntityId/testcases are all working correctly. &mdash; Martin (MSGJ · talk) 16:44, 27 February 2022 (UTC)
 * Ahecht: Do you think this is ready to deploy? &mdash; Martin (MSGJ · talk) 10:34, 2 March 2022 (UTC)

I don't have an opportunity to fully investigate at the moment but Cobble skink is showing "Lua error in Module:ResolveEntityId at line 32: attempt to index a nil value" at the bottom due to a recent edit here. Perhaps it's a problem in that article that someone could fix, although the module should show a better message. Every function related to titles or wikidata will potentially return nil or give some other error at some point. It's a shame that code has to be uglified but the fix there would be something like "local title = mw.title.new(...) or error('helpful text here')" then use title.redirectTarget. Johnuniq (talk) 23:13, 7 March 2022 (UTC)
 * It was caused by an empty definition of from1, i.e.


 * Module:Taxonbar or this module need to be made more robust so that a blank input does not cause an error &mdash; Martin (MSGJ · talk) 18:02, 8 March 2022 (UTC)

Output for invalid input
Could the module be made a bit more robust? If something invalid is passed to the template, e.g. could it fail gracefully by returning nil? At the moment we are getting "Lua error in Module:ResolveEntityId at line 32: attempt to index a nil value". Cheers &mdash; Martin (MSGJ · talk) 09:25, 2 November 2022 (UTC)


 * Since I realised I had already requested this previously, I went ahead and made the corrections to the module. Hope there are no side-effects but testcases are working fine. &mdash; Martin (MSGJ · talk) 15:34, 2 November 2022 (UTC)