Thread Tools Display Modes
05-16-09, 06:06 AM   #1
essmene
A Murloc Raider
Join Date: Oct 2007
Posts: 5
how would minion hanlde addon conflicts ?

Hi,

I saw that minion will be able to handle multiple sites, if the owners will supply their own plugins.

Example
There are quite a few authors that host their famous addons on more than one site. Say the addon bambam is hosted by wowinterface and a site called c.com.

Running an update minion could recognize bambam as an addon hosted by wowinterface and add it to it's update list, and the c.com plugin in a similar fashion - without the user noticing.

In the case of a bug, the user might not notice that his version came from c.com and file a bug report on wowinterface, making it harder for the author to keep track of bugs.


Does minion only allow a one-to-one mapping for addons (including plugins) or does it have any conflict resolving algorithm ?
  Reply With Quote
05-16-09, 10:44 AM   #2
Cairenn
Credendo Vides
 
Cairenn's Avatar
Premium Member
WoWInterface Admin
Join Date: Mar 2004
Posts: 7,134
Hi essmene. I know this doesn't completely answer your question, but it should help a bit:

Originally Posted by Cairenn View Post
10. Will there be a way to ignore a mod?
Yes. There is going to be a right-click menu on the updater that will allow you to ignore a mod always (ie you normally get it from another site and you don’t want it to download from our site), or ignore it just once (ie normally you update it from our site, but you don’t want to this one time, for whatever reason)

__________________
“Do what you feel in your heart to be right — for you’ll be criticized anyway.” ~ Eleanor Roosevelt
~~~~~~~~~~~~~~~~~~~
Co-Founder & Admin: MMOUI
FaceBook Profile, Page, Group
Avatar Image by RaffaeleMarinetti
  Reply With Quote
05-16-09, 12:14 PM   #3
Shirik
Blasphemer!
Premium Member
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2007
Posts: 818
Minion attempts to resolve conflicts by using whichever module claims a higher version number. Sometimes, however, this isn't exactly "correct" (for example, when one site might use an SVN revision number and another site might use the actual version number). In this situation, you can manually override it via the mechanism Cairenn already suggested -- ignoring an addon is per module, so you can ignore it on one site and not the other.
__________________
たしかにひとつのじだいがおわるのお
ぼくはこのめでみたよ
だけどつぎがじぶんおばんだってことわ
しりたくなかったんだ
It's my turn next.

Shakespeare liked regexes too!
/(bb|[^b]{2})/
  Reply With Quote
05-16-09, 12:16 PM   #4
ravagernl
Proceritate Corporis
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 1,176
Would it be a good idea to add meta data to the toc of addons indicating wich site has always has the latest version of an addon?
  Reply With Quote
05-16-09, 01:27 PM   #5
Zyonin
Coffee powered Kaldorei
 
Zyonin's Avatar
AddOn Author - Click to view addons
Join Date: May 2006
Posts: 1,443
Originally Posted by mrruben5 View Post
Would it be a good idea to add meta data to the toc of addons indicating wich site has always has the latest version of an addon?
I think that would be dependent on the AddOn author supplying the version data. However authors are human beings and some humans are lazy creatures.
__________________
Twitter
  Reply With Quote
05-16-09, 01:34 PM   #6
Tristanian
Andúril
Premium Member
AddOn Author - Click to view addons
Join Date: Nov 2007
Posts: 279
Originally Posted by mrruben5 View Post
Would it be a good idea to add meta data to the toc of addons indicating wich site has always has the latest version of an addon?
That doesn't exactly solve the issue, if I may say so. For example : What happens if an addon updated on WoWI gets abandoned by his author and after some time, someone else decides to pick it up (ensuring proper permissions etc) but decides to actually update it on let's say Curse. As a result you would have 2 addons with the same name/toc and different metadata pointing at 2 different sites for the "latest version". Which are you going to trust ? Granted that the outdated addon should be removed from a website's database, but still the point is that conflicts can exist, even in rare cases.

The correct solution, in my humble opinion, is that authors employ a standard/universal version number for their addon(s) across all websites that those addons are hosted and not rely on let's say the SVN revisions of each of said websites.
__________________
  Reply With Quote
05-16-09, 02:19 PM   #7
lilsparky
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Oct 2007
Posts: 117
my suggestion would be to remember where the addon came from originally and default to that location for any updates. in the case where minion has no history with the addon (like first use), give the user the choice of which host has precedence.

there could also be an option somewhere to do a quick run thru to identify addons that have multiple hosts. you click a button and get a list of addons that have multiple hosts with the default host identified. you can simply dismiss that list if everything looks fine, or you could click on the host to select a new host from the list of different sites hosting (perhaps providing the version number next to each host name).
  Reply With Quote
05-17-09, 12:28 AM   #8
Shirik
Blasphemer!
Premium Member
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2007
Posts: 818
What you are proposing, lilsparky, is too much in violation of the concept of modules.

Minion has, intentionally, no way of knowing where a particular item came from. In fact, it doesn't really even know where each module came from. It also doesn't know how related the "Updatables" and "Uploadables" (as they are formally called) are to one another. Accordingly, it is unfair to make the assumption that each item would qualify for that list as you propose.

It is far better for Minion to make its best guess as it can in a worst-case scenario, and then allow the owner to override it accordingly. In 99% of cases this won't matter anyway.
__________________
たしかにひとつのじだいがおわるのお
ぼくはこのめでみたよ
だけどつぎがじぶんおばんだってことわ
しりたくなかったんだ
It's my turn next.

