Thread Tools Display Modes
02/24/16, 09:16 AM   #1
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
The problem with major updates

There is always some discussions about the topic of API updates when the next major update draws closer and I think that's because there is no "good" way to handle them right now.
The reason for this is that on every new major update there are two ESO versions available at the same time. We have the PTS which holds the new version for several weeks before an update goes live and the delay between EU and NA updates.

We want to update our addons to work with the new version, but also keep the old version around or it will cause problems for our users, but they also tend to not look into what they download and then complain that it does not work when they inevitably end up with the wrong version.

This is mostly caused by the way how ESOUI and Minion work. There is no proper way to provide multiple versions of an addon where each version is compatible with a different versions of ESO in case something had to be changed. There should be an option to offer download buttons during the transition period to the new API, where one says "Update 8 - Orsinium" and the other "Update 9 - Thieves Guild". Minion also doesn't support multiple installations of ESO. It should detect when a user has PTS, NA and EU installed and also download the correct version for each instance automatically.

The games addon manifest file also only allows us to mark one API version as compatible. When we test the addon and it works with the new API with no changes required, it would be so much easier if we could just add the new version to the manifest and upload it. Compatibility is ensured and it works without any further actions required.

Once these things are in place, us authors won't have to bend over backwards to get our addons to work with every new version of the game.
If I forgot something or you don't/do agree with me, please feel free to point out my mistake/second my opinion.
  Reply With Quote
02/24/16, 09:48 AM   #2
Wandamey
Guest
Posts: n/a
Seconded, of course.

No solution outside ZOS could be absolutely perfect as not everybody would use it, however as the site is the source of all the downloads, Minion or not, maybe we can design something a little more flexible here too.

like a tag to point what version of our file to download by default (and by Minion) but let the "futures" updates downloadable already and/or conditional with the current live API (that by Minion only or it would be hard for the Site to tell what is the current game version not knowing what server).

maybe a checkbox prechecked : "download this version as default" and the possibility to point to another later.
No idea how to handle that for the site to list the "updated" addons though... but that's just technical I guess.

with a default behavior on the last updated file if nothing is checked, because we might not be carefull of these checkboxes between 2 DLC.

There would be errors and mischecked boxes, but maybe not more than forgotten API edit or the like.

But the best solution would be the multiple APIversion handling, i can't find any drawback to it.

Last edited by Wandamey : 02/24/16 at 10:01 AM.
  Reply With Quote
02/25/16, 10:13 AM   #3
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
We could add two versions pretty easily.
  Reply With Quote
02/25/16, 10:30 AM   #4
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
Originally Posted by ZOS_ChipHilseberg View Post
We could add two versions pretty easily.
Absolutelyyespleasedothisohyeah.
  Reply With Quote
02/25/16, 02:12 PM   #5
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
It will be in for the next major update. With the format ## APIVersion: <Version1> <Version2>
  Reply With Quote
02/25/16, 02:35 PM   #6
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
Thank you very much.

Now we just need the changes to ESOUI. Dolby? Cairenn?
  Reply With Quote
02/25/16, 03:23 PM   #7
Wandamey
Guest
Posts: n/a
Darn, I can't find a meme with enough tears of joy in it.

I assume "next update" means Brotherhood? And it won't be a luxury if the vet levels are really removed at that point
  Reply With Quote
02/25/16, 06:50 PM   #8
Dolby
Every day I'm shuffling
 
Dolby's Avatar
Premium Member
WoWInterface Admin
Join Date: Feb 2004
Posts: 1,276
Originally Posted by sirinsidiator View Post
This is mostly caused by the way how ESOUI and Minion work. There is no proper way to provide multiple versions of an addon where each version is compatible with a different versions of ESO in case something had to be changed. There should be an option to offer download buttons during the transition period to the new API, where one says "Update 8 - Orsinium" and the other "Update 9 - Thieves Guild". Minion also doesn't support multiple installations of ESO. It should detect when a user has PTS, NA and EU installed and also download the correct version for each instance automatically.
We need to change the way we store addons and how that info is stored in our database first. Right now most things in the DB are around the projectid and not the fileid. That is something I'll be working on soon(tm) for us to handle multiple versions of AddOns and tagging them with API version numbers.

