These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
12Next page
 

Lets talk implants in the char/CharacterSheet endpoint

First post First post
Author
CCP FoxFour
C C P
C C P Alliance
#1 - 2014-10-09 08:47:44 UTC
Hey guys,

I am working on a few updates to the CharacterSheet private data and there have been requests to include all the implants your character has instead of just the attribute ones. For reference this is how the endpoint currently returns implants: http://pastebin.com/BVqWfy4s

The problem with this setup is that it is very much tailored to attribute implants (memory, intelligence, willpower, charisma, and perception).

Adding in the other implants to this area would be very messy.

I could on the other hand completely revamp the implants section to just be a list of typeIDs and leave it to you guys to do the rest. This is my preferred way of doing it, same along the lines of this: http://pastebin.com/aEMByLh8

It's a lot simpler and very similar to the skills section. It however introduces a huge backwards incompatibility into the API. We have done this once before with the industry jobs stuff, but I wanted to get feedback from you guys about this.

The other option of course is to put both in... but that disgusts me a fair bit... mainly because I know I would never come and clean it up and that makes me sad.

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#2 - 2014-10-09 09:00:28 UTC
I'd suggest:

Add in the new implant section.

Leave in a stub node for the attribute enhancers which won't contain data, but will stop things from breaking. (maybe)

And add something to your calendar to remove it later. Blink

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Sentient Blade
Crisis Atmosphere
Coalition of the Unfortunate
#3 - 2014-10-09 09:00:41 UTC
The route of adding both may be "eugh" but it is most likely the optimal route to go down IMO. It would leave the existing data in tact and still reflect accurate information for applications which may not keep their static dump immediately up to date or that only wish to include a partial dump of skills related items which might otherwise miss a new typeID, such as the new-grade implants.

Your example implant node looks fine - personally I'd throw in which implant slot it was bound to just for ease-of-use.

Darkblad
Doomheim
#4 - 2014-10-09 09:02:44 UTC
Being just a stupid dabbler, I would propose something like this:

https://api.eveonline.com/char/CharacterSheet.xml.aspx?keyID=[]&vCode=[]&characterID=[]&version=2

with the api answering with the current format when version=2 is missing, a bit like eve/AllianceList. Current tools accessing the api won't break immediately and you can mess around with extend the new format.

But again, I'm just ... Bear

NPEISDRIP

Desmont McCallock
#5 - 2014-10-09 09:13:28 UTC  |  Edited by: Desmont McCallock
I can totally relate to your concerns. Looking at the pros and cons of the available options, I would vote for total replacing the "attributeEnhancers" section with the "Implants". Just add also typeName in each row.

Edit: Steve's idea ain't bad also.
Hanazava Karyna
The Foundation Of Mammon
#6 - 2014-10-09 09:21:13 UTC
Quote:
The input may not contain HTML.

goddamit.

Here, there is draft http://pastebin.com/CBPKNG5B
Should cover pretty much everything. Please ignore second 6th slot implant Big smile
Drailen
Doomheim
#7 - 2014-10-09 09:54:07 UTC
Somewhat related, but instead of changing the current character sheet, would it be possible to create a new endpoint which provides all implants for all a character's jump clones (and provide jump clone specific info while doing so)?
Max Kolonko
Caldari Provisions
Caldari State
#8 - 2014-10-09 10:29:35 UTC
CCP FoxFour wrote:
Hey guys,

I am working on a few updates to the CharacterSheet private data and there have been requests to include all the implants your character has instead of just the attribute ones. For reference this is how the endpoint currently returns implants: http://pastebin.com/BVqWfy4s

The problem with this setup is that it is very much tailored to attribute implants (memory, intelligence, willpower, charisma, and perception).

Adding in the other implants to this area would be very messy.

I could on the other hand completely revamp the implants section to just be a list of typeIDs and leave it to you guys to do the rest. This is my preferred way of doing it, same along the lines of this: http://pastebin.com/aEMByLh8

It's a lot simpler and very similar to the skills section. It however introduces a huge backwards incompatibility into the API. We have done this once before with the industry jobs stuff, but I wanted to get feedback from you guys about this.

The other option of course is to put both in... but that disgusts me a fair bit... mainly because I know I would never come and clean it up and that makes me sad.


Type ids should be fine. While you at it pls remember that we will want to have jump cooldown and fatigue in not very distant future visible via api
CCP FoxFour
C C P
C C P Alliance
#9 - 2014-10-09 10:38:24 UTC
Max Kolonko wrote:
CCP FoxFour wrote:
Hey guys,

