Addon Manager sustainability issues

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Addon Manager sustainability issues

Post by DeepSOIC »

Hi! I recently bumped into an issue that addon manager won't populate the list of workbenches, apparently due to some changes in github.
That raised a concern that addon manager in released stable freecad versions may easily go bust, and the only way to fix it is to update whole FreeCAD.

I think, with some effort, addon manager can be made robust to things like changes on github, or even a move to a different platform. There are a few ways to do it.

Potential solution 1
make addon manager only talk with freecadweb.org in some stable way. Our site then either hosts the addons directly, or channels the requests to github with a script.

Potential solution 2
make addon manager capable of updating itself. For updating, again, it will need to communicate with a place under our control (freecadweb.org), but communications for addon listing and installing can be hard-coded then.

Potential solution 3
release dedicated (stand-alone) addon manager application that is easily updatable.

We already had that when addon manager was itself a macro, independently hosted. It was for sure less user-friendly, but a lot more sustainable.

----

I am not a web person, so i probably will not participate in this discussion very much. I just want to make the ball rolling: discuss implications (security, dos attacks), how much of a pain it is, etc.
Last edited by Kunda1 on Thu Sep 17, 2020 2:54 pm, edited 1 time in total.
Reason: fixed typo in thread title
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Addon Manager sustainability issues

Post by vocx »

DeepSOIC wrote: Thu Sep 17, 2020 2:45 pm ...
I think, with some effort, addon manager can be made robust ...
Discussion about development of the current Addon Manager is in this thread, Add ons manager - development and bugs topic.

I definitely agree that the current manager is not very good. It has some fundamental issues in the way it handles the repositories; for example, I think getting the macros directly from the wiki is extremely fragile. Precisely what you describe is a sign of that fragility; if the presentation online changes, there is no way to update the Addon Manager easily. A more modular structure is needed but the current Addon Manager ties its basic functions with its graphical loop, so you can't just quickly replace a few functions here and there; you would have to replace entire files.

I suggest more people test the new Extension Manager developed by mnesarco. This could be the future Addon Manager for FreeCAD (Qt5 only); it is installable from the current manager. He seems to be making this component quite flexible, so maybe an auto update facility could be implemented. Mnesarco is also interested in more standardization of the addons; they should have some metadata that is easily readable, but to accomplish this we really need the support from the current workbench developers.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Addon Manager sustainability issues

Post by DeepSOIC »

vocx wrote: Thu Sep 17, 2020 4:35 pm new Extension Manager developed by mnesarco. This could be the future Addon Manager for FreeCAD (Qt5 only);
That's good news, I didn't know. Should this thread be deleted, then?
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Addon Manager sustainability issues

Post by vocx »

DeepSOIC wrote: Thu Sep 17, 2020 4:41 pm Should this thread be deleted, then?
Maybe merged with the main one.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
vanuan
Posts: 539
Joined: Wed Oct 24, 2018 9:49 pm

Re: Addon Manager sustainability issues

Post by vanuan »

Potential solution 4

Just release a patch version if it goes bust. "Stable" version doesn't mean anything if you don't maintain it.
User avatar
vanuan
Posts: 539
Joined: Wed Oct 24, 2018 9:49 pm

Re: Addon Manager sustainability issues

Post by vanuan »

DeepSOIC wrote: Thu Sep 17, 2020 4:41 pm
vocx wrote: Thu Sep 17, 2020 4:35 pm new Extension Manager developed by mnesarco. This could be the future Addon Manager for FreeCAD (Qt5 only);
That's good news, I didn't know. Should this thread be deleted, then?
This applies to extension manager too, doesn't it?

I think a robust solution would be to use a git protocol instead of github and provide user a way to configure multiple git sources. So that if GitHub goes bust, there's a backup git mirror.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Addon Manager sustainability issues

Post by DeepSOIC »

vanuan wrote: Fri Sep 18, 2020 1:12 am I think a robust solution would be to use a git protocol instead of github and provide user a way to configure multiple git sources. So that if GitHub goes bust, there's a backup git mirror.
That is yet another possible solution.
Then we have to ship gitpython. I suppose there is no reason not to.
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Addon Manager sustainability issues

Post by vocx »

vanuan wrote: Fri Sep 18, 2020 1:11 am Just release a patch version if it goes bust. "Stable" version doesn't mean anything if you don't maintain it.
The stable version has four patches, that's why it is in 0.18.4. These came relatively soon after the release of 0.18. I think a fifth patch was still possible, however, development of 0.19 took priority and most developers didn't look back.

And yes, we kinda missed the window for releasing 0.19. If we had released 0.19 in March 2020, as it more or less was the original plan, then we could have deprecated 0.18 quickly, and only maintained 0.19.

But hey, it's free software, if you want to patch the Addon Manager of v0.18 feel free to do that, maybe we can release 0.18.5 still.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
vanuan
Posts: 539
Joined: Wed Oct 24, 2018 9:49 pm

Re: Addon Manager sustainability issues

Post by vanuan »

vocx wrote: Fri Sep 18, 2020 1:37 am But hey, it's free software, if you want to patch the Addon Manager of v0.18 feel free to do that, maybe we can release 0.18.5 still.
Is there any playbook/documentation on what it makes to do a release?

The list of distributions is astonishing: https://forum.freecadweb.org/viewtopic.php?f=42&t=36818
Is there a minimal set of distributions to make a release?

Or is just a matter of creating a 0.18.5 tag/branch and writing a change log? What's the policy here?
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Addon Manager sustainability issues

Post by vocx »

vanuan wrote: Fri Sep 18, 2020 1:48 am ...
Or is just a matter of creating a 0.18.5 tag/branch and writing a change log? What's the policy here?
Yes, a release doesn't mean a package for a particular distribution, it is just a specific commit number. Packaging is a completely separate topic, Linux distributions are responsible for creating their own packages. However, the FreeCAD volunteers do the Conda maintenance (looo/sgrogan), so the Windows, MacOS, and AppImage are generated from there, and we have the Debian/Ubuntu maintainer (kkremitzki), so at least the most common systems are covered. The Fedora packagers are also around (hobbes, Przemo).

So, you could maybe make a pull request against the 0.18 branch, and make an announcement here so that sgrogan generates the new updated 0.18 package. When the last update happened, sgrogan made a nice list of commits that were backported, I guess it makes sense to follow this example.

However, at this point most power users would not bother with 0.18, and most just suggest people download 0.19.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
Post Reply