ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   Released AddOns (https://www.esoui.com/forums/forumdisplay.php?f=170)
-   -   Fast API - I'm aiming to make this easier (https://www.esoui.com/forums/showthread.php?t=5235)

dopiate 10/28/15 08:47 AM

Fast API - I'm aiming to make this easier
 
This should help developers the most.

I'm just going to link the details of the new addon but will answer any question, take suggests and feedback here that I expect to be more complex than on my forums.

I think this will reduce the mad rush for end users and developers to upload addons just for the new API.

See what you think - I'm open to negative and positive feedback. My ego is not going to be bruised so be honest.

It's still pending but you can see all the code.

Fast API

Thanks,
-d

Ayantir 10/28/15 09:00 AM

What this program does ? I looked at code and this thing seems to do.. nothing.

dopiate 10/28/15 09:19 AM

Quote:

Originally Posted by Ayantir (Post 23973)
What this program does ? I looked at code and this thing seems to do.. nothing.

If your addon is ready for API 100013

you can add this to your text manifest, ## FastAPI : 100013 .... It can be done now

and when the patch comes out - the user can run the program and it will update the manifest to 100013, remove "## FastAPI : 100013" .... users don't have to wait for those developers that don't have API version 100013 already in their latest release.

It checks for the current API Version in AddOnSettings.txt before i commit to do anything.

You probably already have set the API to 100013 but not all devs do that.

This way they can add that string and when the patch comes out - users can safely update the API version so it doesn't show out of date.

Right now, it will do nothing as the current API version in AddonSettins.txt is 10002.

Does that help clear it up?

It's up to users and developers to either use it or not. I was just an idea I had to make thing easier.

For all I know it could never get adopted by anyone but I enjoyed programming it.

-d

Was my explanation that bad?

download the program, put it in root of Addons, add "## FastAPI : 100013" to an addon, change AddonSettins.txt to the new api and run the program. Then you will see what it does.

dopiate 10/28/15 09:33 AM

to be more clear

line 1 in AddOnSettings.txt = #Version 100012

my code

Lua Code:
  1. If InStr(CurrentAPILevel(0), "100013") Then

right there it will do nothing - no patch has occurred.

-d

Ayantir 10/28/15 09:58 AM

Ahhhw ok. I understood :) Sorry.

Well this can be useful, if the dev know that he'll be here when next api bump will be there

sirinsidiator 10/28/15 10:30 AM

Sounds interesting. As long as the game does not support specifying multiple compatible API versions this might make major updates a bit smoother yet again.
Maybe you could also do it the other way around?
I am thinking about using this so I only have to update once right when the update is coming out and I would put the new API version in place instead of the old one. So it would be nice if it could replace that with 100012 until the game got updated for EU.

Just another thought, but I can't check if it would cause problems right now for obvious reasons.
Would it be possible to make it work like this:
Code:

## APIVersion: 100013 100012
## APIVersion: <current version> <other version>

In that scenario your program just changes the order of these numbers so that the current manifest version comes first.
I imagine this would be the way how it would be specified if the game ever allowed for multiple versions.

dopiate 10/28/15 02:10 PM

Quote:

Originally Posted by sirinsidiator (Post 23977)
Sounds interesting. As long as the game does not support specifying multiple compatible API versions this might make major updates a bit smoother yet again.
Maybe you could also do it the other way around?

Thanks for the feedback and suggestions. I am 100% open to making it support anything that will make it easier than having developers having to do those "omg a patch came out, hurry to update the API" and then ESOUI AddOns list is full of Addons that just have the API updated.

If your addon is already tested it and you know it works then all you have to do it release it whenever you want and add that string.

Could you explain your suggestion in a little more detail?

Quote:

Originally Posted by sirinsidiator (Post 23977)
I am thinking about using this so I only have to update once right when the update is coming out and I would put the new API version in place instead of the old one. So it would be nice if it could replace that with 100012 until the game got updated for EU.

Yea that is the goal of the program, when it runs, it checks the games current patch level so if EU is not updated then it won't change anything. OH I think I just got it! You want to put it out with 100013 and if it's run on a EU system and the patch level is not yet 100013 then change it back until they get 100012.

I can add that certainly.

