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.
 

Yapeal PHP API library (2.0)

Author
Mintoko
Taedium In Perpetuam
#281 - 2015-12-11 22:53:31 UTC
Dragonaire wrote:
You can do what you want to do you just need to find the row in 'accountKeyBridge' that is linking the keyID to the charID and remove it.


I can't believe I forgot about that table. Thanks.
Dragonaire
Here there be Dragons
#282 - 2015-12-12 05:57:43 UTC
Legedric Striker - I have been on a bit of a break from doing anything with Yapeal but I just starting working on it again a few days ago so you should start seeing more activity again.

How Yapeal deals with APIs errors has changed over time from having a system to deactivate stuff in some cases to the current system of just logging them. The problem with the old error system was it didn't give developers any options about what should happen or really let they know that anything had even happened. What is needed is something that is easy for developers to interface with that lets you decide what, how, or if you want to handle things like API errors. I've looked at many different ways to make it easy to allow things like this and other stuff and in the end I decided that changing Yapeal to use an event based system for stuff would be best. The only real problem is to change to one requires once again a complete rewrite which takes a lot of time Sad The additional thing I've run into is all the existing event systems (projects) I looked at had what I felt were fatal flaws or other issues that meant I couldn't use them in Yapeal. My solution was to make my own but I didn't want something that would only be useful in Yapeal since I believe in writing reusable open source code is important. For anyone that is interested you can see what I came up with at https://github.com/Dragonrun1/event-mediator.

I also decided that with this re-write I needed to see if I couldn't make the job easier since re-coding everything for over 100 DB tables and the required classes in Yapeal is really a kind of overwhelming task for a single person and from past experience I knew I would get little help doing it. There is also the fact that more APIs keep being add (which is great) but since Yapeal requires adding one or more classes, SQL, XSD, etc each time it can take a while for me to add them to Yapeal which is not great for anyone trying to use it. Even just a simple new rowset API involves a lot of manual work every when doing copy and paste and it's easy to make mistakes as you can see going through the commit history. What I've been working on is something that can automatically write most of the simpler API stuff and just leave the one off type APIs like charactersheet etc for me or someone else to write. Of course writing software to write other software can at times be a little challenging and some things that have been going on in my RL have unfortunately kept me busy and not able to get as much done as I would have liked Sad.

Any way to cut this post off before it becomes even longer than it is you can follow the progress of the next version of Yapeal at https://github.com/Yapeal/yapeal-ng. I made it into another project for now to make it easier for me to work on while mobile etc when I have a chance. Understand it's very much broken and not really working but everyone is welcome to look at it and make comments and suggestions to improve it.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#283 - 2015-12-23 07:41:53 UTC
Hi all,
A little pre-holidays cheer for those of you trying out yapeal-ng. I've pushed all of the stuff I've been working on out for you to take a look at. It's still all Alpha quality and not for production yet but it does try to at least create stuff now and the normal retrieve and preserving works. Make sure you check your yapeal.yaml file as there are many changes to the settings in it. Only APIs the create stuff really works for are simple Rowset types so still a lot of work to do but at least you can start seeing how it'll work. You can also get a better idea how the new event stuff works.

Legedric Striker - You should take a look at the events and give me some ideas what kind of events you'd like to see for the API server errors and I'll look at adding them in. If the only ones that you want to deal with are the XML error ones processed in Xsd/Validator::ProcessEveApiXmlError() then triggering some events there shouldn't be hard that your app can then subscribe to. If not we'll need to look at the event system in Guzzle as well to see if it'll be possible to maybe add some kind of wrapper around them so they can be integrated.

