jasperges / pose-thumbnails

Blender add-on that adds thumbnails to a pose library.
GNU General Public License v2.0
67 stars 11 forks source link

Improvement: add addon updater module #33

Closed TheDuckCow closed 5 years ago

TheDuckCow commented 7 years ago

If desirable, since this repository already uses github releases, I can implement the addon updater code so that users can install updates from inside blender directly and chose to be notified of updates directly. Allows you to check for updates over an interval of time automatically, update to master directly, and install old target releases.

Updater module: https://github.com/CGCookie/blender-addon-updater

jasperges commented 7 years ago

Hi Patrick,

Thanks for the offer. I was aware of this addon updater, but haven't had the time to look at it yet. In a couple of weeks I shoud have more time to work on Blender related things again. Then I will have a good look at this addon and the updater and see how it could work in the future. At the moment I think I will overhaul the addon once more, so it's better to wait with adding the updater.

jasperges commented 6 years ago

I think with the work @sybrenstuvel has done, we are close to making a new release. It would make sense to implement the blender-addon-updater now.

@sybrenstuvel: do you mind if I implement this? Any comments, ideas, worries?

TheDuckCow commented 6 years ago

@jasperges I have been following the updates with the repository, and am quite excited to see it improving.

I do however want to raise one specific issue so you are aware, before you decide whether to proceed with updater integration or not. A recent change in GitHub's API security requirements makes the updater not work for Mac OSX users on blender 2.79 and earlier. Linux and Windows users are fine (as are all users for repositories hosted on GitLab and Bitbucket), and a "patch" is being developed to at least put a more logical error/action message for those affected OSX users (ie, check the website manually).

The issue comes from the version of the SSL library the OSX builds are based on. More details about this issue here: https://github.com/CGCookie/blender-addon-updater/issues/39

jasperges commented 6 years ago

@TheDuckCow Thanks for the heads up. I have a mac laptop, so I can also test.

sybrenstuvel commented 6 years ago

I don't agree with the CGCookie add-on updater. I think a proper package manager would be very nice to have for Blender itself, which is why I've mentored two Google Summer of Code projects trying to build this (unfortunately neither students lived up to their promises). However, I don't think that it's a good design to have each add-on include such updater code. The fact that CGCookie's updater only works with 3rd party repositories, and not Phabricator (which the Blender Foundation uses) or easy-to-self-host repositories, makes it even worse.

jasperges commented 6 years ago

I do agree a proper package manager would be the best, but we don't have it. I also think for most regular users it's really nice to update the add-on from within Blender and not have to copy files around and making sure you deleted the old version which can live in several places. Do you have any idea what happens if you use 'install from file' and the add-on already exists? CGCookie's updater is completely open, so it's possible to implement other 'engines'. From a quick glance at the code, I don't think that should be too hard (depending on how easy it is to connect to another service of course).

Do you have alternatives?

sybrenstuvel commented 6 years ago

If I can choose between spending time on a package manager Blender, or extending the CGCookie one, I know which one I'd choose. My alternative is to not try and fix Blender's shortcomings by copying code into every single add-on.

jasperges commented 6 years ago

While I agree, with your reasoning, it doesn't help the user in any way.

But this added with the fact that you cannot connect to the Github API with Python3.5 on macOS, makes me stick with the default Blender way of updating an add-on (manual labour) for now.