I think the current system is fine, as long as library authors stop breaking older addons (API changes) without updating the major version number.
API changes are not the most common case, though. More common is a mod will work with embedded librariex or !!!Libs, but not both, or installing it breaks another mod.
*blink* Whu?
The thing about either working with embedded or !!!Libs is more than likely a matter of paths and includes that don't take into account both possibilities. This falls under the issue where people develop an addon in one environment and then fail to properly take into account all other possible environments the user has.
But I cannot for the life of me imagine how installing one mod can break another one if there was no API change in one of the libraries. Unless there's a name collision somewhere...
I used to do my own !!!Libs, by hands. It becames tedious so I built a python script that would recreate !!!Libs for me, pulling libs from the SVN. Mostly doing in local what externals are supposed to do. I finally added a bunch of scripts to pull the other addons from SVN and recreate my Wow/Interface/Addons folder automagically, keeping my local changes (mostly getting rid of unwanted locales to speed up load time, as well as a few other things). I never had an issue with this system, but it took a while to set it up.
With the PTR and wow 2.0, I modified my scripts and it doesn't use !!!Libs anymore, but Standalone libraries. It's working very well. The only slight issue is, as have been said, that's it's at times difficult to reenable all LoadOnDemand libs when you want or need to disable most of your addons.
There is an easy solution, which is to have a very simple addon that enable all addons that are tagged with X-Ace-Library or even LoadOnDemand, as someone suggested. This would be a very easy addon to write.
He does _not_ mean LoadAddOn. The addons will be loaded automatically on request, if they are enabled. If you load em all at once, you are doing much more harm than good.
He does _not_ mean LoadAddOn. The addons will be loaded automatically on request, if they are enabled. If you load em all at once, you are doing much more harm than good.
Ah, I see.. AceLibrary handles that part, my mistake.. I'll get rid of that addon, then, since there's no point to it ;)
it'd be handy to have a tool that tells you which stand alone libraries you need to download for the mods that you have, if you want to go that route. integrating it with WAU would be even better. ;)
it'd be handy to have a tool that tells you which stand alone libraries you need to download for the mods that you have, if you want to go that route. integrating it with WAU would be even better. ;)
You could see what was embedded and get the standalone versions of those. If it didnt have all its dependancies embedded, then it was an error or it should have required dependancies for the missing ones (because it doesnt support emvedded versions of them)
it'd be handy to have a tool that tells you which stand alone libraries you need to download for the mods that you have, if you want to go that route. integrating it with WAU would be even better. ;)
This, or handling the !!!standalonelibs folder would be nice, along with an option to append a prefix to the titles (Colorful -Ace2 Lib-?) in the TOC would be nice...
If only apt or rpm or any of the other linux package managers had Windows clients... The only thing I've ever seen on Windows that came close is the cygwin installer, no clue if that's open source though.
If only apt or rpm or any of the other linux package managers had Windows clients... The only thing I've ever seen on Windows that came close is the cygwin installer, no clue if that's open source though.
I found RPM to be pretty bunk, but I probably never used it properly >.> the only Linux package management system I could ever run a system on for a lengthy period of time was portage =/ [/offtopic]
Could someone summarize in 3 lines or less what the end result is?
Embedded libraries (those that are inside the addon folder) is still staying and
StandAlone Libraries (those that have their own addon folder per library) is also staying?
!!!Libs (when one giant library includes all libs) is going away.
Embeds (when the library is inside the addon) are staying, which is the official way to distribute libraries.
Standalones (when the library is an addon in its own right) are staying.
Except that Standalones creates a rather unsightly list of addons...
I know, I know. Performance gets priority over usability. But you can't tell me you really don't care.
There is a solution, but it's out of our hands: Load-on-demand files instead of entire addons.
I do, however, feel that this is something that we could ask Blizzard. I cannot imagine it to be hard to implement, which improves our chance of seeing it happen, if we make a good case for it.
Imagine... One 'Libraries' folder instead of two dozen, with the same functionality. No more addons splitting into multiple addons just because some functionality is simply too demanding to be loaded all the time.
Except that Standalones creates a rather unsightly list of addons...
I know, I know. Performance gets priority over usability. But you can't tell me you really don't care.
There is a solution, but it's out of our hands: Load-on-demand files instead of entire addons.
I do, however, feel that this is something that we could ask Blizzard. I cannot imagine it to be hard to implement, which improves our chance of seeing it happen, if we make a good case for it.
Imagine... One 'Libraries' folder instead of two dozen, with the same functionality. No more addons splitting into multiple addons just because some functionality is simply too demanding to be loaded all the time.
honestly, I wish Blizzard would allow dynamic loading of files with loadfile() or something. It wouldn't even be a big issue as long as you only use files that existed at the start (which is how it'd be anyway). Also dynamic loading of SVs would be very nice as well.
honestly, I wish Blizzard would allow dynamic loading of files with loadfile() or something. It wouldn't even be a big issue as long as you only use files that existed at the start (which is how it'd be anyway). Also dynamic loading of SVs would be very nice as well.
*sigh*
The problem here is that it becomes trivially easy to make an AddOn whose only purpose is to feed data into WoW. Create an AddOn, have a gazillion empty files in it and have an outside program write to these files sequentially, and then have the AddOn load the files according to a schedule, or even settings in the files themselves. And before you mention it, yes it is currently possible to do this with AddOns instead of files, but its a lot harder to do.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Consider this a cleansing process.
*blink* Whu?
The thing about either working with embedded or !!!Libs is more than likely a matter of paths and includes that don't take into account both possibilities. This falls under the issue where people develop an addon in one environment and then fail to properly take into account all other possible environments the user has.
But I cannot for the life of me imagine how installing one mod can break another one if there was no API change in one of the libraries. Unless there's a name collision somewhere...
I used to do my own !!!Libs, by hands. It becames tedious so I built a python script that would recreate !!!Libs for me, pulling libs from the SVN. Mostly doing in local what externals are supposed to do. I finally added a bunch of scripts to pull the other addons from SVN and recreate my Wow/Interface/Addons folder automagically, keeping my local changes (mostly getting rid of unwanted locales to speed up load time, as well as a few other things). I never had an issue with this system, but it took a while to set it up.
With the PTR and wow 2.0, I modified my scripts and it doesn't use !!!Libs anymore, but Standalone libraries. It's working very well. The only slight issue is, as have been said, that's it's at times difficult to reenable all LoadOnDemand libs when you want or need to disable most of your addons.
There is an easy solution, which is to have a very simple addon that enable all addons that are tagged with X-Ace-Library or even LoadOnDemand, as someone suggested. This would be a very easy addon to write.
There ya are, would probably fit in a macro even
I'll throw this into a mod; might as well make it as easy as possible for !!!Libs users to transition to a better setup.
edit: http://wowace.com/files/index.php?path=Stand-A-Load/
it'd be handy to have a tool that tells you which stand alone libraries you need to download for the mods that you have, if you want to go that route. integrating it with WAU would be even better. ;)
You could see what was embedded and get the standalone versions of those. If it didnt have all its dependancies embedded, then it was an error or it should have required dependancies for the missing ones (because it doesnt support emvedded versions of them)
This, or handling the !!!standalonelibs folder would be nice, along with an option to append a prefix to the titles (Colorful -Ace2 Lib-?) in the TOC would be nice...
Embedded libraries (those that are inside the addon folder) is still staying and
StandAlone Libraries (those that have their own addon folder per library) is also staying?
!!!Libs (when one giant library includes all libs) is going away.
Embeds (when the library is inside the addon) are staying, which is the official way to distribute libraries.
Standalones (when the library is an addon in its own right) are staying.
I know, I know. Performance gets priority over usability. But you can't tell me you really don't care.
There is a solution, but it's out of our hands: Load-on-demand files instead of entire addons.
I do, however, feel that this is something that we could ask Blizzard. I cannot imagine it to be hard to implement, which improves our chance of seeing it happen, if we make a good case for it.
Imagine... One 'Libraries' folder instead of two dozen, with the same functionality. No more addons splitting into multiple addons just because some functionality is simply too demanding to be loaded all the time.
*sigh*
The problem here is that it becomes trivially easy to make an AddOn whose only purpose is to feed data into WoW. Create an AddOn, have a gazillion empty files in it and have an outside program write to these files sequentially, and then have the AddOn load the files according to a schedule, or even settings in the files themselves. And before you mention it, yes it is currently possible to do this with AddOns instead of files, but its a lot harder to do.