Anyway as always thank you for using Yapeal and may your holidays be great, Dragonaire

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#284 - 2016-01-05 03:27:05 UTC
Pushed large update to yapeal-ng alpha for those following it. Please try out the new bin/yc E:C command and let me know how it's working for you. To make development easier I've changed it to only work with values only(Elements without attributes/children) or rowset type APIs or APIs that have both. This should cover most of the existing APIs (80%+) but not complex APIs like Char/CorpSheet or AssetList etc. I may in the future trying adding stuff to handle the more complex APIs but want to get the basic ones right before moving on. Note that it wouldn't overwrite exist files in the EveApi/Sql/Xsd directories so if you are want to see any change to the creator output files you'll need to delete anything from prior runs for the APIs you are looking at. Make sure you report any bugs or errors you notice. Please if you have access to lots of APIs keys it would be a big help if you could take some time to test thing as I've only got a couple to work with on from my own account and it's not very active so many of the APIs return basically empty results so it's easy to miss problems. I'm mostly looking at the create process itself but reports of problems when running Yapeal like normal on accounts with newly created API stuff is also welcome.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#285 - 2016-02-02 03:32:59 UTC  |  Edited by: Dragonaire
Okay been doing a lot of work on Yapeal-ng and pushed out result of first mass create with the new 'yc E:C' command. Some of the SQL and XSD still need hand optimization but what APIs are there should be working. It is still not ready for production but it's ready to be tested by someone other then me for sure. I'd really like to hear from some developers that use the existing Yapeal with 10 or more API keys and hear your feedback. If you can test it in parallel against the same setup with a second DB you currently use and report any bugs or other things you notice like speedups/slowdowns etc it would be very helpful. Once I've completed the SQL/XSD optimization stuff I'll start work on the more complex APIs that can't be auto-created. I'll probably just be doing them by hand but may try to make things a little smarter so the command can do some of the heavy lifting but either way I'll get some of the more useful ones done like characterSheet etc which most people need for their apps once I'm sure all the bugs/issues are worked out using the simple APIs.

So to sum it up I need some testers for the first public Beta version Blink before I can really continue on and be ready to start putting out any RC releases on the way to a production ready release.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Moshta Khadiija
Spai Finder
#286 - 2016-02-02 04:09:51 UTC
I'm already using another PHP library to deal with everything OTHER than the alliance listing, but it looks like your stuff is exactly what I'm looking for in this case. I take it Yapeal is geared more toward the universe-esque endpoints, like sovereignty, etc.?
Dragonaire
Here there be Dragons
#287 - 2016-02-02 23:39:22 UTC
Actually it meant to deal with all of the APIs but because it acts more like a XML API to database converter than just a simple wrapper for a network library it makes dealing with some APIs easier. As an application developer which would you find easier to use some inconsistent raw data that you need to parse yourself or have generally well structured database tables full of the information you'll need so you just have to write the queries to extract what you are looking for? If the application you are making only needs stuff from a couple of the APIs all the existing API libraries do a good job and they all can work in any application but as the application grows more complex through adding more APIs etc the work load IMHO goes up much faster with the other libraries as they have a much lower level interface you are working with vs Yapeal where the database is the interface.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#288 - 2016-02-27 06:32:57 UTC
Hi all just an update to let everyone know I haven't forgot about Yapeal just been busy with other things. For anyone that's interesting in understand more about how Yapeal-ng works you might look at some of the new docs I've been working on for one of my other projects Event-Mediator. I use some code from Yapeal-ng in the example since it uses Event-Mediator for the logging as in the example but the other place it's used is in the main event loop which is at the heart of Yapeal now. While write about Event-Mediator I got to thinking about some other stuff I can do to improve Yapeal as well so look for some upcoming updates there too.

That's all for now as always thanks for using Yapeal, Dragonaire

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#289 - 2016-05-17 16:17:00 UTC
Just wanted to let everyone know I've not forgotten about Yapeal but some RL issues like having to move have been getting in the way. I'm hoping to have more time in a couple of weeks.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Tiberius Zol
Moira.
#290 - 2016-05-17 19:43:27 UTC
Take your time mate. We will wait. :)

Mr. Tibbers on twitter: @Mr_Tibbers

Mr. Tibbers Blog: www.eve-versum.de

Dragonaire
Here there be Dragons
#291 - 2016-06-29 00:11:20 UTC
Just a quick bump and note to say I'm still working on Yapeal-ng.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#292 - 2016-07-07 20:34:19 UTC
Couple new things for people to look at for Yapeal-ng. First Yapeal-ng now has it's own twitter account @Yapeal_ng so check it out. I just added a poll question there as well to get some feedback to decide on future road-map planning so please vote. Took a little break from regular programming as well to make some better/newer artwork to use with Yapeal-ng as well. You'll find what I have going on in new media/ directory that I just pushed out.

