How To Update Beta Addons

From WowAce Wiki
Jump to: navigation, search

Note this article refers to Ace(2) Beta addons, and not the Beta version of WoW:TBC. This article will not help you get your addons up to date for TBC. That being said, there are a number of TBC versions of mods buried in the SVN Zip files, just look for items with names like "Ace2-r15224[TBC].zip". [TBC] is the branch name. Note that WinAceUpdater will not update branch mods, and might overwrite them with non-branch versions.

  • There are a number of way to keep your beta Ace(2) addons up to date.
  • The prefered method that I would advise to use if you aren't a developer is the last one listed. WUA without externals. WUA is a nice tool which is easy to use, and not using externals reduces the problems you may get with some libaries which arent actual problems, or were fixed some time ago.
  • These are BETA addons you are updating and you should expect to see cutting edge features which may not be fully functional of bug-free. If this doesn't sound appealing for you, stop reading this page and update your addons through release versions from mod sites instead. Some addons are more beta than others.
  • If you have any errors at all, you should first check if you get the same error using the method of WUA without externals, or SVN with externals. If the issue disappears when using one of these methods, then it is a out of date libary problem and one which has already been fixed. If you still have the issue, you should contact the author of the addon in question, or post on it's thread on the forums.

Using SVN

There are two different ways of keeping your addons up to date by using the SVN:

With Externals
If you always use externals in your SVN client, when you checkout, or update, the SVN client will download the latest version of any library listed in externals of the addon into your addon's folder. This will ensure you always have the latest version of any library your addon uses, in its folder. This is the normal way Ace2 addons work, and is called embedding.
No Externals
You can choose(for whatever reason) to keep one centralised copy of the libraries and update your addons without externals. To do this you will need to check out the !!!Libs folder from SVN and checkout/update your addons without externals(omit externals tickbox in tortoise svn). Note that if you already have addons with externals in your addon folder, you should remove and re checkout the addon, or remove the libaries manually. Also be aware that this is an entirely unsupported method and may result in you loading more libraries than you need and taking up more memory.
Please be aware that the general recommendation from the operators of SVN is that you do not do a lot of updating with externals. It creates quite a load on the SVN server which should be avoided as much as possible. Updating without externals is prefered, but you can update with externals provided you are not doing it too often. More than once a day is too often.
SVN Links
SVN Rules
SVN For Beginners

Using WinAceUpdater

There are also two similar methods to updating using WinAceUpdater.

With Externals
This will update your addons with the zip files from which contain pre-packaged libraries. This distinction is important, because these libraries are packed in the zip file at the time a change is made to your addon. This can result in "bad" versions of libraries getting into your addon. You should ensure that the delete-before-update option is enabled, to make sure your addon contains no stale or redundant libraries or files. To update via this method, all you need to do is select your addons in WUA, and choose update with externals. The rest of the work is done for you.
Without externals (Disembedding)
This will use the without externals zip files from which contain only the code for your addon and no libraries.

To get the addons to work, you will need to do the following:

  • Important: Open your World of Warcraft folder, then the Interface folder. Right-click AddOns -> Send to -> Compressed folder to backup your addons folder, and this may take a minute. This is not necessary, but can save a lot of headache.
  • Download the !!!StandaloneLibraries zip file from your browser, Not WowAceUpdater. This is just a bunch of empty folders, that's what it's supposed to be.
  • Extract all the empty folders to your interface/addon folder. Those empty folders inside !!!StandaloneLibraries need to be taken out of that folder and put into the interface/addon folder. After extracting the folder, you should see new folders in your AddOns directory such as Ace2 and DewdropLib.
  • Open WowAceUpdater, click Edit -> Preferences. There is a row called DeleteBeforeExtracting. If False is beside it, click false, then the small Down arrow. Select True and close the preferences window.
  • Update the libraries- You can either click Edit -> Mark installed addons, or go through the list of installed addons, and check every addon that you see inside the !!!StandaloneLibraries zip file. Once you select them, either way, click File -> Install/Update marked addons -> Without externals. All the libraries need to be updated, don't miss one if you check them yourself!
  • Update your other addons if you only selected the libraries- Select the addons you wish to update in WowAceUpdater and choose File -> Install/Update Marked Addons -> Without externals Again, you should ensure that Edit -> Preferences ->. delete-before-update is true.
  • Fix missing libraries- Any addons that have errors like this: "AddOn\file.lua: Could not find a library instance of SomethingLib" should be updated with externals. This means the author has not added a new external to !!!StandaloneLibraries, or you updated something else wrong. See #6 for how to install with externals. Just choose With Externals instead of Without Externals

How it works: When the update is done this way, those empty folders from !!!StandaloneLibraries will be filled with the actual libaries that each Ace'd addon depends on. This is the prefered way of updating using the WinAceUpdater because it minimizes any problems you may get with out of date libraries, or bad snapshots being included with the zip files. It also ensures you only load the libaries you need because the standalone ones are Load on Demand. Please note: this will erase any changes you have made to the files in the the addon folders, eg. sct_event_config.lua

Hopefully this guide has been of use. Galencia