Template talk:Objectives table row

From Guild Wars 2 Wiki
Jump to navigationJump to search

Template[edit]

With EoD some objectives achievements are manually and tediously adding the "id=achievement<id>-bit<bit>" stuff while others are lacking it. In order to provide the API check on all objectives achievements, I wanted to gave this template a try and see how usable this actually is. If there's anything missing or misbehaving, please let me know. --Tolkyria (talk) 10:47, 10 March 2022 (UTC)

Very nice! Tried it out on Looking Back. Template needs some documentation updates, may look at those this evening. —Kvothe (talk) 13:25, 10 March 2022 (UTC)
Thanks, a neutral point of view on the documentation is always welcome, as a creator I either tend to over-document or completely miss certain things.
Do we really need the "hint" and "notes" split I copied from collection table row? I guess it's not really need, on the other hand it would provide some consistency. I feel like the split is somehow too complicated and unnecessary, on collection table row it had historical reasons as this was the original template setup (unnamed parameter 1 and 2, nothing else) before I extended it (there unnamed parameter 2 just displays the stated content, using notes also automatically collects the hint). Maybe here we should make it more straight forward... --Tolkyria (talk) 15:55, 10 March 2022 (UTC)
In this case I would remove hint and notes parameter (from table row) as we have no items with a hint, so hint and notes would be interchangably used. Unnamed parameter 2 does well enough for objective table to serve as notes. —Kvothe (talk) 16:20, 11 March 2022 (UTC)
Removed. --Tolkyria (talk) 17:07, 11 March 2022 (UTC)

Save the template[edit]

Wow, sorry, I screwed up pretty hard with this template. Partially the API is a mess, displaying the objectives in a completely different order and hence on those pages the wrong objectives would be greyed out.

I checked the API and identified:

  • 319 achievement objectives that are in the same order as the API (in this process I fixed typos in ~25 achievement objectives).
  • 52 achievement objectives that are in a different order than then API.
    • 9 are explorer or dungeon achievements
    • 10 are Tide Turner achievement from Champions (achievements)
    • 2 are End of Dragons achievements, here it is getting tricky
    • The remaining 31 are spread across all achievement categories.
  • 116 achievement objectives where the objectives list cannot be found in the API and thus cannot be checked if the order matches.
    • This are in 99% of the cases meta achievements, so they shouldn't be affected by this template anyways.

See here for a full list and here for a list of the 52 achievements that display objectives in a different order.

So what should we do with this template?

  • Introduce a bit parameter that allows manual adjustment to match the API.
  • Remove the API check.
  • Get rid of this template while we can (only used on five pages yet).

--Tolkyria (talk) 20:22, 10 March 2022 (UTC)

I'm pretty new to editing, but I think that this template would still be very useful for the 70+% cases where it would work. It primarily means [for editors] less code and less looking around trying to maintain a consistent look with similar achievements, and [for users] less looking back and forth between game and wiki trying to find the specific Hint: Find the fox playing in the fountain by the garden east of blah blah that they are missing among the other 20+ similar lines of text (especially considering that these are not numbered in-game ugh).
The only problem here is the API check, right? So we should make it optional, if it isn't already, and maybe disabled by default, document the inconsistency with the order of the objectives between game/wiki and API and, as you said, introduce a way to still be able to use it for the cases where it's not irremediably broken.
In my opinion, the most important thing if this template stays, is making it explicitly known to editors and users that in some cases the check could be wrong, why it's wrong and how to fix it if possible; otherwise you'll end up with unnecessary edits and complaints.
Sp3l (talk) 23:25, 10 March 2022 (UTC)
Yes, it affects only the API for a few achievements; and as you already stated, greying out objecitves incorrectly may only lead to frustration for the wiki users and hence should be avoided at all cost. Nice to hear that you like it and vote for keeping it.
In order to address this problem I added an API sanity check for the known 52 ids that display the objectives in the wrong order in the achievement API and thus also in the user's account achievement API. If the header template is used on one of this pages a warning will appear and the API box will be automatically disabled. Furthermore, to deal with it I added two parameters:
  • The parameter "disable warning" set to "true" disables the warning but the API box won't appear.
  • The parameter "custom bit" set to "true" in the header and to the corresponding API bits in the rows will disable the warning and will show the API box. There's a link to the achievement API on the corresponding pages.
Preview the following code in your sandbox to see the warning:
{{Objectives table header|The End of the Celestial Ministry}}
{{Objectives table row|Test #1}}
{{Objectives table row|Test #2}}
|}
Is this enough to justify mainspace usage? --Tolkyria (talk) 10:01, 11 March 2022 (UTC)
I've played with the new parameters for a bit and I've got some feedback.
  1. If you use both disable warning=true and custom bit=true in the header, the custom bits won't be used. See [1]
  2. The warning message seems clear enough for me.
  3. What if someone tries to use this template on one of the achievements that do not have an objectives list in the API?
    • The template doesn't show any warning there.
    • And this happens in the resulting HTML, which I'm not sure is normal: [2] (regardless, this is not really an issue since it wouldn't work anyway)
Is it possible to:
  • If the achievement is in the curated list of the achievements that have inconsistent objectives order, then show the current warning message.
  • If not, then show a generic message specifically directed to the editor that is trying to use this template, saying something like "Hey, be sure to check the API to see if it's reporting objectives at all, and disable the API check if it doesn't. Also, if this is a new achievement, be sure to check if the order of the objectives reported by the API matches the one in the game; if it doesn't ..."
Oh, also be sure to mention that the numbering of the bits starts from 0.
Sp3l (talk) 16:04, 11 March 2022 (UTC)
Ad 1. I changed the order of how these parameters are checked. Thanks, it's working as intended now, disable warning is not needed for custom bit but now also won't interfere with it.
Ad 3. Out of over 150 meta achievements only 3 have their own page. It's always in the responsibility of the user to use the template correctly, in general we have hardly any correct usage checks in other templates, pretty much any of them can be abused. However, I could hide the API check if the achievement type is "meta".
Ad the multiple ids in your screenshot 2. That happens when there are several achievement that have the same page (here the page you used is a redirect to the achievement page itself, thus several pages have it). I'll add an id parameter to select an achievement directly.
--Tolkyria (talk) 16:29, 11 March 2022 (UTC)
(Edit conflict) I am in favor of retaining this template. It will provide an editor friendly environment and help to create consistent achievement pages. If wrongly set bits are a huge concern - should a message display on default: "The achievement API bits have not been checked for correctness." or something along those lines? And once someone does verify them we add the parameter 'api=true' to the header assuming that the person who does will also set the bits to the rows in case they are wrong. —Kvothe (talk) 16:35, 11 March 2022 (UTC)
Quiet odd, what are the 3 meta achievments with their own page? —Kvothe (talk) 16:38, 11 March 2022 (UTC)
I don't really like to display warnings excessively even though here with the hidden achievement ids is might be a bit tricky (not everyone knows how to use the browser inspect tool). Still, disabling the API on default feels unsatisfying and counterintuitive.
The meta achievement pages are:
Non-meta achievement pages where the API doesn't display any objectives are:
Lot's of them can be cleaned up I guess. So the meta pages shouldn't be that much of a problem. --Tolkyria (talk) 17:07, 11 March 2022 (UTC)