Quantcast Things I've noticed - WoWInterface
Thread Tools Display Modes
11-18-14, 06:58 PM   #1
Ovario
An Aku'mai Servant
Join Date: Aug 2008
Posts: 30
Things I've noticed

Bug: Addon versions are only recognized correctly about 50% of the time, which results in updating back to an older version or a wrong addon altogether.

Feature Request: Give us the ability to update compilations hosted on WoWInterface.
__________________
  Reply With Quote
11-19-14, 09:10 AM   #2
ComputerNerd
A Deviate Faerie Dragon
Join Date: May 2009
Posts: 12
Version numbering is iffy, as it is trying to compare numbers in a very simplistic fashion.
Is X number bigger than Y or not.

That tends to fail when they insert extra letters randomly, or revert to revision / build numbers suddenly instead of some decimal version of major/minor releases.

I think curse works because of the curseforge backend which they likely refer to for the sequence of version numbering.
  Reply With Quote
11-19-14, 02:09 PM   #3
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Originally Posted by ComputerNerd View Post
Version numbering is iffy, as it is trying to compare numbers in a very simplistic fashion.
Is X number bigger than Y or not.
It's not even that sophisticated... it's literally just checking if both version numbers/strings are the same and telling you to update if they're not. If you have version 9 installed, but the WoWI page is still on version 2, you'll be told to update.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
  Reply With Quote
11-19-14, 05:02 PM   #4
JDoubleU00
A Rage Talon Dragon Guard
 
JDoubleU00's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 340
Originally Posted by Phanx View Post
It's not even that sophisticated... it's literally just checking if both version numbers/strings are the same and telling you to update if they're not. If you have version 9 installed, but the WoWI page is still on version 2, you'll be told to update.
That does not make sense. Shouldn't the logic be WI has a newer (i.e. higher) version number than what you have? I realize authors can put any number for their addon.
  Reply With Quote
11-19-14, 05:46 PM   #5
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
You'd think that would be the case, but it's not, unless it's been changed in the last few weeks. Every time I've tried it, it reports tons of addons as needing updates, but if I actually look at the "latest" version vs installed version, there are many cases where both versions are using the same format and the "latest" version is clearly numerically inferior, but I'm told to "update" anyway.

If you only have addons you installed from WoWI you shouldn't ever run into this situation, but unfortunately that isn't a viable option for me, as many of the addons I use are either not on WoWI at all, or have WoWI versions that lag far behind the versions available on Curse.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
  Reply With Quote
11-20-14, 10:56 AM   #6
Dolby
PPAP
 
Dolby's Avatar
WoWInterface Admin
Join Date: Feb 2004
Posts: 2,214
Originally Posted by rocnroll View Post
That does not make sense. Shouldn't the logic be WI has a newer (i.e. higher) version number than what you have? I realize authors can put any number for their addon.
Version numbers don't always have numbers. We are working to improve this though as right now Minion only checks if the version is different. So we are working on ones where authors do have only int based versions and doing just that. It still will have trouble with authors that put letters and words into the version string.

This is why we make the version numbers big and visible when Minion wants to update it. You can right click the AddOn wanting an update and choose to ignore updates for that AddOn.
  Reply With Quote
11-20-14, 04:13 PM   #7
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,530
Also, what if author A uses this versioning scheme:
  • 1.8
  • 1.9
  • 1.10
  • 1.11
But author B uses this:
  • 1.08
  • 1.09
  • 1.10
  • 1.11
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
11-20-14, 07:51 PM   #8
JDoubleU00
A Rage Talon Dragon Guard
 
JDoubleU00's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 340
I realize this may be difficult to implement, but some kind of validation check could be useful.
  Reply With Quote
11-21-14, 07:16 AM   #9
Digital_Utopia
A Flamescale Wyrmkin
 
Digital_Utopia's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2012
Posts: 110
Originally Posted by Seerah View Post
Also, what if author A uses this versioning scheme:
  • 1.8
  • 1.9
  • 1.10
  • 1.11
But author B uses this:
  • 1.08
  • 1.09
  • 1.10
  • 1.11
That shouldn't be a problem - the tricky part would be handling letters, such as 1.03a or 0.2(beta), etc.
if it was just numbers, then simply removing any decimal points after the first one, casting them as floats and comparing would be easy enough. You could even probably do some minor regex and at least check for any letters immediately following the numbers, cast them to a char, and compare the values.

I would imagine that would handle the vast majority of addons.
__________________
  Reply With Quote
11-28-14, 11:20 PM   #10
Tymesink
A Fallenroot Satyr
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 22
Couldn't WOWI append each .toc file uploaded with its own internal identifier to help determine which version is latest? I know this doesn't help with all the current addons. But moving forward this would help?

I really want this MMOUI minon to work well this time around. I'm so tired throwing money at curse and I hate using their website to find addons. The only thing decent is their curse client. I really like the direction the MMOUI minon is going. Keep up the great work!

Last edited by Tymesink : 11-28-14 at 11:26 PM.
  Reply With Quote
11-29-14, 11:36 AM   #11
Dridzt
A Pyroguard Emberseer
 
Dridzt's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2005
Posts: 1,251
This would be a nice opportunity for some community effort in coming up with a sane pattern for version checking.

https://docs.oracle.com/javase/7/doc...x/Pattern.html

Test version strings (eg. 'v2.08-3a') here and submit pattern proposals
http://ocpsoft.org/tutorials/regular...-regex-tester/
  Reply With Quote
