posted Dec 23, 2009 1:59 PM by Bome D
We talk alot about profiles and entities sometimes when we reply to people who have issues. This is a little clarification about what those are, along with a bit of insight as to how the program works.
When you first load the program, you are asked to create what is called a profile. This is simply your API userID and authentication key (along with an identifying name that you give it). The profile's job is to associate this API info with the characters and corporations that rely on it for their API calls. The profile is stored as NAME_Profile.xml (Located in the Resources>Profiles folder).
Entities are either character or corporations, pretty much 'The thing that stores API information'. If you know anything about programming and inheritance, entity is the base class for chars and corps. The entity keeps track of its API timers (when it can grab new data from the Eve API) and the API information that gets returned. Each entity has its own folder (named after it), which contains API data files. This way, even if 2 different profiles contain the same corporation for instance, there is one common set of data. This is also why we separate the API data from the entity. If you change a character across accounts, or multiple chars are in the same corp, we dont have to keep track of that at the entity level, whatever profile is loaded deals with it naturally and all the entity's data is perserved.
The first thing then that the profile does after you create it, is grab from the API a list of all the characters and their corporations that are supposed to be under its purview (done as a call to account/Characters.xml.aspx). The profile then checks to see if any of these entities already exist on your computer. If they do exist already, say for instance you have multiple profiles with the same corporation, they are loaded right there. Otherwise, it will go and begin the process of downloaded all the available API data. This API data is processed, loaded, and saved to disk in the entity's own folder. The profile then starts a timer, set to tick every minute, that the entities use to check against the various API cache timers. If the cache time is up, new API data is downloaded.
|
posted Dec 23, 2009 1:18 PM by Bome D
The Eve-Online API is what makes Eve-MEEP such a powerful tool. It gives you data about what assets you own, where your money comes from and goes to, industry jobs, and much more. So how does MEEP get that data, and what does it do with it once it has it?
First thing about the API layer of the program, which differs from version 2, is that we locally cache ('Cached Calls' folder, file names are MD5 of the call) all responses from the API as we receive them. Version 2 had some serious issues at times when it would fail to read the xml properly. It would require you to delete the data, wait a few hours, and then hope that this time when it tried, it would succeed. So, what we did with version 3, is when the data is downloaded we check it for errors. We make sure it is properly formatted for xml, and we check to see if an error was returned from the website, or if the eve API sent an error (such as invalid key, or if the cache timer on the API side isnt up yet). If any of these checks fail, then instead of trying to load bad data or quitting entirely, we load the cached version of the last good call. There are a number of situations where even outdated information is good, such as if you had to clear any files, and the program is smart enough that it wont overwrite newer data if it does exist. If there are no detected errors, the API response is saved to the local cache and then processed.
How is it processed? Well, each character and corporation have a dataset (like a personal database), where each API call is a table. The xml from the API response is parsed into rows for the proper table, and then that table is written to a file in the character or corporation's folder on your HD. This is how the program can keep track of months of data, even though the API no longer returns it. Never Ever is any API data sent from your computer (except sending CCP your API key to get the data in the first place). When the program is launched now, the written tables get loaded back into the program, and your off! |
posted Dec 22, 2009 9:56 AM by Bome D
|
In meepv2 we had the buy/sell history of an item on that items page, so you looke up the item and there were breif stats about the item. In version 3, we moved that information to the wallet pages. Open up whatever wallet you use for market orders, personal or corp, go to Transactions, and set a filer for the item you wnt to know. Done! |
posted Dec 16, 2009 11:12 AM by Bome D
[
updated Dec 22, 2009 9:56 AM
]
Go to the overview page, and double-click on the line for the wallet you want to see. Easy! Once there, you can switch between wallets using a drop-down at the top of the page next to the image. Note this only works for corporations since characters only have 1 wallet anyways.
You can even filter the Journal and/or Transactions listed using the text box along the toolbar above the list. Just type in what you're looking for, and click 'Set Filter'. Remove this filter using 'Clear Filter' |
posted Dec 11, 2009 4:34 PM by Bome D
|
Eve-MEEPv3 introduces the ability to turn off APIs that you do not wish to use. For instance, you mny want to use another program for monitoring your POSs. To individualy select which APIs are enabled per character, simply go to the overview page and double-click on the picture of the character or corporation. On the next page that appears, go to the API tab, and simply uncheck the APIs you do not want to use. |
|