Shakespeare liked regexes too!
/(bb|[^b]{2})/
  Reply With Quote
05-17-09, 01:05 AM   #9
lilsparky
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Oct 2007
Posts: 117
didn't i read something about minion having a system to ensure a module doesn't write data where ever it happens to feel like writing data? couldn't that essentially serve the same purpose -- controlling which module has write permissions to a particular addon folder?

maybe i need to read up a bit more on minion and how the modules work....
  Reply With Quote
05-17-09, 01:21 AM   #10
Shirik
Blasphemer!
Premium Member
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2007
Posts: 818
Minion modules request write permissions to a particular directory and all subdirectories. While it would theoretically be possible for a module to pick out which directories it wants, it is NOT possible for a module to say that other modules are not allowed to write there.

Similarly, it wouldn't be recommended to pick out addon folders individually for write access -- this would be very annoying to the end user as it has a high probability of changing. The WoWI module simply requests access to the WoW folder and all subdirectories, which will never change (except in the event of WoW moving)
__________________
たしかにひとつのじだいがおわるのお
ぼくはこのめでみたよ
だけどつぎがじぶんおばんだってことわ
しりたくなかったんだ
It's my turn next.

Shakespeare liked regexes too!
/(bb|[^b]{2})/
  Reply With Quote
05-17-09, 04:53 AM   #11
lilsparky
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Oct 2007
Posts: 117
Originally Posted by Shirik View Post
Minion modules request write permissions to a particular directory and all subdirectories. While it would theoretically be possible for a module to pick out which directories it wants, it is NOT possible for a module to say that other modules are not allowed to write there.
right, it would be minion saying no to a module A trying to write to an addon directory that module B has been given permission to write to. module A doesn't know anything about module B, it just knows it isn't allowed to write there for whatever reason.

this would present a problem, tho, where module A might keep annoying the user about being unable to write (or askig if it's okay) instead of silently failing. it would be up to the module authors to implement their updating system to be silent about such things, tho.

if the user prefers that module A should take over the addon, then they'd do an install rather than an update using module A. module A would then ask if it's okay (because of the write permissions) and module B's write permissions would evaporate for that addon if they user agrees.

in this scheme, no module knows anything about any other module and the only thing minion is concerned about is which module has write access to which directories.

Similarly, it wouldn't be recommended to pick out addon folders individually for write access -- this would be very annoying to the end user as it has a high probability of changing. The WoWI module simply requests access to the WoW folder and all subdirectories, which will never change (except in the event of WoW moving)
i thought part of the theory with the permissions stuff was to avoid the possibility that somebody writes a module that does funny business -- like installing stuff you didn't ask for or accessing files in directories you don't want it mucking with. that would take finer control than just the wow folder, no?

when a new module is installed, you'd have to give it read access to the addons folder so it can figure out what you've got installed. when you hit update all, it would figure out which mods it *thinks* need to be updated. when you click update, it would iterate over those addons and attempt to write and would be rebuffed. if another module has write permissions for that directory, it would silently fail, if no other module has write permissions, minion would ask if it's okay for that module to write to that directory.

the first time running minion, you'd end up with a bunch of requests to grant write access which could be annoying, i suppose. a solution would be grant temporary write access to the parent directory of whatever the current query is. so that all other writes to the same directory would go thru without question, but any write that was outside that directory would still pop a request.

anyway, i'm sure you guys have figured out something that works.
  Reply With Quote
05-17-09, 07:12 AM   #12
essmene
A Murloc Raider
Join Date: Oct 2007
Posts: 5
Ok, i understand that you do not want to monitor modules and which addons they administer.

As a minimalistic addon user i can make a one-to-one comparison between each module and try to find out if a module hijaked an addon it was not meant to update.

But unfortunately i am one of those addon junkies that has more than those few. Checking each module for duplicates and ignoring those by hand will take a considerable amount of time that any application can do a lot faster.

Wowinterface and CC work find 95% of the time. But the remaining false positive hijacked addons can cause headaches. So if Module A was handling Bambam and module B wants to update bambam i was hoping for a notice, message, ...

Or a manual text export from both and i can write a shell script that does the pattern matching.
  Reply With Quote
05-17-09, 09:21 AM   #13
MidgetMage55
Grinch!
 
MidgetMage55's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,498
While setting permission for a large list of addons might take a while, keep in mind that its likely only necessary to do it once. Ignoring 'by hand' as far as im aware is a matter of right clicking the addon and setting a preference in the module. Even if it took 30 minutes the first time round. Id call that time well spent to make sure your getting what you want from where you want to get it from.
__________________

I think Hong Kong Phooey was a ninja AND a pirate. That was just too much awesome. - Yhor
  Reply With Quote
05-17-09, 11:20 AM   #14
lilsparky
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Oct 2007
Posts: 117
Originally Posted by MidgetMage55 View Post
While setting permission for a large list of addons might take a while, keep in mind that its likely only necessary to do it once. Ignoring 'by hand' as far as im aware is a matter of right clicking the addon and setting a preference in the module. Even if it took 30 minutes the first time round. Id call that time well spent to make sure your getting what you want from where you want to get it from.
that is assuming the module author implements an ignore feature and/or makes it easy to use. if the goal for writing a module is to diver traffic to your site, making it easy for a user to avoid your site might not be a high priority.

edit: nvm, i guess minion does have control over which modules are getting which addons....

Last edited by lilsparky : 05-17-09 at 11:23 AM.
  Reply With Quote

WoWInterface » Site Forums » Minion » Archive » how would minion hanlde addon conflicts ?

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