Hearthstone Wiki:Project 13
Reworking/Revamping Cards table on pages using Card template
Last week, Fandom pushed a new update to wikipedia:MediaWiki to version 1.37 from 1.33. Due to this, Cargo extension was unable to store _pageData._categories
, a key (or attribute, property) that we use frequently for querying cards by races, arts, or formats. I have no choice but decide to rework this table once more time, despite the fact that Project 1 is still incomplete, so that we will avoid using _pageData._categories
in the future. Also, I want to take this opportunity to make our database importing independant from HearthstoneJSON, because there are still a lot of useful data they haven't managed to extract yet, and I want to take full control of token numbers in card texts, so that I can understand more how the texts are built and easily manipulate them.
Announcement blog: Hearthstone Wiki:News 7.
New structure
- CardsOfficial table will be replaced with 2 tables, Card and CardTag.
- All of these tables will be extracted directly from client by me. These tables will be independant from any public API.
- I recommend not to touch any data in these tables, as they are fully automatic and I want to keep the official data as organic as possible. They are essential to researching how Team 5 designs cards.
- Cards table will be separated into 2 tables: DerivedCard and CustomCard.
- DerivedCard is a table with keys that have default value based on the official data we get. You can edit these key values, but it's suggested that you keep them as their default value (don't set new value).
- CustomCard is table with completely made-up keys and is non-existent or unrelated to official data, but they are proved to be useful. You can edit these keys freely without being afraid of disrupting official data.
Hearthstone Wiki:Project 13/tables includes the full details of parameter changes and new parameters of the Card template.
All queries (card lists) will also be reworked, but that's for another project.
What to do
- Import client data into the wiki's new official card tables. (I have already done this a few weeks ago)
- Write the code to set default values of derived keys.
- Create {{DerivedCard table}}.
- Make a few page samples that use this CustomCard table and make sure they are compatible (actually there were a lot in User:Use25/templates).
- Rework the code in {{Card template}} and declare CustomCard table there (The reworked version is Template:Card template v2).
- Turn the Notes and Patch changes contexts into data. (Currently here)
- Create the table and rename the old parameters if needed (article parameters will remain as they are) using AutoWikiBrowser.
- Rework all the card query templates: {{Card query}}, {{Bg minion query}}, {{Bg hero query}}, {{Mercenaries mercenary query}},...
- Rename all the old parameters of query templates using AutoWikiBrowser in main pages.
- Complete Hearthstone Wiki:Project 1 with the remaining pages that still use {{Card infobox}}.
- Remove the content of {{Card infobox}} and redirect it to {{Card template}}.
- Remove {{CardsOfficial table}}, {{CardsOfficial2 table}}, {{CardsOfficial3 table}}. {{CardsOfficial4 table}} and {{CardsOfficial5 table}} will still be left behind to import {{CardChange table}} data from older patches.
- Remove Cards table.
- Remove {{CardsTags table}}, {{CardsTags2 table}}, {{CardsTags3 table}}.
- Remove all pages with Data namespace, any categories and any templates associated with them.
- Recheck Category:Pages with cargo query errors for errors that I wouldn't have take into account.