Module talk:Video game wikidata/Archive 1

Latest comment: 7 years ago by Ferret in topic Work/publisher
Archive 1

Initial enhancements?

@Czar and Izno: Let's move discussion here. Czar would like an option to disable generation of |publisher= for cite web. I'd like to add an option to disable (system) output, which would be useful in a case where someone wanted just the score for embedding in prose. (Used in conjunction with |system= only). Any other thoughts? -- ferret (talk) 21:50, 14 April 2016 (UTC)

I don't think this is a problem for most video game articles, but WP:CITEVAR is a concern (and more generally, WP:Citing sources). This is the predominant reason I am unsure whether the references are a good idea for now. --Izno (talk) 00:59, 15 April 2016 (UTC)
There's also (going to be) a problem with named references and re-use. You might able to generate an systematic name for each of the various references and then name other references in the same page, but those are likely going to long and difficult to parse. --Izno (talk) 01:07, 15 April 2016 (UTC)
Systematic name is currently "ArticleName-ReviewAliasSystem", i.e. Dark Souls III-MCXBOX. -- ferret (talk) 01:20, 15 April 2016 (UTC)

One thing comes to mind in that we should have Template:Video game reviews module pull the info directly rather than add a template to each page, keeping in mind the RFC (allowing for local-custom values). --Izno (talk) 01:07, 15 April 2016 (UTC)

Cite web isn't the best template to use in all/most cases. We should instead use Template:Cite magazine for a number. --Izno (talk) 01:12, 15 April 2016 (UTC)

Can make that a parameter. Or choose it based on the review being pulled, via table. -- ferret (talk) 01:26, 15 April 2016 (UTC)
  • I've implemented two new arguments in the sandbox, noSystem and noRefs. The first will turn off the system alias (XBOX) from being generated, in cases where someone may want just the score value. The second suppresses generation of references from Wikidata, so in cases where it conflicts with local needs it can be disabled. I think this is a good solution for now to CITEVAR concerns. I still plan to later implement a way to switch between cite web and cite magazine where it matters, but as we're only experimenting with aggregators at the moment, I'll wait on that. Please check the sandbox and give your thoughts before I move the module live. -- ferret (talk) 13:39, 18 April 2016 (UTC)
  • Oh excellent, I use yyyy-mm-dd date formatting in refs, so the auto-generated refs meant that this wasn't as useful to me, even though I liked the idea of auto-pulling the aggregator scores. --PresN 02:48, 19 April 2016 (UTC)

Systems and their QIDs

I've filled in a lot more systems at Module:Video game wikidata but anyone who wants to help, please do so. For a given system's article, you can view its Wikidata item by using the Wikidata item link under Tools. The QID will be shown near the top, like Q123456. Take the Q off, then it needs to be added to the tables systemAliases and systemIDs. systemAliases is the alias that will be displayed in output, so there should only be one entry per QID. systemIDs is used to convert from template input (I.e. system=NDS) to the QID in Wikidata. This can include multiple aliases per QID. For example, "DS" and "NDS" might both be used for NintendoDS, so both are in the table with the same QID, 170323. -- ferret (talk) 17:24, 19 April 2016 (UTC)

Limited testing

Currently testing at Dark Souls III and Souls (series). See Talk:Dark Souls III. -- ferret (talk) 22:27, 14 April 2016 (UTC)

Working on expanding testing to entire Souls series. -- ferret (talk) 21:52, 19 April 2016 (UTC)

This Dark Souls II diff is an example of where I'm trying to go with the proseScore parameter. I don't expect this to be considered a good final solution but it's an illustration of how the template can work with the prose the IP review score maintainers like to insert. Note how the programmatic reference name is used. -- ferret (talk) 22:39, 19 April 2016 (UTC)

Number of reviews

@Izno: Is there a valid qualifier to use with "review scores" property that could contain the number of reviews behind a Metacritic/GameRanking score? -- ferret (talk) 21:29, 19 April 2016 (UTC)

I think there's a generic quantity/number sitting around, but it won't be obvious that it's referring to number of reviews. Let me go look. --Izno (talk) 21:53, 19 April 2016 (UTC)
@Ferret: And indeed, there is quantity, currently marked for use as a full property and not a qualifier. No qualifiers of this sort. Is there a reason you want the number of reviews? We don't tend to include that information as it is anywhere on our recent FAs. --Izno (talk) 22:00, 19 April 2016 (UTC)
@Izno: It's a recent-ish (Last year or two) trend among the IP review score maintainers to include prose such as "score of x out of 100 based on y reviews". The idea is this helps illustrate whether the score is based on just a few reviews or a large sample size. Simply pondering ways to offer that functionality to avoid warring with IPs if we implement more widespread. A lot of people disagree with having aggregators in prose at all though, so... -- ferret (talk) 22:04, 19 April 2016 (UTC)
Let's avoid implementing something like review quantity for now, since it would be in the context of the prose, which currently does not have consensus for use on Wikipedia anyway. --Izno (talk) 22:09, 19 April 2016 (UTC)
It's not just used in prose- for example, take a look at Legend of Mana#Reception: "73 / 100 (23 reviews)[35]". --PresN 21:50, 21 April 2016 (UTC)
At best, it appears mostly in prose as that seems the exception rather than the rule. There are other things we can work to implement before being concerned about the total number of reviews. --Izno (talk) 21:58, 21 April 2016 (UTC)

System ordering.

@Dissident93 had some concerns about the order systems are returned in at Dark Souls III. The order currently is from Wikidata and appears to (reliably) return in the order that entries were added to Wikidata. A more consistent sorting may be desired. Ordering by platform alphabetically or by score should be possible with little effort, perhaps even as a parameter. A more complex sort such as ordering by platform release date would require significant more work and cross referencing between the review score property and the platform property. This would require more data input into Wikidata, as currently Dark Souls III lacks this full information of release dates. -- ferret (talk) 22:21, 19 April 2016 (UTC)