I am working on a few updates to the CharacterSheet private data and there have been requests to include all the implants your character has instead of just the attribute ones. For reference this is how the endpoint currently returns implants: http://pastebin.com/BVqWfy4s

The problem with this setup is that it is very much tailored to attribute implants (memory, intelligence, willpower, charisma, and perception).

Adding in the other implants to this area would be very messy.

I could on the other hand completely revamp the implants section to just be a list of typeIDs and leave it to you guys to do the rest. This is my preferred way of doing it, same along the lines of this: http://pastebin.com/aEMByLh8

It's a lot simpler and very similar to the skills section. It however introduces a huge backwards incompatibility into the API. We have done this once before with the industry jobs stuff, but I wanted to get feedback from you guys about this.

The other option of course is to put both in... but that disgusts me a fair bit... mainly because I know I would never come and clean it up and that makes me sad.


Type ids should be fine. While you at it pls remember that we will want to have jump cooldown and fatigue in not very distant future visible via api


Already added internally. ;)

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

CCP FoxFour
C C P
C C P Alliance
#10 - 2014-10-09 10:38:48 UTC
Drailen wrote:
Somewhat related, but instead of changing the current character sheet, would it be possible to create a new endpoint which provides all implants for all a character's jump clones (and provide jump clone specific info while doing so)?


http://pastebin.com/tGmwJMwH

I just added it to the character endpoint... didn't seem like it needed a whole new endpoint.

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Drailen
Doomheim
#11 - 2014-10-09 10:52:47 UTC
Awesome stuff Big smile
CCP FoxFour
C C P
C C P Alliance
#12 - 2014-10-09 10:59:40 UTC
Here is a sample of how the endpoint looks now: http://pastebin.com/873Eyhi9

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

hfo df
Ramm's RDI
Tactical Narcotics Team
#13 - 2014-10-09 11:12:44 UTC
Nice!

(Also thank you for learning me you can actually name JCs apparently.)
Querns
Science and Trade Institute
Caldari State
#14 - 2014-10-09 13:11:26 UTC
Looks like we are on the right path here, but I wanna echo that adding new fields into the endpoint while leaving the old ones intact is the way to go. Any sane implementation should be able to ignore the new fields while it waits for its developer to update the code.

Glad to see jump clones getting added too! Great stuff all around.

This post was crafted by the wormhole expert of the Goonswarm Economic Warfare Cabal, the foremost authority on Eve: Online economics and gameplay.

CCP FoxFour
C C P
C C P Alliance
#15 - 2014-10-09 13:37:03 UTC
The changes have been deployed to Sisi.

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

CCP FoxFour
C C P
C C P Alliance
#16 - 2014-10-09 13:38:02 UTC
Querns wrote:
Looks like we are on the right path here, but I wanna echo that adding new fields into the endpoint while leaving the old ones intact is the way to go. Any sane implementation should be able to ignore the new fields while it waits for its developer to update the code.

Glad to see jump clones getting added too! Great stuff all around.


While I agree that would be nice, it means leaving a lot of extra code and DB procs around. So while it would most definitely be nicer for you guys, in order to keep the code base not a complete mess I think this needs to be done. :(

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Sentient Blade
Crisis Atmosphere
Coalition of the Unfortunate
#17 - 2014-10-09 14:27:37 UTC
If pulling 5 rows from the DB creates a significant problem either from the DB or the code then it would suggest there are much bigger issues at play =\
CCP FoxFour
C C P
C C P Alliance
#18 - 2014-10-09 14:30:24 UTC
Sentient Blade wrote:
If pulling 5 rows from the DB creates a significant problem either from the DB or the code then it would suggest there are much bigger issues at play =\


It's not a performance issue, it's an issue of keeping a clean code base and not having it become a giant mess.

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Garai Nolen
Deep Core Mining Inc.
Caldari State
#19 - 2014-10-09 14:34:20 UTC
CCP FoxFour wrote:
I could on the other hand completely revamp the implants section to just be a list of typeIDs and leave it to you guys to do the rest. This is my preferred way of doing it, same along the lines of this: http://pastebin.com/aEMByLh8


+1 for this. It's backwards incompatible for the right reasons in the right way and I'd much rather have this style sooner (and permanently) than some other much more complicated hybrid solution later.
Desmont McCallock
#20 - 2014-10-09 16:25:23 UTC
OK, you will hate me for this CCP FoxFour but while we are at it, is there any change we can also get a reference for the "Standard Cerebral Accelerator" booster that so many EVEMon users complain about? (/me runs to hide)
12Next page