Minion certainly detects Live / PTS / EU for me? This was a feature that was added awhile ago. If you've never deleted (or safer, renamed) your minion.xml and been using Minion from the start then you've probably never seen the newer detection process? (see screen shot attached, ignore outdated addons its just a dev vm)

We do have our java programmer back and we want to release an update to Minion soon. Just untangling everything from ZAM is taking longer than planned. I'll certainly add these ideas to our Minion backlog as it will require some updates to Application and our API too.
Attached Thumbnails
Click image for larger version

Name:	Capture.PNG
Views:	1420
Size:	231.0 KB
ID:	692  

Last edited by Dolby : 02/25/16 at 07:05 PM.
  Reply With Quote
02/26/16, 07:28 AM   #9
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
Originally Posted by Dolby View Post
We need to change the way we store addons and how that info is stored in our database first. Right now most things in the DB are around the projectid and not the fileid. That is something I'll be working on soon(tm) for us to handle multiple versions of AddOns and tagging them with API version numbers.
I understand that it will require some work to get a proper way to handle this, but in the meantime why not just add a second button that links to a different (old) file?
You already allow us to tag a file to be compatible with certain game versions, so it should be possible to do something like this:
Code:
if($twoGameVersionsAvailable) { 
	$oldFile = GetNewestAddonFileForOldGameVersion()
	$newFile = GetNewestAddonFileForNewGameVersion()
	if($oldFile !== $newFile) {
		ShowTwoButtons($oldFile, $newFile)
	} else {
		ShowOneButton($newFile)
	}
} else {
	ShowOneButton(GetNewestAddonFile())
}
Originally Posted by Dolby View Post
Minion certainly detects Live / PTS / EU for me? This was a feature that was added awhile ago. If you've never deleted (or safer, renamed) your minion.xml and been using Minion from the start then you've probably never seen the newer detection process? (see screen shot attached, ignore outdated addons its just a dev vm)
I have to admit I haven't looked into it too deeply. Just added the PTS and it looks like it works.
When I added it however, it showed a few additional entries for the pts installation in the game list (up to 3 times). After restarting Minion it shows correctly.
It also does not label it as PTS:
  Reply With Quote
04/24/16, 01:51 AM   #10
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
@ZOS_ChipHilseberg: Will the "## APIVersion: <Version1> <Version2>" be available on pts this monday?

@Dolby: Any news on the changes to esoui? Minion update? Anything? It's been quite silent lately.
  Reply With Quote
04/24/16, 08:21 AM   #11
Dolby
Every day I'm shuffling
 
Dolby's Avatar
Premium Member
WoWInterface Admin
Join Date: Feb 2004
Posts: 1,276
Working on a pesky release bug for Minion. Right now it won't fully download the lib update package and then crashes after update. We are getting close to a solution. Would have had it released in the beginning of April. I won't have pts/beta/live stuff in this update but many squashed bugs and updated ui, and some new features.

Hopefully soon!


Also working on a few other projects and hope to release them soon but It always seems to take longer than I think.

Last edited by Dolby : 04/24/16 at 08:30 AM.
  Reply With Quote
05/08/16, 03:34 AM   #12
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
First, I would like to thanks for ## APIVersion: <v1> <2>
It's really really helpful.

But I got a small problem, not with this one, but just nearby.

If we can do :

myaddon_$(APIVersion).lua

We can't do :

bindings_$(APIVersion).xml

Could this be possible ?

It's not for a big addon, but the only differences I have in this one are in the bindings, because they are linked to collectibles, and those one have been a bit recategorized.
  Reply With Quote
05/08/16, 04:50 AM   #13
dopiate
AddOn Author - Click to view addons
Join Date: Jun 2014
Posts: 142
In the interrumn...

You can always use Fast API for convenience and testing.

-d
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » The problem with major updates

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off