A first pass at platform sorting is now visible at Template:Video game review score/testcases. This is sorted by platform label (PlayStation 4, Xbox 360, etc. Full name.) -- ferret (talk) 23:09, 19 April 2016 (UTC)

  • Originally it was on the end of each line, without a line break. I felt that was a bit overkill, so made it only appear on the last line... However, this puts it up against the final reference, which looks odd as well. -- ferret (talk) 23:39, 19 April 2016 (UTC)
  • I removed the line break and switched from sup to sub tags. Thoughts? -- ferret (talk) 23:42, 19 April 2016 (UTC)
I've said this elsewhere, but I think this is a reason to not use this template as is and to instead merge the code into our existing templates. The best location for the symbol is either in the template's header "Reception" or next to "Metacritic" (in this case), which would require reaching outside just the parameter of a single aggregator. czar 01:43, 23 April 2016 (UTC)

Original discussion

For posterity, via User talk:Czar/2016 Jan–Apr#Wikidata... for aggregators.3F czar 01:46, 23 April 2016 (UTC)

Had already thought briefly about this but you brought it to mind with your question at Infobox video game...... Could Wikidata be used to hold Metacritic/GameRanking/etc scores in some fashion? Having a template like {{Metacritic|Xbox}} that would output the Xbox score for the article could be handy. Or even {{Vgaggregator|MC|Xbox}}. -- ferret (talk) 14:37, 12 April 2016 (UTC)

