There is nothing like a directory structure right now, but it is a fact that you can include any number of workbenches, macros and pretty much anything in:chennes wrote: ↑Thu Apr 15, 2021 9:50 pm mnesarco -- a question for you about how these "packages" work. The built-in Add-on manager really only supports installing into two relatively fixed locations:andCode: Select all
FreeCAD.getUserAppDataDir() + os.sep + "Mod"
Here there really isn't any notion that a package could contain either or both of these things, as the "Content" section of the new metadata format implies to me. Does your workbench use its own directory structure, or does it work within this one?Code: Select all
FreeCAD.getUserAppDataDir() + os.sep + "Macro"
Code: Select all
FreeCAD.getUserAppDataDir() + os.sep + "Mod"
Becasue there is no standard now, there is no way to really know what is included in a "Mod". As you are developing the very first "standard" that is why I proposed the content section to allow the AddOnManager and Extman to know what the hell is included in the package without having to brute force parsing everything inside it.
For example right now:
1. There is no way to know the icon of a workbench, the only way is commiting the icon to the main FreeCAD repo or installing the workbench.
2. There is no way to know if a Mod have macros before installing it (search for files with .FCMacro extension)
3. When you install a Mod, it is supposed that it will contain a Workbench, but this is not mandatory at all, and it can contain zero or more workbenches.
So the Content section in metadata does not map to any specific Directory structure, the idea is that it informs what is in the package and the relevant information required for the AddOnManager, ExtMan and others to inspect the package before installing it.