12-02-14, 07:17 AM   #12
Digital_Utopia
A Flamescale Wyrmkin
 
Digital_Utopia's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2012
Posts: 110
Originally Posted by Dridzt View Post
This would be a nice opportunity for some community effort in coming up with a sane pattern for version checking.

https://docs.oracle.com/javase/7/doc...x/Pattern.html

Test version strings (eg. 'v2.08-3a') here and submit pattern proposals
http://ocpsoft.org/tutorials/regular...-regex-tester/
some php code that should parse most versions - including the example.
only reason why php, is that it's quicker to play with - as opposed to compiling and UI stuff.

Code:
<?
//pattern - checks for the presence of a "v", with or without space,
//then checks for numbers, dashes and dots - and captures those. 
//and finally, recognizes the posibility of whitespace, and looks for any letters following it. 
$pat = '/[vV\s]*([0-9\-\.]+)[\s]*([a-zA-Z]?)/';
//test string
$str="v2.08-3a";
//do the match
preg_match($pat,$str,$match);
//replace dashes with dots
$newstr = str_replace("-",".",$match[1]);
//split it by the dots
$sstring = explode(".",$newstr);
//init vars
$ver ="0";
$subver ="0";
//test if there are actually any dots
if(count($sstring)>1)
{
	//if so, combine the first two (i.e. 2.08)
	$ver=strval($sstring[0]).".".strval($sstring[1]);
	//check for moar dots!
	if(count($sstring)>2)
	{
		//loop through the rest, appending any additional parts
		for($i=2; $i < count($sstring);$i++)
		{
			$ver.=strval($sstring[$i]);
		}
	}
}else{
	//otherwise, just set it to the first value. 
	$ver=$sstring[0];
}
//check if we have a letter;
if(count($match)>2)
{
	//if so, drop it low, then get the char value of it - 97 in this case
	//char values go up in alphabetical order, but 'A' and 'a' need to be treated the same. 
	$subver=ord(strtolower($match[2]));
}

//and output the version (2.083) and the subversion (97)
echo "Version: ".$ver."<br>";
echo "SubVersion: ".$subver;
// 2.08.4 will be a newer version, as will 2.08.3b, and so forth.

?>
I'd be willing to take on more "challenges" to put it to the test of course.
__________________

Last edited by Digital_Utopia : 12-02-14 at 07:22 AM.
  Reply With Quote
12-02-14, 04:05 PM   #13
Dolby
PPAP
 
Dolby's Avatar
WoWInterface Admin
Join Date: Feb 2004
Posts: 2,214
Thats a good idea! If you guys have suggestions on ways to detect versions and if they are newer or older please post them. It's much appreciated.

Digital_Utopia, thank you. I like your idea and I think it would be pretty simple to implement into Minion.
  Reply With Quote
12-02-14, 06:28 PM   #14
Digital_Utopia
A Flamescale Wyrmkin
 
Digital_Utopia's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2012
Posts: 110
Originally Posted by Dolby View Post
Thats a good idea! If you guys have suggestions on ways to detect versions and if they are newer or older please post them. It's much appreciated.

Digital_Utopia, thank you. I like your idea and I think it would be pretty simple to implement into Minion.
Not a problem at all - it's a fun puzzle

The most significant issue that I can see, is if Minion attempts to compare the Author provided version information, to the version of the .toc, and they differ. If that's how it's currently working - it might help if you run a script on the available downloads, to get the actual .toc version(s), and store those with the individual download entries in the appropriate table. That way you can get a much more accurate comparison, instead of what might be apples to oranges.

Some other odds and ends.

Usability:
  1. Login text boxes should listen for enter/return - to avoid having to manually click the "Login" button.
  2. Scan drive window should contain a "select/deselect all" button/checkbox. Having to deselect each box can get a bit tedious if you have multiple partitions.
  3. The Detecting Game Installs process should supply a window, to allow the user to choose which installs they want to add, before adding it to "My Games"
  4. The My games panel, should allow multiple selections
  5. Since the "Detect games" prompt is displayed upon first run, that option should provide a redundant "add game" option in the same window, as an all inclusive convenience feature.

UI/Appearance:
  1. Multiple text rendering issues - Most noticeable on mousing-over the Search field, and the top edge of the build version text becomes transparent when/after the window is moved around.
  2. Incomplete visual feedback on all UI elements, as they're all missing "mouse-down" states.
  3. Scrolling is very...jarring with the mouse wheel. Seems like it's designed to go from one entry to the next, instead of a smooth flow.
  4. Some degree of visual feedback is needed for both Scrolling, and sorting. Minion attempts to silently handle all operations, even when the process isn't instant. This leads to choppy(er) scrolling, and sort buttons that don't seem to be doing anything until it does. Clicking a different sort arrow while it's still working on the previous one, will cause craziness to happen.
  5. The big red square, with the white number - next to the options button, should have a tooltip; because I'm not even sure what it means. It's one higher than the one that appears next to the game; but it's the one by the game that's showing how many updates there are.
  6. Due to the height of each row, the byline should be moved underneath the Addon name. Doing this will allow for greater flexibility with resizing the window smaller.

That being said, and graphical glitches aside, it's a very sharp looking app, and although I got it to hang briefly a couple of times - it's very stable. Considering it is beta, and features/improvements will be forthcoming, the only real fault I can see, is a clumsy, cheapish feeling UI.
__________________
  Reply With Quote

WoWInterface » Site Forums » Minion » Things I've noticed

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