
Cyerus
Eternal Strife
254
|
Posted - 2014.03.16 00:17:00 -
[1] - Quote
Demitrios wrote:I wouldn't touch a thing, TEA worked fine for the past 4 years with no issues, ignoring the big change to CAK, no reason to change it now when they are going to fix it. By "they" you mean the actual TEA developer I hope? If not, you are an idiot and please stfu, and here is why.
Like some posts before you, its clear that the "old" way of parsing xml TEA is using is error prone, as it can easily be broken by even valid xml documents. A proper way would be to use SimpleXML to parse it (and catch it for invalid XML results), and grab the values from the returned object. Even better would be to use PhealNG, as PhealNG uses SimpleXML internally while also providing checks for cache and valid keys (based on requests).
For the last couple of years we (the 3rd party developers, mainly located on Coldfront IRC channel #eve-dev) have been requesting updates to the EVE API, mainly to remove annoyances and limitations because of outdated code. Where most CCPers made only small changes (some good, some bad), we haven't really had any big updates. True, CAKs came out making it easier for people to share api keys, but in the end no big changes were made to the data itself.
Since the introduction of the CAKs CCP started to monitor API errors even more closely. By that, I mean that if you try to get the characterId with a nonexistants characterName, you'd get an error stating that the 'character doesn't exist'. Errors are logged based on IP. If you get too many errors (like if you try to find all characters in EVE), you'll get temp/perm-banned from the EVE API.
This however did not make sense as you had to query some API endpoints to figure out certain information (like killmails and if the character was part of FW), which would return an error. Killmails in particular was an annoying call, as per character you could only get the killmail list once per hour in total (not dependant on IP). So if zKB would query the killmail endpoint, Battleclinic and others would receive an error. Imagine that happening to the thousands of API requests per hour, and yes you can guess it....*poof*...killboards were banned by CCPs strict policy. PrismX saved the day by removing such bans until a new killmail API was built and released, allowing killmails to be checked by multiple killboards.
Things slowed down after this though. We were hoping for more conversation between CCP and 3rd party developers, but unfortunately the API is only considered a side-project by CCP which has to make way for more important stuff. In short, PrismX doesn't have a lot of time to invest on it.
Luckily, FoxFour was able to save the day. Even though the API is not his project, he was able to introduce small tweaks which we've been waiting for for a long time. Most noticeable is the CREST killmail endpoint allowing players to easily post killmails to killboards in a verified way. But also small changes like adding factionId and factionName to most character-based calls so you don't have to generate any errors anymore to figure out if a character is part of FW. Or the new OwnerId call where you can actually see what the ownerType is you are requesting (figure out if Cyerus might a character, corporation or alliance), effectively making CharacterID obsolete.. (more information can be found here).
And yes, you are correct in saying CCP should fix this small bug, and they certainly will. However, I'd like to point out its not their fault for you not helping to test the new changes. Yes, you, the person who has been using TEA for over 4 years without a problem blaming CCP for every small glitch, while you could've set up a test forum pointing to the updated Sisi API server to see if everything would be working correctly..
After all; CCP FoxFour went far and beyond to make those API changes, I guess a small "thank you" is impossible to say.
ps. Vote Fuzzysteve for CSM, as he's the only CSM candidate whom I've seen contribute in the CCP / 3rd party developer scene. |