-
-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extensions - Add/pre-download legacy addons to Extensions "Core" addons #4272
Comments
Adding in online extensions to core is.. gonna be tricker than I expected. Extensions are stored to USER, not SYSTEM, so I can't ship an already downloaded extensions.. UNLESS... hmmmm Why?
Ideally we can shift the extensions to store to SYSTEM instead of USER and then we can ship already downloaded and curated addons that would "update" when user wants to or activate without downloading when they want to. |
Got an idea.. maybe we don't need to change core code and make a "bundled" addon that is pre-activated and writes these already downloaded extensions and datatbase of addons to the config folder on first use. In this case, these addons are "installed" due to the other addon, making migration easier and less buggy. Right now these core default addons missing is causing migration issues: user_pref.blend file defines X default addon from 4.1, user migrates from 4.1, the user_pref.blend file is missing addon scripts, user has to install manually VS something has the X default addon already downloaded and installed, ready to be updated, and when the user migrates everything is fine, ready to activate, ready to uninstall (if you don't want bloat) and ready to update. |
Yeah still trying to wrap my head around this one. |
Looks like I'm not the only one finding this issue, so reported it to Blender directly with steps to reproduce. |
Looks like some of our addons have changes, meaning we have "forks" of addons that would ideally need to be shipped and most likely can't be included into "Extensions" website. But this also means we would have a Bforartists version of the same addon, meaning we need to do this:
We could try to keep the work a minimum by only including the addons we changed, and none else? |
Legacy Addons Bundle is now an addon that will ship, meaning we can ship it too with our changes. https://devtalk.blender.org/t/changes-to-add-on-and-themes-bundling-4-2-onwards/34593 EDIT: not really and addon, just a bundle. |
Looks like I found a way to do this with an addon that could improve things. Also did a poll, it's unanimously in pro of keeping and pre-downloading addons. Lot's of users from Blender have voiced their feedback, but a week later there still is no news of if they will add things like this...
Workflow
Next Steps
|
I would still love to see a way where the users does not need download an extra bundle. We are not bound to the Blender way. We can ship this bundle directly with Bforartists. What worries me more is to keep this bundle updated then. Previously this was done with the merge already. Now we would need to download the bundle and compare it with our bundle regularly. |
💻 Progress for default legacy addons:
Next step: extensions pre-downloaded opt-in nlmy4Gu1kX.mp4EDIT: I am also wondering if I should not pre-download the modified extensions, and show a warning that we made changes to those addons.
|
That's the problem now. We should fork these addons now, and make sure they have no conflicts with the Blender ones: Means other class names and such. I have no solution to this dilemma. |
💻 Eureka! Pre-downloaded blender extensions (thus we can fork them for every release) and get users to opt-in without needing to download all the legacy addons one by one! The prototype works. Opens many doors, could even make a pre-downloaded curated list, that can update. Next steps:
Plan A:
Plan B:
|
#4272 Added the initial addon to add and copy legacy addons to the user preferences on first load. Also made the addon work on default.
…y addons to the core extensions addon
Also removed the legacy addon from the addon, since they are now core. Added a note to the title of the addon too, into the manifest for now.
…as "forks" Updated addon manifests of core "forks" of addons Added taglines mentioning Bforartists versions
…X updates Added the ability to remove and install all legacy Clarified what the addon does, and added a user warning about double ups Renamed the core addons we forked to be backwards compatible with user settings migrations, all ok since they don't need to be updated.
Here is the new Bforartists Extensions workflow: Problem:Migration from 4.1 to 4.2 will break, user won't know why (unless in the know) More problems: User might not have a good internet connection or no connection at all, but they use legacy addons Solution:Pre-install default legacy addons A. When a user migrates 4.1 settings, there will be no bugs (missing scripts), they can get to work immediately (addon pre-install legacy addons) Core forks of addons are updated every release and can't be updated remotely. Core forks have warnings ("Bforartists version"). They are exempt from Legacy. Eventually we can phase out the legacy addons once Blender does (if they ever do) and still use the addon to "pre-download" extensions without the internet opt-in. Interface |
Right now, Extensions is now released and official. This means a few things.....
This means on download, you are stripped bare. Bforartists should have atleast the same features from before, so we should move or copy or download latest versions of all legacy addons so they are "pre-downloaded" and included in the default installation (without needing to go onto the internet to get.. node wrangler, wth).
Task
Details
SHA-1: 13a3603
Ref: !121825
Details
SHA-1: c4a0bbb
The extensions system allows to extend Blender with connectivity to the internet. Right now it means Blender can
discover and install add-ons and themes directly from the internet, and notify users about their updates.
By default this is disabled (opt-in), and users can enable it the first time they try to install an extension or visit
the Prefences > Extensions tab. If this is enabled, Blender will automatically check for updates for
extensions.blender.org upon startup.
When will Blender access the remote repositories:
From the Blender code point of view, this means that most of the add-ons and themes originally bundled with Blender
will now be available from the online platform, instead of bundled with Blender. The exception are add-ons which are
deemed core functionality which just happened to be written as Python add-ons.
Links:
This PR does the following:
scripts/addons
&scripts/addons_contrib
.scripts/addons_core
to blender's repository.These add-ons will still be bundled with Blender and will be always enabled in the future, with their preferences
moved to be more closely integrated with the rest of Blender. This will happen during the remaining bcon2 period.
For more details, see #121830
From scripts/addons:
Extra: bl_pkg (scripts/addons_contrib)
Note: The STL (legacy) add-on is going to be moved to the extensions platform. There is already a C++ version on core
which is enabled by default.
All the other add-ons are already available at extensions.blender.org. To use them you need to:
Over time their maintaince will be transferred over to the community so their development can carry on. If you used to
help maintain a bundled add-on please read: https://devtalk.blender.org/t/changes-to-add-on-bundling-4-2-onwards/34593
Ref: !121825
The text was updated successfully, but these errors were encountered: