. ESI « Torchwood Archives
Torchwood Archives
19Oct/181

LMeve state: almost done, still work in progress

Hi Spacefriends!

In the recent couple of weeks I've put in considerable amount of effort into LMeve development, in order to bring back all lost functionalities.

At the beginning of September I brought back the core functionality of LMeve, namely Industry Tracking. Since then the following functions have been restored:

  • added Markets route
  • pulls Jita prices from /markets//orders/ (default: Jita/The Forge)
  • pulls game calculated average and adjusted prices for each typeID
  • removed eve-central.com - all data comes solely from ESI now
  • added Corporation Market Orders
  • added Corporation Contracts and Contract Items
  • Buyback feature works again
  • Wallet Balance
  • Wallet Journal
  • Wallet Transactions
  • added 'KIT' endpoint in LMeve Northbound API. Usage: api.php?key=&endpoint=KIT
  • added XML format - use 'output=xml' and 'output=json' in URL to select format
  • Assets
  • Industry System Indices support added
  • Killmail support added
  • Adjusted killmail view ( killmails are now ESI verified 🙂 )
  • Killboard is back up!
  • Corp Blueprint support added
  • ME/TE values are based on actual Corp Blueprints

Additional changes:

  • fixed a bug in Universe route
  • moved ESI settings to GUI
  • added ability to use data from Sisi (support for ESI datasource)
  • GUI tuning for Buyback feature (ESI has new contract states)
  • Deprecated and disabled everything that mentions old XML API
  • Bug fix in X-Pages support
  • Twitter card meta tags for Killboard - links look nice when sharing killmails

Stuff remaining to be done

  • Customs Offices
  • Citadels
  • Industry Facilities
  • Character connect using SSO
  • Member self registration using SSO (optional, disabled by default)
  • Bug fixing!

Known bugs

  • Manufacturing Price estimation does not compute correct prices despite having all prices in the database
7Sep/180

LMeve state: back from the dead, work in progress

Hi Spacefriends!

First of all, thank you for continued support and all your e-mails and EVE mails. I was surprised that so many people still use LMeve! I can't simply ignore so many kind words and encouragement. Thank you for that!

I'm proud to announce that despite limited free time, I've finally managed to restore the core functionality of LMeve: Industry Tracking.

LMeve Industry tracking using ESI LMeve Industry tracking using ESI

User Story

You might wonder why it took so much time to restore any functionality, so here's the story. When XML API cutover was announced, I realized I have to modify the backend of LMeve: the engine that handles API and feeds LMeve with data. But the old backend was written in plain procedural PHP. It was spaghetti-quality code, that was hard to modify and maintain, and even the simplest modification had to be done in multiple places in code. So I decided I have to rewrite it from scratch, this time as well as best as I could, so the new code would be easier to maintain once it's done. The new ESI backend is written in objective PHP, with two main template classes and several inherited classes. The main one is ESI class and it represents the API itself. It allows access to routes, handles refresh and bearer tokens and all the necessary operations such as token renewal. You can easily access any route using simple but powerful instantiation: $ESI->Characters->getCharacterName($characterID) for example will provide a toon name when provided with character ID. Very easy to use, right? Each route inherits the Route base class, which handles the low level network communication, reporting and error handling. It also supports paginated output on ESI routes using the X-Pages header.

Moreover, this class can be used not just in the backend of LMeve, but in the GUI as well. It can be used to fetch data from ESI directly. Other apps such as my Annual Stats can (and actually already do) use it. This is why it was worth to take the rewrite-from-scratch approach, even if it took more time!

How to upgrade

  1. Right now simply download the new PHP code and overwrite your current installation. Don't worry about the database tables, because DB will be updated automatically the first time you log in.
  2. Second step is to enable the EVE SSO using this helpful wiki guide: Integrating LMeve with EVE SSO .
  3. Then go to Settings and make sure Enable ESI Poller is checked.
  4. Last but not least, head to Settings -> ESI API tokens and create New ESI token. Please mind you must have a Director role to do this.

What works, what does not

Please remember this newest version is still a beta. Logging is heavy, so you might want to rotate your logs more often.

What works:

  • ESI integration and token management
  • ESI status checking and alerting in case of failure
  • Corp Member information
  • Industry Tracking and Tasks Tracking

Roadmap for the next releases:

  • Market prices
  • Assets
  • Wallet
  • Contracts
  • Killboard

I will release one feature at a time, using Agile approach.

What can You do to help?

I would like to ask You for some support. How can You help?

  • Use and test the new LMeve version. Bug report on the project's Github page (please check the list of features that currently work and which don't before you report)
  • Need a new alt for Industry? Use my buddy invite to register. You will get an extra 250.000 SP on your new character as a bonus.
  • Wanna send a tip? I could always use some extra buck! Here's my PayPal donation page. It will also be easier to convince my better half that I need to spend some time on a freeware app for video games 🙂 just sayin'

Insert coin!

Thanks! Your help and support is always welcome and appreciated!

Special thanks goes to: Random McNally, Rixx Javix, Ramdar Chinken, Marq Aideron and Starfire Dai.

7May/180

LMeve state – ESI support is not ready

Traffic advisory

I've started updating LMeve to ESI four months ago (see the project site on github https://github.com/roxlukas/lmeve/), but due to RL being rather harsh on me for the past couple of years regarding free time, I don't have enough of it to finish necessary modifications before XML API cutover. I'm truly sorry about that, but there is little I can do to speed it up. Unfortunately I haven't found any other third party dev interested in helping me update LMeve either.

Here's the current status:

  • new ESI poller library: DONE
  • ESI base class (token exchange, cache handling, exception handling, performance measurement): DONE
  • GUI for authentication and token echange: DONE
  • corporation sheet ESI-to-database mapping: DONE
  • corporation members ESI-to-database mapping: DONE

As you can see a lot of the low-level stuff is already done, but the most important now to make LMeve work would be to continue mapping data from ESI to LMeve database tables:

  • industry jobs
  • contracts
  • killmails
  • wallet journals
  • market orders
  • market prices

I haven't abandoned the project, but it has to wait until RL settles a bit (i.e. doing less projects in the evening). This may take a month, or this may take five months, I can't tell. Maybe if LMeve *was* a commercial project, it would speed things up... but I really want to avoid running a kickstarter for this. I'd like to keep LMeve free for everyone to use.

TL; DR

LMeve will no longer receive data from EVE Online servers after downtime, May 8th, 2018.