@Ferret, I don't know the scope of Wikidata, but if it is what I think it is, it would make sense to import all review scores there. Now I see the slippery scope there—even if we limit the Wikidata scores to vetted, reliable sources, it's still going to be a huge list for AAA games. Good thought and certainly worth broaching at WT:VG for feedback czar 14:42, 12 April 2016 (UTC)
Let me try some research and sandboxing. I see easy potential for aggregators, which most people are opposed to having in the prose anyways. For other reviews and the fact they should be used in prose, it might be stickier. -- ferret (talk) 14:46, 12 April 2016 (UTC)
@Ferret, if there's any way to have Wikidata auto-format the citation as well... that'd be wonderful czar 14:47, 12 April 2016 (UTC)
Still researching, Wikidata makes sense but its a warren of stuff I have to map out. Each "property" can have a reference attached. I'm using Dark Souls III as a jumping point. What I want to do is be able to add a statement like "review aggregator". Under that I would add a "Metacritic" property. To that I would add a qualifier with "Score" and "System". To this, you can attach a reference. Then the template here on ENWIKI would pull that all in. That's the theory. Still working through the details. -- ferret (talk) 15:13, 12 April 2016 (UTC)
See here where I added a "score by" to the bottom and filled in Metacritic information. Now I need to look at a template that will pull it. -- ferret (talk) 15:31, 12 April 2016 (UTC)
d:Wikidata:WikiProject Video games and Age of Empires II: The Age of Kings (Q34852) may be useful. --Izno (talk) 15:43, 12 April 2016 (UTC)
@Izno, do you know how to go from {{#Property:P444|from=Q34852}} (92/100, 9.1/10, 9/10, 8.8/10, 91.81%) to just the Metacritic score? I don't see options for restricting the property parser. czar 16:02, 12 April 2016 (UTC)
You cannot use the magic word to access only a certain qualified value (last I checked). You have to use Lua e.g. Module:Wikidata. --Izno (talk) 16:11, 12 April 2016 (UTC)
Visit User:Ferret/sandbox for a rough draft. It's Lua based, as Izno already noted. It's not everything but it's a start for a rough sketch. Currently I'm not using shorthand system names. I know how to get them, but the API involved is noted as being expensive so I don't want to jump to it yet. I also had some trouble getting refs/cites output. I built them, but the rendering is off. Either it can't be done or I haven't done it the right way yet. -- ferret (talk) 18:16, 12 April 2016 (UTC)
That was just how I played with Dark Souls III, but what has already been done at Age of Empires might be a better organization. I've got enough of an idea on how to dig through the entity table to do either. -- ferret (talk) 18:19, 12 April 2016 (UTC)
Not just a better organization but is required by how certain properties are used. For example, score by is required to be a Wikidata qualifier (Q15720608), not a first-level statement. --Izno (talk) 19:19, 12 April 2016 (UTC)
Yep, once I saw it I facepalmed. Unfortunately it doesn't seem Wikidata enforces the relations strictly. Side note: You cannot put metacritic into a Reference Url, apparently. It forces you to use Metacritic ID... which is fine. -- ferret (talk) 19:20, 12 April 2016 (UTC)

Don't worry about it. Wikidata is a wiki.

No, the relations are not enforced strictly (and never will be--this is part of Wikidata's core design), but there is a really soft constraint system provided on the property talk pages, linking to a number of bot-provided reports where constraints are violated. Some extensions currently in the testing phase will probably roll out within the next year which will highlight the use of statements not in keeping with the constraints directly in the HMI, but will still allow you to save non-compliant values.

I fixed your reference--reference URL requires a full URL. Please take a look at the item. --Izno (talk) 20:12, 12 April 2016 (UTC)

Sandbox and Dark Souls III wikidata have been updated to reflect the format in Izno's Age of Empires example. Everything is there, with two issues: "Also known as" shorthand resolution for systems, and figuring out how to correctly output/generate reference/cites. But, all the data is there. -- ferret (talk) 19:20, 12 April 2016 (UTC)

What do you mean by "Also known as"?

I would recommend against providing the Wikidata citations directly in Wikipedia for the time being. There needs to be a larger discussion about display of citations and whether "other tools" need to be built to support that display (that is probably not on anyone's radar). --Izno (talk) 20:12, 12 April 2016 (UTC)

"Also known as" are the item aliases. For example, Xbox One as XONE, PlayStation 4 as PS4. I can map them locally in the module, but they also exist in Wikidata. Regarding Metacritic URLs, when I added a reference with a "Reference URL" and placed the full URL for Metacritic in, the Save button would grey out. I resolved that by adding a Metacritic ID with the necessary url fragment. Maybe it was something weird with my work laptop, I can do it now. Regardless of issues around providing the citations, I'd like to figure out the correct method for outputting it, even if it's not used, just for learning's sake. -- ferret (talk) 21:12, 12 April 2016 (UTC)
Found the answer I need. Lua modules cannot output other templates or ref tags, they will not process, period. -- ferret (talk) 21:28, 12 April 2016 (UTC)

Not particularly true. They can use other modules (Module:Citation/CS1) as well as tags by extension e.g. result = frame:extensionTag{ name = "ref", args = {name=name}, content=result }; (from Module:Footnotes).

Regarding aliases, I'm not sure why you would want them from Wikidata anyway, but I would definitely recommend having a local map of QID to name, since that would help us avoid the effects of simple vandalism. --Izno (talk) 12:34, 13 April 2016 (UTC)

I was simply looking to avoid having to maintain a list of systems and QIDs. However we can maybe drop them in another module to share amongst different templates in the future, which centralizes it. -- ferret (talk) 13:01, 13 April 2016 (UTC)
Indeed. --Izno (talk) 13:05, 13 April 2016 (UTC)
extensionTag appears to force template transclusion. So that fixed cite web too. See User:Ferret/sandbox. -- ferret (talk) 13:17, 13 April 2016 (UTC)

Module:Sandbox/ferret/Video game aggregator is for an aggregator template. The review printing code is now in Module:Sandbox/ferret/Video game reviews, so it can be reused, and has the systems numeric Id table. Feel free to further populate the systems table. This now is a solid demonstration I think, just need to flush it out then bring it up to broader VG project. And worry about populating values into Wikidata. -- ferret (talk) 13:29, 13 April 2016 (UTC)

Added a link to the Wikidata item just to play with an idea, similar to how software infoboxes link to their release templates for editing. -- ferret (talk) 14:32, 14 April 2016 (UTC)
@Ferret, do you have a sandbox test where I can see it in action? czar 14:55, 14 April 2016 (UTC)
See User:Ferret/sandbox/Video game aggregator/sandbox, including examples with Template:Video game reviews. -- ferret (talk) 15:55, 14 April 2016 (UTC)
Nice. I suppose the next step is integrating it into the reviews template sandbox. And re: wikidata:Q20112508#P444, shouldn't the work/publisher be "Metacritic" instead of "CBS Interactive"? czar 16:26, 14 April 2016 (UTC)
I built it off the existing cites in Dark Souls III. CBS owns Metacritic and publishes, is my understanding. Work could be Metacritic. I'll see about adding work to the module. Added it. I also just added a Template:Video game series reviews to the sandbox. -- ferret (talk) 16:30, 14 April 2016 (UTC)

I've continued playing and made various updates. It is now setup to allow aggregators or reviewers (If they are in the table), and only output a single "Edit" link instead of on every line. It also sets reference names now, so that repeated uses won't crowd the reflist. The current idea is to name it Template:Video game review score. -- ferret (talk) 18:18, 14 April 2016 (UTC)

Really nice work. Can you add a flag to make the publisher optional? I used to add CBS but now I just do Metacritic. Also would it be possible to add an "edit" link to the template itself (either in the template's heading or in its header bar) instead of next to the refs? I think that would make the most sense once the rest of the template pulls from Wikidata. I think the whole thing you've written could be vg rev score—that sounds fine—but most people won't need to see that if you bake it right into the vg reviews template. (It should default to showing all referenced scores from Wikidata unless locally overridden methinks.) Of course we'd want to draft that first and get consensus before making it live. czar 19:13, 14 April 2016 (UTC)
Regarding publisher, it's just pulling Wikidata... If publisher isn't defined to Wikidata, it won't pull it. When we broach the broader topic of how to get/keep Wikidata populated we can fine tune the required fields. As for the edit link, this "single reviewer" template doesn't have a header or bar, so there's no where else to put an update link really except at the end. I could add a newline at the end so it's separate from the ref, but that might look odd too. If integrated into the main series box, then it can be put in a single spot in the table header. One benefit of this "single reviewer" template is that it can be used without changing the existing templates, for localized/limited early use. -- ferret (talk) 19:27, 14 April 2016 (UTC)
Flags for the publisher and date formats would still be good because their implementation will vary across articles (regardless of how Wikidata is populated). The change I'd propose: update {{vg reviews}} to automatically pull {{video game review score}} for each referenced field unless overridden (so integrated into the main series box but still using the new "single" template as the call). czar 19:44, 14 April 2016 (UTC)
Df is an argument already, I added that earlier when implementing date formatting for "retrieved" Wikidata property. I can add a publisher=yes/no. I want to continue doing some optimization, but hopefully will move the template/modules to Template/Module-space tonight. Then we can hammer on it some more. -- ferret (talk) 19:49, 14 April 2016 (UTC)

Could you kindly delete the redirects left behind at Module:Sandbox/ferret/Video game aggregator/doc and Module:Sandbox/ferret/Video game reviews/doc? -- ferret (talk) 21:08, 14 April 2016 (UTC)

✓ done czar 21:12, 14 April 2016 (UTC)
Everything is moved and placed, with sandboxes and all setup. Check out Template:Video game review score/testcases. I may make some further edits to the module but I would like to "beta" run the template for Dark Souls III scores. I'll make a section on the article talk page explaining. -- ferret (talk) 21:18, 14 April 2016 (UTC)
Let's move further discussion of enhancement/updates to Template talk:Video game review score#Initial enhancements?. We've abused your talk enough. ;) -- ferret (talk) 21:51, 14 April 2016 (UTC)

Reference issue

@Izno: I know you have some reservations about generating references, but I've also ran into a technical problem you might have an idea on... Wikidata has fields for author, publication, published in (work), etc. However, those fields must link to other Wikidata items. If a work or author doesn't have an article and therefore no Wikidata entry, they can't be input. For the aggregators, that is not an issue, but for most other reviews, it would be a barrier against fully populating the citation. Something is better than nothing, but it will be incomplete compared to the local entries we have today. I don't consider this a bar to updating Template:Video game series reviews but probably would be for Template:Video game reviews. -- ferret (talk) 15:28, 27 April 2016 (UTC)

Given that we cite a number of the same people a large number of times across the board, and per notability criterion #3, we should be able to add a/the set of authors to Wikidata (which may be unlinked to a Wikipedia article). May want to have a look at d:Wikidata:WikiProject Source MetaData as well. --Izno (talk) 15:39, 27 April 2016 (UTC)

Video game series reviews

A testcase example of direct integration with Template:Video game series reviews is available at Template:Video game series reviews/testcases. This is by no means final code, it's just a demonstration, I have a lot of refactoring and reworking I want to do to Module:Video game series reviews/sandbox first. Module:Video game review score/sandbox has been reworked (But again not finalized) to allow it's functionality to be controlled more easily in other modules. There's some performance considerations behind the rework, to try to avoid any unnecessary getEntity() calls to Wikidata. -- ferret (talk) 19:12, 25 April 2016 (UTC)

Lots of reworking, getting close to a more final form. The code related to querying Wikidata is all in Module:Video game wikidata/sandbox now. Module:Video game review score/sandbox is almost stripped bare, and now mostly serves as a demonstration of using the Wikidata module (Plus it works!). Module:Video game series reviews/sandbox is mostly rewritten and is using the Wikidata module now. I have also enabled pulling Famitsu where available. -- ferret (talk) 22:15, 25 April 2016 (UTC)
@Czar: One particular note on the current approach. This makes gr=no required again in order to suppress GameRankings. I don't believe that WP:VG can influence the inclusion of GR on Wikidata, so local suppression will be required again. -- ferret (talk) 22:24, 25 April 2016 (UTC)
Why wouldn't we just set it to GR off and MC on by default (with manual override available)? czar 00:40, 26 April 2016 (UTC)
Sure, but that had been opposed recently, which is what led us to the current auto-detection route. Just noting we may need further discussion there. -- ferret (talk) 00:41, 26 April 2016 (UTC)
The objection was that |gr=yes shouldn't have to be required as a barrier to use |gr1=, etc., which was a (resolved) logistic concern. There isn't opposition to Metacritic's use as the default, so there wouldn't be an issue with the default pull from Wikidata being just the Metacritic unless specified otherwise. czar 01:47, 26 April 2016 (UTC)
That's some additional logic for gr, I'll look into it tomorrow. -- ferret (talk) 02:01, 26 April 2016 (UTC)
Well, maybe it was just moving one line. GR now only shows if gr=yes or grN is set. -- ferret (talk) 15:38, 26 April 2016 (UTC)
How would one override the Wikidata value for gr (not that I want to, but that's a requirement regarding Wikidata implementation)? --Izno (talk) 15:39, 26 April 2016 (UTC)
Bear with me, going for completeness: Using Demon's Souls as example, as it's the only one with GR defined currently in Wikidata. The first requirement is that you must have |game1 = Demon's Souls or |qid1 = Q1153708. If |gr=yes and |gr1=<blank or missing>, then Wikidata's GR will be output (No local gr value, no suppression). If |gr=<no, blank or missing> and |gr1=<blank or missing>, GR will not be output (No local value, Wikidata GR suppressed). If |gr=<yes, blank or missing> and |gr1=?/100 ref, then the local ?/100 ref will be output. (GR not suppress, local value supplied). If you have |game1 = Demon's Souls but not |qid1 = Q1153708, then only local values matter, as Wikidata cannot be pulled. -- ferret (talk) 15:52, 26 April 2016 (UTC)

At this time, I am considering the module to be completed. Further tweaks can always be made, but I think the basic concept is in place now. If there are no further comments on show stoppers, we can consider getting consensus to move forward. Please see the subsection below concerning new template documentation I drafted. -- ferret (talk) 13:40, 27 April 2016 (UTC)

I have some thoughts about GR above; since the default is not to pull/display GR data, but knowing we need to allow the template to be filled manually:
  • where |gr= is either empty or does not exist, display nothing;
  • where |gr=Wikidata, use Wikidata--I'm not sure if |gr=yes is preferable;
  • where |gr=anything else, use that value.
Is that about what you said, or is there some possible tweak in technical implementation between my above and yours? You might try list formatting and {{para}} and take another shot at the above. --Izno (talk) 15:34, 27 April 2016 (UTC)
Originally, this template always assumed that |gr=yes and |mc=yes, while the others defaulted to no. Following the WP:VGAGG discussion, it was first changed so that |gr=no by default. Articles were updated to include |gr=yes. This was contested, and I reworked it to the current "auto-detection" model. If |gr= is set, it will be honored. If it is omitted, then |grn= will be honored for auto-detection. The column flags are ran through the yesno module. This converts any of the expected "positives" like yes, y, Yes, true, to "true", and "negatives" like no, N, false to "false". Missing or unknown values are "nil". For the current new module:
  • If |gr= is nil (Due to omission or unknown value), and |grn= is encountered while processing the specified games, then |gr= is updated to true.
  • When output the review scores, if |gr= is true, the scores, whether from |grn= or Wikidata, are output.
Compare this to the processing for year, fam and mc (using Mc as example):
  • If |mc= is nil (Due to omission or unknown value), and |mcn= is encountered OR data from Wikidata is retrieved while processing the specified games, then |mc= is updated to true.
  • When output the review scores, if |mc= is true, the scores, whether from |mcn= or Wikidata, are output.
This means the auto-detection is fully in place for MC, Fam, Year, Sales (Except Sales isn't pulled from Wikidata at this time). But in the case of GR, auto-detection only looks at local values and ignores Wikidata values. This lets people add GR to Wikidata, but WP:VGAGG will be honored here on enwiki. Articles can choose to display GR per local consensus by adding |gr=yes or simply including a direct score as |grn=. -- ferret (talk) 15:50, 27 April 2016 (UTC)

Full auto-population

Latest sandbox update includes dropping the template with NO PARAMETERS at all into a series article. If no parameters for games are found at all, the module now fetches the "has part" property from the series' wikidata entry, and uses that list to populate the games. Wiki link, piped label (if different), and all review scores inferred straight from the series article itself. Note, if any games are specified on the template, fetching of "has part" won't occur. -- ferret (talk) 02:01, 26 April 2016 (UTC)

In light of the previous sorting issue (I.e. review scores are returned in order of Wikidata entry, so we sort by system aliases/names), I have set it up so that going the "full auto-population" route will pull the earliest publication date for each game found in the series, and sort them by that. This makes sure that it outputs "Demon's Souls, Dark Souls, ..." regardless of what order the "has Parts" of Souls (series) was entered into Wikidata. It also populates the year column, but that could be turned off. -- ferret (talk) 16:55, 26 April 2016 (UTC)

New documentation

I've made an effort to whip up some new documentation for the Wikidata-enabled version of Template:Video game series reviews. The new documentation can be read at Template:Video game series reviews/sandbox. Please give it a look. Feel free to update and tweak. One thing we may need to consider is adding instructions on updating Wikidata. 13:40, 27 April 2016 (UTC)

Go forth?

At this time, I could probably find a few more things to tweak if I really wanted, but the module code works, and can always be further tweaked anyways. Any opposition to promoting the sandboxes? For existing template usage in articles, there should be no noticeable difference. It'll be up to editors to begin populating scores to Wikidata then stripping them from Template:Video game series reviews on enwiki. -- ferret (talk) 19:59, 2 May 2016 (UTC)

I am boldly moving forward, as no opposition has been raised here or at WT:VG. -- ferret (talk) 19:59, 10 May 2016 (UTC)

In use at...

I used this template at Doom (2016 video game) for Metacritic to see how people would take it. A relatively new user and the typical reception IPs so far jumped right in and began editing/updating the scores on Wikidata without asking how, so it seems the basic concept is intuitive. -- ferret (talk) 22:11, 17 May 2016 (UTC)

 
Having to keep separate watchlists and/or deal with crosswatch
Welcome to watchlist hell czar 22:15, 17 May 2016 (UTC)
I don't use the enhanced watchlist, so the normal Wikidata integration into the standard watchlist is so far suiting my needs. :) -- ferret (talk) 22:19, 17 May 2016 (UTC)
I recommend using the "/critic-reviews" page as the Metacritic link over the main page as it only lists the critics and not the user review scores (which confuse some readers). E.g., http://www.metacritic.com/game/xbox-one/mirrors-edge-catalyst/critic-reviews czar 23:28, 12 June 2016 (UTC)
Sure, we can do that, but its a little atypical and not widely adopted. -- ferret (talk) 23:39, 12 June 2016 (UTC)
I imagine most editors don't know about it, but I've never been reverted for it czar 23:50, 12 June 2016 (UTC)

Lua recode

@Ferret and IDV, what are your thoughts on doing a Lua recode of the review box and infobox so we can pull it all directly from Wikidata wherever possible? Are we waiting on anything besides the will? I could help but I'd have to learn Lua first czar 23:25, 12 June 2016 (UTC)

A while back I did some updated to Template:Infobox video game's sandbox using Module:Wikidata for many of the fields. I didn't get all of them in the first pass but its enough to demonstrate. I've also already updated Template:Video game reviews's sandbox to pull Metacritic directly, but have gotten only one comment in response, and it was more about general expansion beyond Metacritic/aggregators. I've been a little lax on follow up due to low participation in the discussion and being quiet busy at work right now. -- ferret (talk) 23:42, 12 June 2016 (UTC)
(edit conflict) I don't do programming outside of some simple GML in hobby projects, so I'm probably the wrong person to ask for practical help with this.--IDVtalk 23:44, 12 June 2016 (UTC)
Sorry IDV, I thought I saw you on more technical threads. Ferret, I think you can interpret silence as approval here. We're unquestionably moving towards using Wikidata—if anything, it's going to be a discussion about how best to implement. Any interested parties will find their ways in. I think you've done more than sufficient outreach. Full steam ahead, czar 23:52, 12 June 2016 (UTC)
Agreed, full steam ahead. --Izno (talk) 11:41, 13 June 2016 (UTC)
Ok, I'll get to the review template again this upcoming weekend, unless I find time in the evening. The current Lua update is a demonstration, I need to put a little thought into a more dynamic approach. -- ferret (talk) 12:31, 13 June 2016 (UTC)

Not forgotten, just very busy and haven't had time to look at Lua coding and performing testing. -- ferret (talk) 01:43, 24 June 2016 (UTC)

Module use

This module is shared (or being planned to be) between multiple template modules now. Eventually should move discussion here for changes, but currently continuing at Template Talk:Video game review score. -- ferret (talk) 22:11, 25 April 2016 (UTC)

@ferret: I'm glad Module:Date is being used. I've done some major upgrades to it and Module:Age and have looked at this module to see how Date is used to avoid breaking anything. FYI, function sortDates is not needed because dates can be compared directly (they have a metatable for that). All that is needed is table.sort(ret). On seeing that this module is getting a date from Wikidata, I added the ability to Module:Date to directly parse such a date. For example, Date('+2016-06-21T00:00:00Z') is a valid date. Johnuniq (talk) 01:21, 24 June 2016 (UTC)
@Johnuniq: Nice! That will simplify things here. There's one other thing I ran into recently in this diff. That module is using Module:No globals, which Module:Date conflicted with until I set the test variable before it. This may not be something you can resolve and is just particular to that module, but if you have any ideas. :) -- ferret (talk) 01:26, 24 June 2016 (UTC)
Hmm, that is a problem. I use a test system on a local computer which sets the global to a fixed date so my tests for the current date give consistent results. Anyway, I just implemented another kludge on my local system and have removed set_current_for_test from Module:Date to avoid the hassle. Johnuniq (talk) 02:00, 24 June 2016 (UTC)
If you could also glance at sortByPublicationDate in Module:Video game series reviews I'd appreciate it. It's another sort, but the date is just one part of a table value, so I don't think I can sort directly. Is there a better way to compare with the metatable? Unfortunately Lua isn't my strongest language. -- ferret (talk) 01:38, 24 June 2016 (UTC)
That function is needed. I would write it as follows. Sorry, but I used my style for this but obviously if you wanted to use it you would translate it to a consistent style.
local function sortByPublicationDate(a, b)
    local aP = a['pubDate']
    local bP = b['pubDate']
    if aP ~= nil and bP ~= nil then
        return aP < bP
    end
    return aP == nil
end
Johnuniq (talk) 02:27, 24 June 2016 (UTC)

@Johnuniq: I can't recall if I thanked you elsewhere, just wanted to let you know I implemented your recommendations, thanks again! -- ferret (talk) 21:45, 11 July 2016 (UTC)

buildCite and citation/reference work

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


Wikidata for individual reviews

So the real question of the hour is how to get this going for individual reviewers—how much more configuration would the templates need? czar 23:48, 25 June 2016 (UTC)

The code is essentially already there. Currently, the module is only looking at the list of provided aggregators. It just has to be updated to look at the list of provided reviewers as well. The real work is in Module:Video game wikidata. All of the reviewers will need to be defined in the module's mapping with their Wikidata QIDs. We also have to consider how to handle references. Aggregators are easy because there is no author to worry about. That's not the case with the individual reviews, and while Wikidata has an author field, it must map to another Wikidata item. This means in many cases you might have to define the author themself to Wikidata before you can finish the reference. That's where it gets really sticky. -- ferret (talk) 00:34, 26 June 2016 (UTC)
I see that the author field doesn't divide into first/last names too—is it able to parse out the first/last for the citation metadata? Also two issues with the current citation, e.g., for Metacritic: (1) If there is only one Metacritic platform (not multiplatform), it should hide the platform prefix. Otherwise it means we have to remove the platform from the Wikidata which I would imagine is not the way to do it. (2) I can add an "archive URL" in the Wikidata citation but not an "archive date" and either way, it doesn't show in the citation either. Started a thread at Wikipedia talk:Wikidata#CS1 parameter support in Wikidata references. References look like a complete pain in the ass at Wikidata... do they have any guide to their fields? czar 01:51, 26 June 2016 (UTC)
I stumbled my way to getting enough citation fields to make me happy starting out. It may be possible to use the author field to get the author's QID, and from there, access their first and last names individually, but I haven't actually looked. As for "Single metacritic", I believe I can handle that, but it will be later today. -- ferret (talk) 12:18, 26 June 2016 (UTC)

Regarding sources in the general, see d:Help:sources.

Correct, that would not be particularly well-linked data. Ferret has it right: get the author item, on which there can be set the "family name" and "given name" properties. Divvy up as appropriate.

Archive date: I don't think there's a property for archive date right now. d:WD:Property proposal for that. --Izno (talk) 17:14, 26 June 2016 (UTC)

@RexxS: I think you've followed this section a little bit already, but do you think this might be something better suited to Module:Wikidata? Some sort of "formatReference" that other modules can pass in a Wikidata reference table and get back a CS1 citation. Module:Video game wikidata has a rudimentary "buildCite" but a general function for everyone may be preferable. -- ferret (talk) 18:55, 26 June 2016 (UTC)

To me it would clearly be most useful to create a general call to create a CS1 citation from a Wikidata reference. It doesn't matter too much where it is kept as any module can 'require' another module (i.e. include it) in order to use its functions. Most of the work I've done has been to create individual calls that can be used to modify infoboxes one field at a time, to get the process kick-started, but in the long term, I expect entire infoboxes to be coded in Lua - as you're doing here - so common functionality like creating a reference is best done in a separate module, IMHO.
On a slight tangent, the problem mentioned above of archivedate is easily solved if you use archive.org (the Wayback Machine). As an example, I recently added this to a dead link: | archiveurl = https://web.archive.org/web/20060110193440/http://www.gue.com/decoplanner/ | archivedate = 10 January 2006/. It's quickly apparent that the archive date is encoded in the first 8 digits of the numeric part of the archive url. Could we decode an archive date in general from archive urls used by other sites? --RexxS (talk) 21:25, 26 June 2016 (UTC)
Other archivers, such as http://www.webcitation.org/6aRb1Ty6e, do not store the date in the URL. We'll need it as separate metadata. czar 21:34, 26 June 2016 (UTC)

@Czar, Izno, and RexxS: Please see d:Wikidata:Property proposal/archive date created by Anarchyte (talk · contribs). -- ferret (talk) 11:31, 5 July 2016 (UTC)

The archive date property was created and Module:Video game wikidata is now pulling it. -- ferret (talk) 16:27, 11 July 2016 (UTC)

Let's continue this discussion at Module talk:Video game wikidata as changes like this affect multiple templates that use the module now, it's the more centralized general place to discuss. -- ferret (talk) 21:46, 11 July 2016 (UTC)

The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

Ref names

(Should we move discussion to Module talk:Video game wikidata?) How are the automatic reference currently being formatted? What is the format to use the reference associated with an IGN review, for instance? czar 19:24, 11 July 2016 (UTC)

ArticleName-ReviewerSystem. That is, Dark Souls-MCPS4, or Darks Souls-IGN if a reviewer that wasn't for a specific system. The module has no way of knowing if you will put multiple game scores on a single page, i.e. a series page, so prefixes the article name to avoid conflicts. It's a bit dirty but I haven't thought of anything that would be any more intuitive. -- ferret (talk) 21:02, 11 July 2016 (UTC)
Does the module detect the page from which the call originates (and whether it is a game or game series in Wikidata)? If so that would solve part of the name issue. Or perhaps it can recognize whether it's being called from an individual game template or game series template? I would suggest dropping the game name from the ref when it's being called on an individual game page—otherwise that'll lead to a lot of clutter in the Reception section. I'd also recommend using spaces and avoiding irregular abbreviations where possible, e.g., "Metacritic PS4", "IGN review", "IGN PS4 review" (same conditions for the console listing as whether to preface the score with "PS4:") as to distinguish from other IDs. czar 21:29, 11 July 2016 (UTC)
The module knows the calling page but doesn't have any way to tell if it is being called multiple times or if a page is for a video game or series. Or perhaps the series is summarized on the article for the first game, etc. I can put some thought into it though, but right now I'm looking into implementing authors for cites. -- ferret (talk) 21:39, 11 July 2016 (UTC)
An alternative could be an option to add a prefix before the ref names. The vast majority of cases are going to be single-game templates calling single-QIDs in single-game WP articles, but there are cases where a series article has several reviews templates (each for individual games) and in those cases it would be good to just add a prefix before the ref IDs so as to avoid conflicts. Another option is to just have a param for when there are more than one reviews templates on a page, and that would add the unique identifiers (game names) before the ref names. But I think the default should be to exclude them since that's the majority of cases czar 22:19, 11 July 2016 (UTC)
What prefix though? It has to be unique per QID. Using the article title is at least easy to link (QID->enwiki name). Of course, could use the QID itself. As long as the editor is specifying the QID its intuitive, but if you're letting the template do all the work like at Souls (series) it's not. A numeric prefix becomes difficult because templates sometimes shuffle things. For example, the review template re-sorts the systems and the reference orders change from how they were pulled, so the numbering actually ends up backwards. I can add a parameter for turning on and off the article title prefix, which the series template can default on, but it would be up to editors to understand they have to do that if they use two individual review templates in one article. Granted, it'll throw CS1 errors, so they'll at least have something cluing them to it. -- ferret (talk) 22:25, 11 July 2016 (UTC)

@Czar: I think you're right about using Module talk:Video game wikidata. Can you move this section there? This template is like a test base for the module but now that usage is in three templates we should ensure we centralize. -- ferret (talk) 21:44, 11 July 2016 (UTC)

✓ done czar 22:19, 11 July 2016 (UTC)

VG Wikidata guide

I've just completed a rough first pass guide to editing Wikidata. I would like to add some illustrations later but its a work in progress. See WP:VG/WD. Please, feel free to edit and improve. -- ferret (talk) 13:52, 13 July 2016 (UTC)

Cite: deadurl

@Czar, RexxS, Anarchyte, and Izno: Based on Andy Mabbett's suggestion at d:Wikidata:Property_proposal/dead-url, I have implemented a demonstration of using end time (P582) to indicate that a referenceURL is no longer valid. Lua code in this diff. It was successfully tested. If end time is set to unknown or a date earlier than the current date, deadurl=yes. Otherwise, deadurl=no. Deadurl will only be processed if archiveurl and archivedate were also found. This is, as Anarchyte noted on the proposal page, essentially backwards from CS1's default behavior. We are assuming deadurl=no unless end time is present, rather than assuming deadurl=yes due to the presence of archiveurl/archivedate. -- ferret (talk) 13:35, 12 July 2016 (UTC)

I've objected to that solution there. Regardless of my opinion of dead URL, "end time" does not obviously apply to the URL, nor in fact any of the parameters. --Izno (talk) 13:50, 12 July 2016 (UTC)
I don't disagree, but wanted to proof-of-concept. -- ferret (talk) 14:04, 12 July 2016 (UTC)

So the proposal isn't really going anywhere, so we're no closer to a Wikidata remedy. What about comparing access date to archive date, and setting dead-url=no if access date is more recent? It's arcane, to a degree, but we need to come up with something since CS1 defaults to dead-url=yes if archive url/date are present. -- ferret (talk) 11:39, 21 July 2016 (UTC)

Cite: authors

@Czar, RexxS, Anarchyte, and Izno: Above archive is from the original discussion from Template talk:Video game reviews here. I'd like to centralize discussion here at the module now since these changes affect multiple templates now. I added the new archive date property this morning, and this afternoon started taking a crack at implementing the author property. You can see an example at Template:Video game review score/testcases#Citation testing. FOr the lua programmers, the change is in these diffs. I suspect it could use a little polishing. I used a table to store author entity data to avoid pulling it twice if an author is on multiple references in a single execution. Let me know your thoughts. -- ferret (talk) 21:51, 11 July 2016 (UTC)

  • I've done it by hand up to now. For the Far Harbor IGN reference it was two steps. First, I had to create and populate an entry for Dan Stapleton. Then I could specify his new entry as the author of the reference. This would have to be done for every author we come across, though the big frequent names would get filled in early I would imagine. Plus if they happen to have their own wiki article, they will already be there (I.e. Ben Kuchera, Jim Sterling, etc) -- ferret (talk) 22:19, 11 July 2016 (UTC)
Are authors with their own enwp article automatically linked? czar 07:24, 12 July 2016 (UTC)
Should be. Their data may possibly be missing if a bot didn't import it, but being an article on any wiki appears to cause a wikidata entry to be created. -- ferret (talk) 11:46, 12 July 2016 (UTC)
A thought which we should consider: first/last do not map in every case to family/given given the existence of Asian names. Maybe there should be a parameter which can be accessed, which changes from the default parameter use of first/last to (possibly both) last/first or possibly just author. --Izno (talk) 18:38, 20 July 2016 (UTC)
This is (mostly) covered already. If both given name and surname are not both found, the module instead uses authorN and the author's label. It is already dynamic on that count. -- ferret (talk) 19:42, 20 July 2016 (UTC)
I don't see how that's relevant to the problem. --Izno (talk) 11:17, 21 July 2016 (UTC)
I'm not sure how it isn't.... If the referenced author does not have a first and last name, the module will not use lastN and firstN. It uses authorN instead. How isn't that relevant to authors who lack first and last names? -- ferret (talk) 11:35, 21 July 2016 (UTC)
Asian names still comprise first and last names, but their first name is their family name and their last name is their given name. Maybe that makes clear my concern. --Izno (talk) 12:06, 21 July 2016 (UTC)
So you would want to put givenName as lastN and surname as firstN in that case? The resulting CS1 output would essentially be "givenname, surname". Is that a proper form for Asian names? If not, (ignoring for a moment how to detect, if at all) we'd have to use authorN. -- ferret (talk) 12:36, 21 July 2016 (UTC)
Is that a proper form for Asian names? I don't know. Usually when I use an author with an Asian name I default to authorN, because I don't know. Help talk:CS1 has had some discussion on the point, but nothing with a section header "What do Asian names?" --Izno (talk) 13:12, 21 July 2016 (UTC)

Work/publisher

Should Metacritic be italicized? Currently, because it is a website its article has not italic title and does not use italics when referring to the review aggregator in question.

This module extracts [non-italic] publisher from P123 and [italic] work from P1433 ("published in" property), so we get italicized Metacritic as a result (although, I'm not sure how it gets it from P1433 because on wikidata:Dark Souls Metacritic is in P447 i.e. P444). --Obsuser (talk) 07:56, 2 December 2016 (UTC)

@Obsuser: This module is not adding italics to either P123 (|publisher= in the cite) or P1433 (|work= in the cite). It seems to be the CS1 module used by {{cite web}} that is doing that. Dark Souls appears to be setup correctly. Note that P447 (score by) is used as a qualifier for P444 (review score). This lets the module determine who did the review, through the reviewer parameter (setReviewer), and the module never actually outputs the reviewer. The cite web template for the reference is build entirely from the the reference properties, which use P123 or P1433 if they are available. Note that the reference properties are collapsed by default on Wikidata, you have to expand them to see it. WP:VG/WD may be helpful in describing how the data was populated. -- ferret (talk) 14:39, 2 December 2016 (UTC)
Module:Citation/CS1 italicizes the |website= (alias |work=) parameter by design. Metacritic correctly is italicized as a result. --Izno (talk) 15:12, 2 December 2016 (UTC)
Then we might want to add italics to its article and for other websites in /data submodule? I think that in {{video game reviews}} no website about games used as either aggregator or reviewer/publication is italicized – system that was followed was to italicize only journals/magazines, not sites...
Right now, in Dark Souls#Reception aggregator is displayed as "Metacritic" but in generated citation as "Metacritic". --Obsuser (talk) 02:59, 3 December 2016 (UTC)
That's outside the scope of this module's talk page. This module does not output Metacritic anywhere except in citations, and the citation module (Separate from this one) does the italics. Changing the other templates and prose would need a much broader project discussion. WT:VG would be a good starting point. -- ferret (talk) 03:04, 3 December 2016 (UTC)
No, we didn't understand each other. Question is: Should Metacritic (as one website) go into |work= (so its output is italic) or into |publisher= (so it's not italic)? Currently we have inconsistency: article title and referring to the Metacritic is not using italics (and this module itself does not use italics, it displays "Metacritic" in generated table's first column), on one side, and on the other side Metacritic is put by this module into |work= so output is using italics (in generated references).
Or, I might be missing something and article of Metacritic and referring to it should not use italics and references should (but that's not logical; YouTube, for example, does not use italics in its article [although it is a website (I've seen across Wikipedia some websites are in italics, some not, don't know why), and CS1 italicizes websites] and is according to that put in |publisher=, not in |work=).--Obsuser (talk) 17:22, 3 December 2016 (UTC)
Metacritic is not the publisher, it belongs in work. The publisher is CBS Interactive. Often, the publisher is omitted unless necessary to distinguish/disamb the work. We are correctly populating {{cite web}}. Note that this module does NOT output the table columns. {{video game reviews}} does that. It is doing it correctly. CS1 uses italics for all works. There's no issue here to tackle really. Please read {{cite web}} which clearly states that the |website and |work values will be italicized. If you feel Metacritic should be italicized based on MOS:TITLE that needs to be discussed at a larger venue. The reason I keep saying to go to a larger venue is that this happens with every Metacritic reference, not just those generated by this module. If it were decided that Metacritic should be in italics, it would have to be updated across tens of thousands of articles. -- ferret (talk) 17:40, 3 December 2016 (UTC)