Std AddonMgr: Difference between revisions

From FreeCAD Documentation
m (Added a == Testing the Addon Manager == for developers)
No edit summary
(8 intermediate revisions by 3 users not shown)
Line 7: Line 7:
|MenuLocation=Tools → Addon manager
|MenuLocation=Tools → Addon manager
|Workbenches=''None''
|Workbenches=''None''
|SeeAlso=[[Macros]], [[External workbenches]]
|SeeAlso=[[Macros|Macros]], [[External workbenches|External workbenches]]
|Version=0.17
|Version=0.17
}}
}}


<!--T:2-->
<!--T:2-->
The '''Addon Manager''' is a tool to install and manage [[external workbenches]] and [[macros]] provided by the FreeCAD community. If the [https://github.com/gitpython-developers/GitPython git-python] package is installed on your computer, the Addon Manager will make use of it to update installed workbenches, making downloads faster.
The '''Addon Manager''' is a tool to install and manage [[external workbenches|external workbenches]] and [[macros|macros]] provided by the FreeCAD community. If the [https://github.com/gitpython-developers/GitPython git-python] package is installed on your computer, the Addon Manager will make use of it to update installed workbenches, making downloads faster.


<!--T:10-->
<!--T:10-->
The lists of installable workbenches and macros are taken from two repositories, [https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] and [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-macros], respectively, and from the [[Macros recipes]].
The lists of installable workbenches and macros are taken from two repositories, [https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] and [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-macros], respectively, and from the [[Macros recipes|Macros recipes]].


<!--T:4-->
<!--T:4-->
[[Image:Addon_Manager_example.png]]
[[Image:Addon_Manager_example.png]]
{{Caption|Interface of the [[Addon Manager]]}}
{{Caption|Interface of the [[Addon Manager|Addon Manager]]}}


== How to use == <!--T:5-->
== How to use == <!--T:5-->
Line 31: Line 31:
* To run a macro: first install the desired macro, then select it again on the list, and then press the {{Button|Execute}} button. The macro is automatically edited in the FreeCAD macro editor, to visualize the code.
* To run a macro: first install the desired macro, then select it again on the list, and then press the {{Button|Execute}} button. The macro is automatically edited in the FreeCAD macro editor, to visualize the code.
* Press {{Button|Close}} to exit the manager.
* Press {{Button|Close}} to exit the manager.
You will have to restart FreeCAD before new workbenches appear in the list of available workbenches. They are appended at the end, if you want to have them in alphabetical order, you can rearrange them in the [[Std DlgCustomize]] dialog.


=== Manual installation === <!--T:11-->
=== Manual installation === <!--T:11-->
Line 47: Line 48:
<!--T:17-->
<!--T:17-->
* The web addresses of the repositories for add-ons and macros are hard coded into the AddonManager. As this application is written in Python, experienced users can change these locations by editing the appropriate fields in
* The web addresses of the repositories for add-ons and macros are hard coded into the AddonManager. As this application is written in Python, experienced users can change these locations by editing the appropriate fields in

</translate>
{{Code|code=
{{Code|code=
$ROOT/Mod/AddonManager/AddonManager.py
$ROOT/Mod/AddonManager/AddonManager.py
}}
}}
<translate>


<!--T:18-->
<!--T:18-->
Line 59: Line 63:


<!--T:13-->
<!--T:13-->
If you developed a workbench or macro, and want to see it included in the Addon Manager, read how to do that on the repository pages ([https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] and [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-macros]). If you add your macro to the [[Macros recipes]], there is nothing else to do, it will automatically be picked by the Addon Manager.
If you developed a workbench or macro, and want to see it included in the Addon Manager, read how to do that on the repository pages ([https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] and [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-macros]). If you add your macro to the [[Macros recipes|Macros recipes]], there is nothing else to do, it will automatically be picked by the Addon Manager.


<!--T:14-->
<!--T:14-->
Line 67: Line 71:
If you develop a workbench in C++, it cannot be run directly by users and must be compiled first. You then have 2 options, either you provide precompiled versions of your workbench yourself, for the different operating systems, or you should request to have your code merged into the FreeCAD source code. For that, you should use the LGPL license (or fully compatible like MIT or BSD), and you must present your new tools to the community in the [https://forum.freecadweb.org FreeCAD forum] for review. Once your code has been tested and approved, you should fork the FreeCAD repository, if not done yet, create a new branch, push your code to it, and open a pull request so that your branch is merged into the main repository.
If you develop a workbench in C++, it cannot be run directly by users and must be compiled first. You then have 2 options, either you provide precompiled versions of your workbench yourself, for the different operating systems, or you should request to have your code merged into the FreeCAD source code. For that, you should use the LGPL license (or fully compatible like MIT or BSD), and you must present your new tools to the community in the [https://forum.freecadweb.org FreeCAD forum] for review. Once your code has been tested and approved, you should fork the FreeCAD repository, if not done yet, create a new branch, push your code to it, and open a pull request so that your branch is merged into the main repository.


== Testing the Addon Manager ==
== Testing the Addon Manager == <!--T:20-->
{{VeryImportantMessage|This section is for developers}}
{{VeryImportantMessage|This section is for developers}}
The Addon Manager is coded in Python so it's possible to change the source code without compiling it. More specifically, testing requires modifying the code in <tt>FreeCAD/src/Mod/AddonManager</tt> and simply re-running FreeCAD.
The Addon Manager is coded in Python so it's possible to change the source code without compiling it. More specifically, testing requires modifying the code in <tt>FreeCAD/src/Mod/AddonManager</tt> and simply re-running FreeCAD.


<!--T:21-->
To test downloading capability of the Addon Manager you can simulate a need to download say, a previous version of a workbench via the CLI. In the following example we'll use the Assembly2+ workbench (or [[A2plus_Workbench|A2plus]] for short):
To test downloading capability of the Addon Manager you can simulate a need to download say, a previous version of a workbench via the CLI. In the following example we'll use the Assembly2+ workbench (or [[A2plus_Workbench|A2plus]] for short):

</translate>
{{Code|code=
{{Code|code=
cd ~/FreeCAD/Mod/A2plus/
cd ~/FreeCAD/Mod/A2plus/
git reset --hard "v0.4.21"
git reset --hard "v0.4.21"
}}
}}
<translate>

<!--T:22-->
CLI output should show '''HEAD is now at b2c53a4 Merge pull request #281 from kbwbe/devel'''
CLI output should show '''HEAD is now at b2c53a4 Merge pull request #281 from kbwbe/devel'''


<!--T:16-->
What we essentially did was use a previous release tag to reset the version.
What we essentially did was use a previous release tag to reset the version.
Now, in the Addon Manager refresh the list of workbenches and it should show that the A2plus workbench is using an inferior version.
Now, in the Addon Manager refresh the list of workbenches and it should show that the A2plus workbench is using an inferior version.

<!--T:16-->
<!--T:23-->
{{Userdocnavi}}
{{Userdocnavi}}


<!--T:19-->
<!--T:19-->
[[Category:Addons]]
[[Category:Addons]]



</translate>
</translate>

Revision as of 22:52, 5 September 2019

Std AddonMgr

Menu location
Tools → Addon manager
Workbenches
None
Default shortcut
None
Introduced in version
0.17
See also
Macros, External workbenches

The Addon Manager is a tool to install and manage external workbenches and macros provided by the FreeCAD community. If the git-python package is installed on your computer, the Addon Manager will make use of it to update installed workbenches, making downloads faster.

The lists of installable workbenches and macros are taken from two repositories, FreeCAD-addons and FreeCAD-macros, respectively, and from the Macros recipes.

Interface of the Addon Manager

How to use

  • Open the tool in the menu Tools → Addon manager.
  • To install a workbench: scroll through the list and select the add-on; a short description, as well as its home page, will be displayed below the list. Press the Install/update button to install the new tool. For macros, click on the Macros tab and repeat the steps.
  • To remove a workbench or a macro: scroll through the list, select the add-on, and then press the Remove button.
  • To update a workbench or a macro: scroll through the list, select the add-on, and then press the Install/update button.
  • To check for updates: press the Refresh button; available updates will be reported below the list. Press the Refresh button again to install all updates at once. Note: the icon may look different depending on your operating system.
  • To run a macro: first install the desired macro, then select it again on the list, and then press the Execute button. The macro is automatically edited in the FreeCAD macro editor, to visualize the code.
  • Press Close to exit the manager.

You will have to restart FreeCAD before new workbenches appear in the list of available workbenches. They are appended at the end, if you want to have them in alphabetical order, you can rearrange them in the Std DlgCustomize dialog.

Manual installation

If you don't use the Addon Manager, you can install the new tools manually by placing their code in your user's FreeCAD/ directory. See the following links for details:

Limitations

  • These add-ons are not part of the official FreeCAD program and are not supported by the core FreeCAD development team. You should read the information provided on each add-on's home page to make sure you know what you are installing.
  • Bug reports and feature requests should be made directly to the creator of the add-on by visiting the indicated website. Many add-on authors are regular users of the FreeCAD forum, and can be contacted there.
  • The web addresses of the repositories for add-ons and macros are hard coded into the AddonManager. As this application is written in Python, experienced users can change these locations by editing the appropriate fields in
$ROOT/Mod/AddonManager/AddonManager.py

where $ROOT is the installation directory of FreeCAD in your particular system, for example,

  • Linux: /usr/lib/freecad/Mod/AddonManager/AddonManager.py
  • Windows: C:\Program Files\FreeCAD version\Mod\AddonManager.py

New workbenches and macros

If you developed a workbench or macro, and want to see it included in the Addon Manager, read how to do that on the repository pages (FreeCAD-addons and FreeCAD-macros). If you add your macro to the Macros recipes, there is nothing else to do, it will automatically be picked by the Addon Manager.

For python workbenches, you don't need any specific approval to have your workbench added to the Addon Manager and, being outside the FreeCAD source code, you can choose the license you want. If you request for your workbench to be added to the list (we will not add any new workbench without a request from its authors), either by asking so on the forum or by opening an issue on the FreeCAD-addons repository, your code will stay on your own git repository, we will just add it as a submodule to the FreeCAD-addons repository. Of course, before adding your workbench, we will take a look at it and make sure there is nothing potentially problematic with it.

If you develop a workbench in C++, it cannot be run directly by users and must be compiled first. You then have 2 options, either you provide precompiled versions of your workbench yourself, for the different operating systems, or you should request to have your code merged into the FreeCAD source code. For that, you should use the LGPL license (or fully compatible like MIT or BSD), and you must present your new tools to the community in the FreeCAD forum for review. Once your code has been tested and approved, you should fork the FreeCAD repository, if not done yet, create a new branch, push your code to it, and open a pull request so that your branch is merged into the main repository.

Testing the Addon Manager

This section is for developers

The Addon Manager is coded in Python so it's possible to change the source code without compiling it. More specifically, testing requires modifying the code in FreeCAD/src/Mod/AddonManager and simply re-running FreeCAD.

To test downloading capability of the Addon Manager you can simulate a need to download say, a previous version of a workbench via the CLI. In the following example we'll use the Assembly2+ workbench (or A2plus for short):

cd ~/FreeCAD/Mod/A2plus/
git reset --hard "v0.4.21"

CLI output should show HEAD is now at b2c53a4 Merge pull request #281 from kbwbe/devel

What we essentially did was use a previous release tag to reset the version. Now, in the Addon Manager refresh the list of workbenches and it should show that the A2plus workbench is using an inferior version.