I'm sure most of you are familiar with the new ESI API CCP released a couple of weeks ago, and with their intention to shut down the XML and CREST API, as soon as ESI supports everything the older APIs have to offer.
So I've been busy over the last couple of days with transitioning the first killboard functions over to ESI, using a Swagger-generated ESI library.
A first experimental release is now ready, based on the current 18.104.22.168 release for Ascention 1.0
- introduced Swagger-generated ESI library
- manually posted kills via CREST links will now be posted using ESI
- zKB Fetch now uses ESI for posting kills
- fetching Pilots, Corporations and Alliances is now done using ESI
- item values will now be fetched using ESI
- Alliance Tournament ship prices are now hardcoded to more realistic values
- increased minimum PHP version required for installation to 5.4 for compatibility with generated ESI library
- cURL is now a hard prerequisite for installing EDK (for compatibility with generated ESI library)
As can be seen in the change log, the minimum system requirements for installing EDK will be increased to at least PHP 5.4 with cURL for all releases dealing with ESI.
The kill posting implementation with ESI is actually not the first, but the second shot, since the first approach proved to be too slow. Now, posting a single kill requires just two calls to ESI, one for fetching the actual kill, another for translating all IDs to names.
There still are many functions relying on the XML API as well as CREST. These will be phased out over time, some functions do not yet have an equivalent in ESI.
Github Branch: https://github.com/evekb/evedev-kb/tree/salvoxia
Warning: Do NOT use this release with your production database!!
If you test this release, I'd highly appreciate any feedback! I'm especially interested in the following:
- any errors you encounter with killmail posting, either manually or using zKBFetch
- the overall performance of killmail posting (timeouts you perhaps encounter)
- any wrong information in the posted kills, with regard to the basic information (timestamp, victims, attackers, ...)
Anytime there's a new test release, i'll post an update in this thread, the download link will stay the same.