As always thanks for using Yapeal, Dragonaire

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#293 - 2016-07-10 05:22:46 UTC
Pushed out lots of changes to Yapeal-ng check them out also check out the new @Yapeal_ng on twiitter.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#294 - 2016-07-18 14:31:55 UTC
Just to let everyone know that are following / waiting on me to complete Yapeal-ng Blink I've decided to change the PHP requirement to version 7.0. The original Yapeal will continue to work with older versions and I have stopped development on it. If someone else is interested in picks up develop on it please contact me. I decided I'm tired of living in the past programming wise with the project so I'm not any more. I'm in the process of changing everything over to use scalar type hints and other things that should make the code safer and in some cases allows removing a lot of legacy code that was needed to maintain compatibility etc with older versions. Most of you can probably just switch to PHP 7.0 in your applications with no noticeable difference except it might run a little faster. There is lots of help available online if you have any problems. I also will try to make some time to help you if its related to Yapeal or Yapeal-ng as well.

As always thank you for using Yapeal-ng, Dragonaire

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Salgare
Center for Advanced Studies
Gallente Federation
#295 - 2016-07-18 16:56:15 UTC
Hey Dragonaire,

I was rooting around your github site looking to see how you configured a couple things. I read the install.md but did not see what I was looking for.

1. How do you determine what endpoints you are going to hit and move to DB?
2. It seemed the schema did not have tables for user api keys, scopes or such, are you using SSO at this time? If so, how did you handle the authentication, scopes etc. ?
Dragonaire
Here there be Dragons
#296 - 2016-07-19 05:14:42 UTC
Need to look in the util tables. utilEveApi has an active column to turn the APIs on or off Yapeal-ng wide then you add your API kayID etc to utilRegisteredKeys for the char, corp, or account key you have. There is also a active column as well as activeAPIMask value which is bool '&' with the mask from the key itself to allow you to turn things on or off on a pre-keyID basis. Those are really the only tables that an application will need to write to in most cases. Its sometimes useful to clear the utilcachedUntil table during development but generally not needed in production.

Yapeal and by proxy Yapeal-ng have been around long before CREST even existed so it uses keyID and vCode. There was an even old system from CCP which has since been dropped which is what Yapeal originally used before that. I believe you can get a keyID and vCode from CREST that can be used with the XML APIs but I don't have any experience with how it works etc since my direct experience with CREST has been limit plus they added the tie in with XML API only a little while back I believe.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#297 - 2016-07-22 14:33:39 UTC
Small update I've been working on updating some of my other projects that Yapeal-ng uses for PHP 7.0 as well. Been slowed down a little by some needed updates from other outside tools there but still limping along getting it all updated so I can get back to working on Yapeal-ng instead.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#298 - 2016-07-25 19:24:49 UTC
Updated one of the tools used by Yapeal-ng thought I'd let people know here as it can be useful for application developers as well.
http://www.phpclasses.org/package/8912-PHP-Get-the-full-path-of-files-relative-to-root.html

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#299 - 2016-08-02 19:47:04 UTC
Updated another tool used in Yapeal-ng for PHP 7.0+ thought I'd share it as well for anyone that might want to use it in their own applications.
http://www.phpclasses.org/package/9568-PHP-Emit-and-listen-to-events-using-a-mediator-object.html

Currently WIP on doing updates for PHP 7.0+ in Yapeal-ng and a little refactoring that's needed to add on PHPSpec examples (tests) as well.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Dragonaire
Here there be Dragons
#300 - 2016-08-13 07:18:47 UTC
Push a bunch more updates out for Yapeal-ng have a look in the commit messages for what's changes there are some BC breaks again mostly related to Sql settings and how database connection and queries are done. Also some changes to how config files are being processed but shouldn't break anything except if you where using some of the old features(bugs) that existed Blink

Look for another thread I'll be posting about needing help with converting Yapeal-ng from being MySQL only to something more cross DB compatible you might be able to help with.

As always thanks for using Yapeal-ng, Dragonaire

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.