CGCookie / blender-addon-updater

A module for enabling users to check for add-on updates and install new versions directly from Blender.
GNU General Public License v3.0
247 stars 42 forks source link

Question for generalized updater #62

Open kromar opened 4 years ago

kromar commented 4 years ago

This is not a requst or a bug but a thought i had about the updating of addons in general. This addon is very useful but not many developers include it in their addons and i thought it might be possible to make a addon where the user is able to specify the addons he wants to update by providing a list of github links. Do you think it would be possibe to do something like this and would this updater be able to be extended into a addon updater lime that? From my experience the tagging and repository hirarchy different developers use might be a problem. What do you think about this idea?

TheDuckCow commented 4 years ago

Hi there, thanks for sharing the idea! And indeed, you are correct that with little modification this could be used for a nice, essentially decentralized, general purpose updater. I've actually already done the work for a specific studio (which uses a mix of internal repo's and public ones, managing updates/installs for their artists; per addon configs stored in json). So, technical feasibility is not bad at all, but there are some other considerations to be had:

For record purpose, also calling out this type of initiative has been started before (one example), though that was via a more centralized approach (ie the addon manager itself actively kept track of the repos and configuration, as opposed to letting users input the repo links they are interested in). Also just acknowledging this thread on right-click select. If there are any other initiatives or examples, would be good to note here.

ldo commented 3 years ago

Are you trying to reinvent package management for each platform? Maybe it would be better to hook into what the platform vendors are already providing, like Microsoft WinGet.

neomonkeus commented 3 years ago

Are you trying to reinvent package management for each platform? Maybe it would be better to hook into what the platform vendors are already providing, like Microsoft WinGet.

The package manager you mention is more application level, whereas these are internal addon to the application, which can come from a diverse range of sources, which for the most part the addon already supports.

That said there is definitely options to leverage existing tech, like pypi as a platform agnostic, but whether or not users would be willing to push to those platforms is probably the main driver for the repo option, where studios may have an inhouse git server or similiar.

hannesdelbeke commented 1 year ago

it might be possible to make a addon where the user is able to specify the addons he wants to update by providing a list of github links.

I've been working on an addon that does exactly this for the last half year. It seems to be almost exactly what you describe.

a central repo hosts links to external github repos. a blender UI collects them all, and let's the user search, and install, and update. with the click of just 1 button.

core library (python) https://github.com/plugget/plugget

blender addon https://github.com/plugget/plugget-blender-addon

qt widget https://github.com/plugget/plugget-qt

there are still many things left to do. e.g. cg cookie has a lot of features plugget doesnt yet have. 1 cool thing is that it also supports other apps like max maya ..., not just blender. and the reason we dont use winget, is because winget installs apps. plugget installs plugins or addons for apps.