How are you doing the update. The old one already has updates for the addons. Can't you treat the update like an addon and make the program restart so that updates take effect?

It would be next to impossible to meaningfully treat it as another addon. The biggest problem with having it update itself is the fact that you cannot replace files that are currently in use (namely, the executable file). As a result, there is a "Module Center" where all updates of the core and modules are handled.

When an update is available, two things can happen. If it's a required update (this will only be done in the event that everything will break if you don't install it), then the module center will pop up on startup and require you to install the update to continue (you can cancel, but the program will shut down). If the update is not required, you will just see a red message, out of the way in a corner, indicating that there is an update available and to go to the module center to apply the update.

The modules are updated while the program is running. This goes into OSGi details that are probably too technical for this forum, but suffice to say the module is shut down, replaced, and restarted. The program does not have to restart.

When the core needs an update, the program first downloads an update "bootstrap." It then executes this program in another process and shuts down. The bootstrap program then downloads the full update (specifically, the files to replace), waits to ensure that the program has shut down, and then replaces the files. Finally, it restarts the application. This is similar to how WoW is updated.

Screenshots: Yes. When I get a chance I'll try to provide meaningful screenshots to you all.

Bug tracker: Yes we have one.

I'm going to have to defer both of those questions until a later date until I think about the best course of action here. While I want to keep you all up-to-date, we also face the ever-challenging software management problem of trying to push a release without changing the requirements of the software every 5 seconds. For that reason, I'm thinking that maybe I won't release the bug track site until it goes into beta, but I haven't decided yet.

Please note it is very much unlike me to want to hide things from anxious users, but I also realize that some things went wrong last time and I want to make sure the same mistakes aren't made again.

1. Addon uploading in-app (for addon authors)
2. Support more than one WoW directory (some people have more than one directory becouse of type of account and language, Russian at EU account for example)

It would be next to impossible to meaningfully treat it as another addon. The biggest problem with having it update itself is the fact that you cannot replace files that are currently in use (namely, the executable file). As a result, there is a "Module Center" where all updates of the core and modules are handled.

When an update is available, two things can happen. If it's a required update (this will only be done in the event that everything will break if you don't install it), then the module center will pop up on startup and require you to install the update to continue (you can cancel, but the program will shut down). If the update is not required, you will just see a red message, out of the way in a corner, indicating that there is an update available and to go to the module center to apply the update.

The modules are updated while the program is running. This goes into OSGi details that are probably too technical for this forum, but suffice to say the module is shut down, replaced, and restarted. The program does not have to restart.

When the core needs an update, the program first downloads an update "bootstrap." It then executes this program in another process and shuts down. The bootstrap program then downloads the full update (specifically, the files to replace), waits to ensure that the program has shut down, and then replaces the files. Finally, it restarts the application. This is similar to how WoW is updated.

I was thinking like you were but using dll files to update the program. You would see there was an update it would close the main program and open an update which would download the dll file which holds the interface for the program and maybe any other files and overwrite the old. Then restart the program and close the updater.

My teacher was trying to get us to use dll files to enclose all files for our programs so that it would be harder to mess up with multiple coders as all files are together needed for that app part .

DLL files are unacceptable because this is written in Java and must be OS-independent. Using DLL files would mean having to create a new archive for every operating system, which would be a nightmare for a single person to maintain.

What you have proposed is no different from what I am doing, just with different file types.

Well, I downloaded the CC and turned off the datamining aspects of it, updated a few of my addons and now my autoloot keeps turning off. This never happened before and it's a real pain.

Originally Posted by Lykofos

However in order for the Curse Client to actually scrape that data, it needs to download and install a WoW AddOn.

Isn't the idea of an upater to update your addons? It sounds like you're saying that if you update any addon, you will be datascraped.. Oh and after I closed the CC, then reopened it, none of the settings to not datascrape were saved. User beware!

Well, I downloaded the CC and turned off the datamining aspects of it, updated a few of my addons and now my autoloot keeps turning off. This never happened before and it's a real pain.

That has nothing to do with CC, likely another AddOn is messing with your AutoLoot. If you used a Loot AddOn previously, it may have changed some of its behaviour from when you first installed it. This does happen with any AddOn regardless of the site it was downloaded from.

]Isn't the idea of an upater to update your addons? It sounds like you're saying that if you update any addon, you will be datascraped.. Oh and after I closed the CC, then reopened it, none of the settings to not datascrape were saved. User beware!

If none of your settings where saved, then its a bug, post a ticket on CC's CurseForge page. Include all relevant data including the installed CC version, OS, etc.

Also, please look at the title of the program, "Curse Client". Note what it does not say, "Updater". Curse Client is an overall user installed program for the entire Curse network. WoW AddOn updating is just one of its features. Other games that support AddOns will likely get added in the future such as Wahammer Age of Reckoning.

The data scraping part of CC is done by one specific AddOn that the Curse Client installs. If that AddOn is NOT installed or is disabled, then CC can't datascrape. CC will ask you if you want to contribute data, if you select NO, then CC will not install the AddOn needed to data scrape. The only other bit of data scraping CC can do is from your Cache folder, however again, if you select NO to uploading data, then CC will not upload data.

The only data that is required is your Curse user name/password (to activate premium features) and your AddOn list so CC knows what AddOns that CC has installed (which it will update) and which AddOns CC did NOT install (which CC will not touch unless you tell it to). In this regard, CC is no different than other updater's such as WoWI's.

DLL files are unacceptable because this is written in Java and must be OS-independent. Using DLL files would mean having to create a new archive for every operating system, which would be a nightmare for a single person to maintain.

Interesting. Will any attention be given to making it work natively in Linux to update a WoW client located in Wine and/or Cedega, or at least a bit of attention given to making sure it works OK in Wine instead of forcing Wine to come to it?

EDIT: To address the other questions, we have alpha testers from Windows, Mac OS, and Linux all reviewing the software right now. Additionally, there will only be a single release for all three OSes, as an OS-independent installer application, which will identify OS, architecture, and JVM version to obtain the correct release for you, painlessly.

I have a personal addon updater which currently uses the old API. The source is public, it's just that I haven't mentioned it anywhere, because I'm still improving/implementing some of the features I wanted it to have. It was intended to be aimed at programmers, not general public and therefore has advanced features (before/after update hooks, ability to write custom updaters to grab addons from other sites then wowinterface, etc). I would really love if there was a public API (the very same old one or improved one).

At very least please don't shut down the old one.

~Maiku Mori

Where can I find any informations about the old (currently used) and new API?