Items mentioned in recipes, not found
bobsort.4097:
I’m not sure if this is pointed out somewhere. I was poking around with data extracted from API and noticed there are some recipes that their output item does not exists in Items API. Here are the list.
RecipeId ItemId Disipline Type ChatLink
-------- ------ --------- ------------------- -----------
10060 72198 Scribe GuildDecoration [&CkwnAAA=]
10510 76707 Scribe GuildDecoration [&Cg4pAAA=]
10940 72307 Scribe GuildConsumable [&CrwqAAA=]
11125 76657 Scribe GuildConsumableWvw [&CnUrAAA=]
11196 75761 Scribe GuildConsumableWvw [&CrwrAAA=]
11530 71964 Scribe GuildDecoration [&CgotAAA=]
11695 70982 Scribe GuildConsumable [&Cq8tAAA=]
(I tried pre tag but as the whole text is formated with variable width font, columns are messed up)
Although I can validate and ignore these recipes from list in my own program,
It would be great if you could somehow check existence of the items before sending the recipe id in list.
Also I would like to know, How you guys handle deleting items or recipes in GW2?
This is specifically important when applications cache your item data and there is no way of knowing if they are updated/deleted. There was a suggestion earlier to add an API method to return ID of Items that are updated or deleted which can be determined internally via an Create/Modify Date tag on your data.
A sample of this data would be like
{
added:[1,2,3,4],
deleted:[6,7,8,9],
updated:[11,12,13,14]
}
Lawton Campbell.8517:
I’m not sure if this is pointed out somewhere. I was poking around with data extracted from API and noticed there are some recipes that their output item does not exists in Items API. Here are the list.
Guh, I think those are the items that are actually guild upgrades and deposited straight into the guild inventory. I’ll have to dig through the code that handles the crafting bits and see why the whitelist isn’t seeing events for those items — I was pretty sure I had it hooked up right but apparently it’s broken.
Also I would like to know, How you guys handle deleting items or recipes in GW2?
As background, the API gets the item data (and any other data that can be localized) from a backend server whose sole responsibility is serializing data from the .dat file. I’m not altogether too familiar with the internal format of it (I just work against an API for reading it), but my understanding is that all updates are opaque and destructive — there are technically deltas that are used to patch the .dat file, but they’re binary diffs. The only feasible way I know of to check on the before/after versions of an item is to check it in perforce — which the backend servers won’t ever have access to.
My recommendation is to, whenever there’s a new release (e.g., once every two weeks), to do a complete reindex of all the endpoints that have a ?lang parameter. Since you’ve got a copy of the old dataset, you can compute the diff against the new one and store whatever metadata you like.
Sorry I don’t have better news