We can think beyond just API updates too, even extend it to code that works in one API but doesn't work in the upcoming API. A series of simple switches or markers and that could easily be done.

Quote:

Originally Posted by sirinsidiator (Post 23977)
Just another thought, but I can't check if it would cause problems right now for obvious reasons.
Would it be possible to make it work like this:
Code:

## APIVersion: 100013 100012
## APIVersion: <current version> <other version>

In that scenario your program just changes the order of these numbers so that the current manifest version comes first.
I imagine this would be the way how it would be specified if the game ever allowed for multiple versions.

Yea I also can not test that now either. I don't know if it works that way but I will look into that reverse code based on current path level. Just confirm I understood it correctly.

-d

PS This was actually a project I had to do at work to update thousands of ini files so they were all correctly setup and I thought, "there are some good routines in here I could use to make ESO API changes easier" ... if someone were to dig deep in the manifest files and xml's in my VB.Net project, they will probably find the name "INI Updater" in multiple places LOL. That's the longer full production version at work I pushed out to endless servers as part of their GPO startup script.

dopiate 10/28/15 02:15 PM

Quote:

Originally Posted by Ayantir (Post 23976)
Ahhhw ok. I understood :) Sorry.

Well this can be useful, if the dev know that he'll be here when next api bump will be there

Very true - that's why I didn't write it to go back beyond the current patch.

I don't want end users to think it is a "one size fits all fix" for out of date addon.

Sure it would make them "up to date" in the menu but that does not mean they work :-)

-d

sirinsidiator 10/28/15 02:25 PM

Quote:

Originally Posted by dopiate (Post 23978)
We can think beyond just API updates too, even extend it to code that works in one API but doesn't work in the upcoming API. A series of simple switches or markers and that could easily be done.

That should not be necessary. We already have GetAPIVersion() in LUA and the $(APIVersion) placeholder for the file paths in the manifest, which exist for this exact reason.

dopiate 10/28/15 02:46 PM

Quote:

Originally Posted by sirinsidiator (Post 23980)
That should not be necessary. We already have GetAPIVersion() in LUA and the $(APIVersion) placeholder for the file paths in the manifest, which exist for this exact reason.

OK, good to know.

I haven't done a lot of LUA since my WOW days so I had no idea.

-d

Ayantir 10/28/15 02:55 PM

Does someone ever tested :

Quote:

## APIVersion: $(APIVersion)
?


:rolleyes: :D

sirinsidiator 10/28/15 04:17 PM

Just tried it and it says the addon is out of date.

dopiate 10/28/15 04:34 PM

Quote:

Originally Posted by sirinsidiator (Post 23984)
Just tried it and it says the addon is out of date.

you are replying to testing "## APIVersion: $(APIVersion)" right?

Just checking to be sure.

sirinsidiator 10/28/15 04:48 PM

yes. Maybe should have quoted the post :D

dopiate 10/30/15 04:32 AM

Just a suggestion
 
Just a suggestion, if you do change your manifest before the patch, you could add a message on your main page so users know your addon is pre-patched for the update.

I'm seeing a lot of new users who aren't very addon savy and don't know to select "enable out of date addons"

this is what I put on my two addons

Code:

Application is Fast API ready

I'm not delusional in thinking that everyone will adopt this method or even try it. But, I'm trying to give it a fair shot before the next patch.

For me, I figure it's much easier to tell a user in my forums to just run Fast API instead of having to wait until I'm done with work and get home just to update and upload my addons.

Actually, that gives me an idea - after it's run I will show the users a dialog box and list the addons that have been updated.

I wonder if Minion would see the manifest change and replace it? I don't use Minion but I think lots of people do.

-d

dopiate 11/01/15 05:34 AM

Final Version for Patch 100013
 
If you like this idea and want to get ahead of the rush to upload queue, then download and incorporate Fast API today as the patch happens tomorrow.

It's changed slightly (for the better) you can see a summary of that on the main page.

-d

AkeGamer 11/02/15 09:25 AM

Please provide some output so the user knows the program was run. Perhaps pop something up that indicates which addons were updated. Need some feedback to know we did actually run it.


All times are GMT -6. The time now is 10:44 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI