Gilgamesh: Enough expository banter!
This talk page is used for discussing improvements to the page "FFXIV Data". It is not the place for general discussion or sharing stories about the topic of this article.

Database changelogEdit

  • Cat (meowhunt) 03:51, June 7, 2018 (UTC) - Just updated Achievements, Instances, Items, Minions, Statuses, and Title. for Patch 4.31. Achievements now support Titles properly.

Rather than have to write a function every time we want to pull data from a table, I made this (scroll to the bottom).

Yeah, I feel like I wasted my time. It'd be much simpler to just get people to use HTML tags than to get this working for wikitext tables; especially as I want this to be used in places besides tables. Although I've now written functions that allows wikitext tables (if their attributes are done in the template-safe way).

Some SQL-inspired things going on. So you SELECT the fields to use, FROM a table (not implemented because I don't know the storage plan yet, just hooked up to the XIV table right now), and only shows results WHERE criteria are given. I just set up the basics right now, so SELECT only allows just prop names, and WHERE... WHERE's actually pretty well stocked with <, >, <=, >=, ==, !=, AND, and OR. SORT would be easy to implement. And I don't think JOINs would be hard.

Also I just set nulls to be N/A, but it would be simple to allow you to set it in SELECT (e.g. "level or --"). JBed (talk) 09:52, March 21, 2015 (UTC)

updates for patch 4.3 Edit

Because the old way of updating the database is was too much of a pain to run every patch (and also depended critically on XIVExplorer, always a very reliable piece of software) I've started to redo this from scratch so it's actually feasible to update each major patch.

I'm using the Under the Moonlight trial as an effective testing ground for the new database (since nobody writes Duty pages anyways...) as well as Final Fantasy XIV translations/Achievements. One of the main features of the new setup is the ability to override or add custom data, for when XIVDB or another source is missing information or you want to override it for other reasons, see Module:FFXIV Data/Romaji/achievement as an example of where it is necessary to override Module:FFXIV Data/achievement/1 (since of course the game doesn't contain information about romaji; in principle I could automate this but I'm pretty sure we're the only source that provides romaji for everything I doubt a source exists; also there are ethical issues in that it's not clear that copying someone else's literal translations isn't plagiarism).

The main functionality that the new method costs us is icons. This was by far the worst part of the old method, partially because none of XIVExplorer, pywikibot, or MediaWiki are really meant for the mass uploading of literally tens of thousands of images. If I have time before Patch 4.40 (or Patch 4.36?) I might try to webscrape Lodestone for them. But that sounds like a logistical nightmare. Anyone have any better ideas?

I'll try to write up some better documentation to replace Project:Final Fantasy XIV Database, drafted at User:Catuse167/FFXIV Data. I encourage regular FFXIV editors to learn how to use this data, since I'm active only sparingly and will not be the one to implement this stuff in mainspace in general. In particular, I plan to develop functionality on a "as needed" basis: if I need some table or function I'll add it. Poke me if you need some functionality and you don't know how to do something.

As an example of how to use it:

{{#invoke:FFXIV Data|Lookup|quest|You Have Selected Regicide|patch|number}}.

Lookup is the simplest function; no fancy tables or charts are generated by it, like more complicated functions like QuestList. It looks into a database (quest), calls up an object in the database (You Have Selected Regicide), looks up an attribute of that object (patch), and then each additional argument is a subattribute (here "number" is a subattribute of "patch"; if there was a subsubattribute called first_decimal_place we'd write |patch|number|first_decimal_place -- but of course no such thing exists). Thus we can say:

You Have Selected Regicide is a quest from Patch 2.1.

Additional functions begin at "FFXIV Editors: To make new tables, edit below this line" (currently line 598). For those who are unfamiliar with how our Lua modules work: local functions are lemmata, while p.* functions can be invoked from the rest of the wiki, just like Lookup.

And finally, a side note: this is probably (no, definitely) buggy as hell. If something goes wrong and you don't know how to fix it yourself, please let me know and I'll try to figure out what went wrong. And some stuff is still uploading; I hope to have all the data for 4.30 up by tomorrow night. I'll probably update next for Patch 4.36 to account for UwU, Heaven-on-High, and Pagos, as well as any additional functionality anyone suggests/needs and bugfixes. For future patches, I should in theory be able to get everything up in 72 hours after the patch drops (I hoped to be able to pull that off this time, but ran into a bunch of unforeseen networking errors. I think I have written code that better accounts for them, but alas...) Cat (meowhunt) 07:20, May 29, 2018 (UTC)

I've added support for crafting and icons. Ideally I will update achievement, item, quest, and title databases for Patch 4.36, and add support for emotes and minions before 4.4 so that those can be added as well.

Another advantage of the new setup is we don't actually need to upload every icon in the game blindly: we only upload the tiny fraction that are actually useful. I have already deleted all the old icons from the wiki. Cat (meowhunt) 05:26, July 30, 2018 (UTC)

XIVDB was bought by ZAM. While it seems like that they'll probably maintain the API there's a chance that they won't, in which case this is kind of fucked. Cat (meowhunt) 23:12, August 4, 2018 (UTC)

Community content is available under CC-BY-SA unless otherwise noted.