iquercorb / OpenModMan

Open Mod Manager - Open source and generic Mod ("Modifications") manager.
GNU General Public License v3.0
95 stars 5 forks source link

Updating packages #44

Closed schradj closed 1 year ago

schradj commented 1 year ago

Currently using 1.0.4

Repo admin has pushed a new version of a livery pack. I download it and, when prompted if I want to keep the old version, I click 'no'. Then, in the Packages Library tab, both the old version and the new version are listed but the old version has an X next to it. When I go to install the new version if says it overlaps and will overwrite a previously installed package and lists the name of the old version of the package.
I click Continue and the new version appears to install, but the old version is still listed and now has two X's next to it. I go to delete it and it says the 'Package source does not exist' Then, if I click 'Uninstall', I get a message indicating that this overlaps with the new version and that the new version will also be uninstalled. Why doesn't it recognize this as an update and remove the old version from the package list?

iquercorb commented 1 year ago

Open Mod Manager allow to keep and install multiple versions of the same package, it is up to the user to manage its library. What happened is simply that you don't unistalled the older version before download and installing the newer one. So the source package was deleted, but data had still installed in the game and backup data remain, this is roughly the sens of the red cross (source not available, but package installed, and can be safely uninstalled). Since the older version were already installed, when you install the newer one, it logically tell you that many files will overlaps...

When you saw the old package with the red X, you should have simply uninstall it, and it would have disapeared. Now, simply uninstall both version, let Open Mod Manager resolve backup data as he want, then install the newer version and everything will be ok.

I should probably had implemented an automatic uninstallation of package when user choose to not keep the older version, this would prevent such confusing situation. Anyway, it is only confusing, everything is designed to prevent file corruption.

schradj commented 1 year ago

I suppose evaluation of user interface is always subjective but, when the program seems to recognize it as an update to an existing package, but then installs it separately anyways as though it were a entirely different module, leading to file conflicts, it is counter-intuitive. This is consistently causing confusion for the users in my community whom I dragged kicking and screaming from OvGME to OMM. If the program recognizes it as an update (which it does from the yellow star icon next to the current listing), it would seem like a more logical behavior to just update that module for the user instead of forcing the user to manually uninstall the old version and then install the new version.

iquercorb commented 1 year ago

I know this is confusing, this is one of the behavior inducted by the "let to user the choice" philosophy, since this is technically possible... I will though about an option to "forbid" multiple version of the same package so to make everything more consistent and understandable for the most common usage.

iquercorb commented 1 year ago

So, I made a new release that fix a critical bug and forces package to uninstall if it is deleted during upgrade process. This will avoid such confusion situation. To be sure the older package will be removed (either renamed or moved to trash) click the "Upgrade" button/menu instead the "Download".

iquercorb commented 1 year ago

Finaly I changed the default behavior for download... see the new 1.0.6 version: https://github.com/sedenion/OpenModMan/releases/tag/1.0.6