Std AddonMgr/de: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
(30 intermediate revisions by 4 users not shown)
Line 4: Line 4:
|[[Std_DlgCustomize/de|DlgAnpassen]]
|[[Std_DlgCustomize/de|DlgAnpassen]]
|
|
|[[Std_Tools_Menu/de|Std Werkzeugmenü]]
|[[Std_Tools_Menu/de|Std Menü Werkzeug]]
|IconL=Std_DlgCustomize.svg
|IconL=Std_DlgCustomize.svg
|IconR=
|IconR=
Line 12: Line 12:
{{GuiCommand/de
{{GuiCommand/de
|Name=Std AddonMgr
|Name=Std AddonMgr
|Name/de=Std ErweiterungVerw
|Name/de=Std AddonManager
|MenuLocation=Werkzeuge → ErweiterungsVerwalter
|MenuLocation=Werkzeuge → Addon-Manager
|Workbenches=Alle
|Workbenches=Alle
|Version=0.17
|Version=0.17
Line 19: Line 19:
}}
}}


<span id="Description"></span>
==Beschreibung==
==Beschreibung==


Der Befehl '''Std Addon-Manager''' öffnet den Addon-Manager. Mit dem Addon-Manager können [[external_workbenches/de|externe Arbeitsbereiche]], [[macros/de|Makros]], und [[Preference_Packs/de|Voreinstellungspakete]], die durch die FreeCAD-Gemeinschaft bereitgestellt werden, installiert und verwaltet werden. Standardmäßig stammen die verfügbaren Erweiterungen aus zwei Quellen, [https://github.com/FreeCAD/FreeCAD-addons/ (GitHub) FreeCAD-Addons] und von der Seite [[Macros_recipes/de|Makrorezepte]]. Wenn GitPython und git auf dem eigenen System installiert sind, werden zusätzliche Makros von [https://github.com/FreeCAD/FreeCAD-macros/ (GitHub) FreeCAD-Makros] geladen. Benutzerdefinierte Quellen können in den Voreinstellungen des [[Preferences_Editor/de#Addon-Manager|Addon-Managers]] hinzugefügt werden.
Der '''Std ErweiterungVerw''' Befehl öffnet den Erweiterungsverwalter.


Aufgrund von Änderungen an der GitHub-Plattform im Jahr 2020 funktioniert der Addon-Manager nicht mehr, wenn man die FreeCAD-Version 0.17 oder älter verwendet. Man muss auf die Version [https://github.com/FreeCAD/FreeCAD/releases/tag/0.18.5 0.18.5] oder neuer aktualisieren. Alternativ könen die Erweiterungen auch manuell installiert werden, siehe [[#Hinweise|Hinweise]] unten.
ist ein Werkzeug zum installieren und verwalten von [[external workbenches/de|externen Arbeitsbereichen]] und [[macros/de|Makros]], die von der FreeCAD Gemeinschaft bereitgestellt werden. Falls das Paket [https://github.com/gitpython-developers/GitPython git-python] auf Deinem Computer installiert ist, wird der Addon Manager es verwenden, um installierte Arbeitsbereiche zu aktualisieren und Downloads zu beschleunigen.


<span id="Usage"></span>
<div class="mw-translate-fuzzy">
==Anwendung==
Bitte beachte, dass Erweiterungen, die als {{emphasis|Python 2 Only}} markiert sind, in FreeCAD Version 0.19 oder höher nicht funktionieren.
</div>


# Den Menüeintrag {{MenuCommand|Werkzeuge → [[Image:Std_AddonMgr.svg|16px]] Addon-Manager}} auswählen.
Due to changes to the GitHub platform in the year 2020 the Addon manager no longer works if you use FreeCAD version 0.17 or earlier. You need to upgrade to version [https://github.com/FreeCAD/FreeCAD/releases/tag/0.18.5 0.18.5] or a recent [https://github.com/FreeCAD/FreeCAD/releases/tag/0.19_pre 0.19] version. Alternatively you can install addons manually, see [[#Notes|Notes]] below.
# Wird der Addon-Manager zum ersten Mal verwendet, wird ein Dialogfeld geöffnet, das darauf hinweist, dass die Erweiterungen im Addon-Manager kein offizieller Bestandteil von FreeCAD sind. Es enthält auch mehrere Optionen, die mit der Verwendung von Daten durch den Addon-Manager zusammenhängen. Hat man diese Optionen den eigenen Vorlieben entsprechend eingestellt, drückt man die Schaltfläche {{Button|OK}}, um zu bestätigen und fortzufahren.
# Das Dialogfeld Addon-Manager öffnet sich. Für weitere Informationen siehe [[#Optionen|Optionen]].
# Die Schaltfläche {{Button|[[Image:Button_valid.svg|16px]] Alles aktualisieren}} funktioniert zurzeit nicht.
# Die Schaltfläche {{Button|[[Image:Process-stop.svg|16px]] Schließen}} drücken, um das Dialogfeld zu schließen.
# Wenn ein Arbeitsbereich installiert oder aktualisiert wurde, wird ein neues Dialogfeld geöffnet, das darauf hinweist, dass FreeCAD neu gestartet werden muss, damit die Änderungen wirksam werden.


<span id="Options"></span>
[[Image:Std_AddonMgr_dialog.png]]
==Optionen==
{{Caption|Das Dialogfeld des Erweiterungsverwalters}}


[[File:AddonManager_Main.png|600px]]
==Anwendung==


# Der Addon-Manager stellt zwei Layouts zur Verfügung: "Schmal" and "Erweitert". In der "schmalen" Ansicht füllt eine Erweiterung eine einzelne Zeile und ihre Beschreibung wird gekürzt, um in den vorhandenen Platz zu passen. "Erweitert" stellt zusätzliche Einzelheiten dar, wie weiteren Beschreibungstext und auch Informationen für Bearbeiter, weitere Installationsdetails usw.
# Wähle die {{MenuCommand|Werkzeuge → [[Image:Std_AddonMgr.svg|16px]] Erweiterungsverwalter}} Option aus dem Menü.
# Drei Arten von Erweiterungen werden unterstützt: [[external_workbenches/de|Arbeitsbereiche]], [[macros/de|Makros]], und [[Preference_Packs/de|Voreinstellungspakete]]. Man kann wählen, ob nur eine Art angezeigt wird oder alle in einer einzigen Liste.
# Wenn du den Erweiterungsverwalter zum ersten Mal verwendest, wird ein Dialogfeld geöffnet, das dich darauf hinweist, dass die Erweiterungen im Erweiterungsverwalter nicht offiziell Teil von FreeCAD sind. Drücke die {{Button|OK}} Schaltfläche, um zu bestätigen und fortzufahren.
# Die Liste kann so eingegrenzt werden, dass sie nur installierte Pakete, nur Pakete mit erhältlichen Aktualisierungen oder nur Pakete, die noch nicht installiert wurden, enthält.
# Das Dialogfeld des Erweiterungsverwalters öffnet sich. Für weitere Informationen siehe [[#Options/de|Optionen]].
# Die Liste kann gefiltert werden durch die Suche nach Schlüsselwörtern in Benennung, Beschreibung und Kennzeichen (Beschreibung und Kennzeichnung müssen vom Addon-Entwickler in den Meta-Daten angegeben werden). Der Filter kann sogar ein regulärer Ausdruck sein, für eine präzise Steuerung des genauen Suchbegriffs.
# Die {{Button|[[Image:Button_valid.svg|16px]] Alles aktualisieren}} Schaltfläche funktioniert zur Zeit nicht.
# Die erweiterte Ansicht zeigt enthaltene Versionsinformationen, Beschreibungen, Informationen für Bearbeiter und Informationen zur Version der Installation für Pakete mit einer [[Package_Metadata/de|Paket-Meta-Daten]]-Datei (oder für Makros mit eingebetteten Meta-Daten).
# Drücke die {{Button|[[Image:Process-stop.svg|16px]] Schließen}} Schaltfläche, um das Dialogfeld zu schließen.
# Die Addon-Daten werden lokal zwischengespeichert, mit einer variablen Häufigkeit der Aktualisierung des Zwischnspeichers, festgelegt in den Benutzereinstellungen.
# Wenn du einen Arbeitsbereich installiert oder aktualisiert hast, wird ein neues Dialogfeld geöffnet, das dich darauf hinweist, dass du FreeCAD neu starten musst, damit die Änderungen wirksam werden.
# Zu jeder Zeit kann die manuelle Aktualisierung des lokalen Zwischenspeichers ausgewählt werden, um die neuesten verfügbaren Aktualisierungen für alle Erweiterungen anzuzeigen.
# Die Suche nach Aktualisierungen kann auf automatisch eingestellt sein oder manuell erfolgen durch einen Klick auf eine Schaltfläche (festgelegt in den Benutzereinstellungen). Wenn GitPython und git auf dem eigenen System installiert sind, werden die Aktualisierungsinformationen unter Verwendung von git abgeholt. Wenn nicht, werden Informationen zu Aktualisierungen aus allen vorhandenen Meta-Daten-Datein ausgelesen.


Klickt man in dieser Ansicht auf eine Erweiterung, wird eine Seite mit Einzelheiten zu dieser Erweiterung geöffnet:
==Optionen==


[[File:AddonManager_Details.png|600px]]
Das Dialogfeld des Erweiterungsverwalters hat zwei Reiter auf der linken Seite, eine mit den verfügbaren Arbeitsbereichen und die andere mit den verfügbaren Makros. Das Informationsfeld auf der rechten Seite zeigt die Startseite der ausgewählten Erweiterung an.


Diese Seite mit Einzelheiten zeigt Schaltflächen, die es erlauben Erweiterungen zu installieren, zu deinstallieren, zu aktualisieren und zeitweise zu deaktivieren. Sie listet die aktuell installierten Versionen mit dem Installationsdatum und ob es sich um die neueste verfügbare Version handelt. Darunter befindet sich ein eingebettetes Webbrowser-Fenster, das die README-Seite der Erweiterung anzeigt (für Arbeitsbereiche und Voreinstellungspakete), oder die Wiki-Seite (für Makros).
===Deinstallieren===


<span id="Preferences"></span>
# Wähle eine installiertes Erweiterung auf der Seite [[Image:Folder.svg|16px]] Reiter '''Arbeitsbereiche''' oder den [[Image:Applications-python.svg|16px]] '''Makros''' Reiter.
==Einstellungen==
# Drücke die {{Button|[[Image:Delete.svg|16px]] Ausgewähltes deinstallieren}} Schaltfläche.


Die Einstellungen für den Addon-Manager findet man im [[Preferences_Editor/de#Addon-Manager|Voreinstellungseditor]]. {{Version/de|0.20}}
===Installieren/Aktualisieren===


==Sorting by score==
# Wähle eine Erweiterung auf dem [[Image:Folder.svg|16px]] '''Arbeitsbereiche''' Reiter oder dem [[Image:Applications-python.svg|16px]] '''Makros''' Reiter.
# Drücke die {{Button|[[Image:Edit_OK.svg|16px]] Installieren/Aktualisieren ausgewählt}} Schaltfläche .
# Wenn du ein Makro zu einer benutzerdefinierten Werkzeugleiste hinzufügen möchtest, vergiss nicht, die Symbol Bilddatei, falls verfügbar, manuell herunterzuladen, indem du auf den Verweis auf der Homepage im Informationsfenster klickst. Siehe [[Interface_Customization/de#Werkzeugleisten|Schnittstellenanpassung]].
# Um die Position eines Erweiterungsarbeitsbereichs in der Liste [[Std_Workbench/de|Arbeistbereichswähler]] zu ändern, siehe [[Interface_Customization/de#Arbeitsbereiche|Oberflächenanpassung]].


{{Version|0.22}}
===Konfiguration===


The Addon Manager supports sorting by a number of different criteria. Most of these are downloaded directly from FreeCAD's servers (which caches them from GitHub and the FreeCAD Wiki) but one, "Score," is not provided by FreeCAD at all, and only appears as an option if the Score Source URL setting is provided in the Preferences.
# Drücke die {{Button|[[Image:Preferences-general.svg|16px]] Konfigurieren... }} Schaltfläche.
# Das Dialogfeld Erweiterungsverwalteroptionen wird geöffnet.
# Prüfe wahlweise die {{CheckBox|TRUE|Automatisch beim Start nach Updates suchen (erfordert GitPython)}} Kontrollkästchen.
# Wahlweise Repositorien zur Liste '''Benutzerdefinierte Repositorien''' hinzufügen. Erweiterungen von diesen Repositorien werden auf dem [[Image:Folder.svg|16px]] '''Arbeitsbereiche''' Reiter oder die [[Image:Applications-python.svg|16px]] '''Makros''' Reiter hinzugefügt.
# Wähle optional Proxy Einstellungen.
# Drücke die {{Button|OK}} Schaltfläche oder die {{Button|Abbrechen}} Schaltfläche, um das Dialogfeld zu schließen.


The Score Source URL is a path to a remote JSON-formatted document listing addons and a "score" of some kind. Score can be calculated in any way the data provider likes, but should be an integer value, with higher scores being "better" in some sense. Any addon not listed is assigned a score of zero internally. The format of the file is a single JSON dictionary where the key is the addon URL (for workbenches and preference packs) or the name of the macro (for macros). See [https://gist.githubusercontent.com/chennes/e8f60e80f16e6ffbd057dd47ca36ad2a/raw/7b118cca8e84444c3379919bbd744b99e6ef6711/addon_score_for_testing.json this data source] for an example (note the score there is simply the length of the addon's description, and is intended only for testing and demonstration purposes).

<span id="Notes"></span>
==Hinweise==
==Hinweise==


* Die Verwendung von Erweiterungen ist nicht auf die FreeCAD-Version beschränkt, mit der sie installiert wurden. Sie können auch in jeder anderen FreeCAD-Version verwenden, die von der Erweiterung unterstützt wird, die möglicherweise auf dem eigenen System vorhanden ist.
<div class="mw-translate-fuzzy">
* Die im Erweiterungsverwalter verfügbaren Erweiterungen sind nicht Teil des offiziellen FreeCAD Programms und werden vom FreeCAD Kernentwicklungsteam nicht unterstützt. Du solltest die bereitgestellten Informationen sorgfältig lesen, um sicherzustellen, daß du weißt, was du installierst.
* Die im Addon-Manager verfügbaren Erweiterungen sind nicht Teil des offiziellen FreeCAD-Programms und werden vom FreeCAD-Kernentwicklungsteam nicht unterstützt. Man solltet die bereitgestellten Informationen sorgfältig lesen, um sicherzustellen, daß man weiß, was man installiert.
* Fehlerberichte und Funktionenanfragen sollten direkt an den Ersteller der Erweiterung gerichtet werden, durch Besuch der angegebene Webseite. Viele Erweiterungsentwickler sind regelmäßige Nutzer des [https://forum.freecadweb.org FreeCAD Forums], und können dort auch kontaktiert werden.
* Fehlerberichte und Anfragen für neue Funktionen sollten direkt an den Ersteller der Erweiterung gerichtet werden, durch Besuch der angegebene Webseite. Viele Erweiterungsentwickler sind regelmäßige Nutzer des [https://forum.freecadweb.org FreeCAD-Forums], und können dort auch kontaktiert werden.
* Wenn das [https://github.com/gitpython-developers/GitPython GitPython] Paket auf deinem Computer installiert ist, wird der Erweiterungsverwalter davon Gebrauch machen, was das Herunterladen beschleunigt.
* Wenn das [https://github.com/gitpython-developers/GitPython GitPython]-Paket auf dem eigenen Computer installiert ist, wird der Addon-Manager davon Gebrauch machen, was das Herunterladen beschleunigt.
* Du kannst Erweiterungen auch manuell installieren. Siehe [[How_to_install_additional_workbenches/de|Wie man zusätzliche Arbeitsbereiche installiert]] und [[How_to_install_macros/de|Wie man Makros installiert]].
* Die Erweiterungen können auch manuell installiert werden. Siehe [[How_to_install_additional_workbenches/de|Wie man zusätzliche Arbeitsbereiche installiert]] und [[How_to_install_macros/de|Wie man Makros installiert]].
</div>


<span id="Information_for_addon_developers"></span>
==Informationen für Entwickler==
==Informationen für Addon-Entwickler==


Siehe [[Addon/de#Informationen für Entwickler|Erweiterung]].
Wenn du einen Arbeitsbereich oder ein Makro entwickelt hast und es im Erweiterungsverwalter sehen möchtest, lies auf den Repositoriumsseiten ([https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-Erweiterungen] und [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-Makros]), was zu tun ist. Wenn du dein Makro zu den [[Macros recipes/de|Makro Rezepte]] Seiten hinzufügst, ist nichts weiteres tun, denn es wird automatisch vom Erweiterungsverwalter ausgewählt.


<span id="Scripting"></span>
===Python Arbeitsbereiche===
==Skripten==


{{Version/de|0.21}}
Für Python Arbeitsbereiche benötigst du keine besondere Genehmigung, damit dein Arbeitsbereich zum Erweiterungsverwalter hinzugefügt wird, und da sie außerhalb des FreeCAD Quellcodes liegen, kannst du die gewünschte Lizenz wählen.
Wenn du darum anfragst, dass dein Arbeitsbereich in die Liste aufgenommen wird (wir werden keine neuen Arbeitsnbereich ohne eine Anfrage der Autoren hinzufügen), entweder durch eine entsprechende Anfrage im Forum oder durch das Öffnen einer Ausgabe im [https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-Erweiterungs] Repositorium, bleibt dein Code in deinem eigenen git Repositorium, wir fügen ihn einfach als Untermodul zum [https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-Erweiterungs] Repositorium hinzu. Natürlich werden wir, bevor wir deinen Arbeitsbereich hinzufügen, einen Blick darauf werfen und sicherstellen, dass es keine potentiellen Probleme damit gibt.


Einige Funktionen des Addon-Managers sind so ausgelegt, dass auf sie über FreeCADs Python-API zugegriffen werden kann. Im einzelnen kann ein Addon über die Python-Schnittstelle installiert, aktualisiert und entfernt werden. Die meisten Anwendungen dieser API erfordern, dass ein Objekt mit mindestens drei Attributen angelegt wird: {{Incode|name}}, {{Incode|branch}} und {{Incode|url}}. Zum Beispiel:
===C++ Arbeitsbereiche===

{{Code|code=
class MyAddonClass:
def __init__(self):
self.name = "TestAddon"
self.url = "https://github.com/Me/MyTestAddon"
self.branch = "main"
my_addon = MyAddonClass()
}}

Das Objekt {{Incode|my_addon}} ist jetzt Bereit für den Einsatz mit der Addon-Manager-API.

===Commandline (non-GUI) use===

If your code needs to install or update an addon synchronously (e.g. without a GUI) the code can be very simple:

{{Code|code=
from addonmanager_installer import AddonInstaller
installer = AddonInstaller(my_addon)
installer.run()
}}

Note that this code blocks until complete, so you shouldn't run it on the main GUI thread. To the Addon manager, "install" and "update" are the same call: if this addon is already installed, and git is available, it will be updated via "git pull". If it is not installed, or was installed via a non-git installation method, it is downloaded from scratch (using git if available).

To uninstall, use:

{{Code|code=
from addonmanager_uninstaller import AddonUninstaller
uninstaller = AddonUninstaller(my_addon)
uninstaller.run()
}}

===GUI use===

If you plan on your code running in a GUI, or supporting running in the full version of FreeCAD, it's best to run your installation in a separate non-GUI thread, so the GUI remains responsive. To do this, first check to see if the GUI is running, and if it is, spawn a {{Incode|QThread}} (don't try to spawn a {{Incode|QThread}} if the GUI is not up: they require an active event loop to function).

{{Code|code=
from PySide import QtCore
from addonmanager_installer import AddonInstaller

worker_thread = QtCore.QThread()
installer = AddonInstaller(my_addon)
installer.moveToThread(worker_thread)
installer.success.connect(installation_succeeded)
installer.failure.connect(installation_failed)
installer.finished.connect(worker_thread.quit)
worker_thread.started.connect(installer.run)
worker_thread.start() # Returns immediately
}}


Then define the functions {{Incode|installation_succeeded}} and {{Incode|installation_failed}} to be run in each case. For uninstallation you can use the same technique, though it is usually much faster and will not block the GUI for very long, so in general it's safe to use the uninstaller directly, as shown above.
Wenn du einen Arbeitsbereich in C++ entwickelst, kann er nicht direkt durch Benutzer ausgeführt, sondern muss zuerst kompiliert werden. Du hast zwei Optionen, entweder stellst du vorkompilierte Versionen deines Arbeitsbereichs für die verschiedenen Betriebssysteme zur Verfügung oder du solltest anfragen, dass dein Code in den FreeCAD Quellcode integriert wird. Dafür solltest du die LGPL Lizenz (oder vollkompatible wie MIT oder BSD) verwenden, und du musst deine neuen Werkzeuge der Gemeinschaft im [https://forum.freecadweb.org FreeCAD Forum] zur Überprüfung vorstellen. Sobald dein Code getestet und genehmigt wurde, solltest du, falls noch nicht geschehen, einen Fork für das FreeCAD Repositorium durchführen, einen neuen Zweig erstellen, deinen Code dorthin schieben und eine Pull Anfrage öffnen, so dass dein Zweig mit dem Haupt Repositorium zusammengeführt wird.




Line 94: Line 145:
|[[Std_DlgCustomize/de|DlgAnpassen]]
|[[Std_DlgCustomize/de|DlgAnpassen]]
|
|
|[[Std_Tools_Menu/de|Std Werkzeugmenü]]
|[[Std_Tools_Menu/de|Std Menü Werkzeug]]
|IconL=Std_DlgCustomize.svg
|IconL=Std_DlgCustomize.svg
|IconR=
|IconR=
Line 102: Line 153:
{{Std Base navi{{#translation:}}}}
{{Std Base navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Revision as of 10:21, 2 March 2024

Std AddonManager

Menüeintrag
Werkzeuge → Addon-Manager
Arbeitsbereich
Alle
Standardtastenkürzel
Keiner
Eingeführt in Version
0.17
Siehe auch
Externe Arbeitsbereiche, Makros

Beschreibung

Der Befehl Std Addon-Manager öffnet den Addon-Manager. Mit dem Addon-Manager können externe Arbeitsbereiche, Makros, und Voreinstellungspakete, die durch die FreeCAD-Gemeinschaft bereitgestellt werden, installiert und verwaltet werden. Standardmäßig stammen die verfügbaren Erweiterungen aus zwei Quellen, (GitHub) FreeCAD-Addons und von der Seite Makrorezepte. Wenn GitPython und git auf dem eigenen System installiert sind, werden zusätzliche Makros von (GitHub) FreeCAD-Makros geladen. Benutzerdefinierte Quellen können in den Voreinstellungen des Addon-Managers hinzugefügt werden.

Aufgrund von Änderungen an der GitHub-Plattform im Jahr 2020 funktioniert der Addon-Manager nicht mehr, wenn man die FreeCAD-Version 0.17 oder älter verwendet. Man muss auf die Version 0.18.5 oder neuer aktualisieren. Alternativ könen die Erweiterungen auch manuell installiert werden, siehe Hinweise unten.

Anwendung

  1. Den Menüeintrag Werkzeuge → Addon-Manager auswählen.
  2. Wird der Addon-Manager zum ersten Mal verwendet, wird ein Dialogfeld geöffnet, das darauf hinweist, dass die Erweiterungen im Addon-Manager kein offizieller Bestandteil von FreeCAD sind. Es enthält auch mehrere Optionen, die mit der Verwendung von Daten durch den Addon-Manager zusammenhängen. Hat man diese Optionen den eigenen Vorlieben entsprechend eingestellt, drückt man die Schaltfläche OK, um zu bestätigen und fortzufahren.
  3. Das Dialogfeld Addon-Manager öffnet sich. Für weitere Informationen siehe Optionen.
  4. Die Schaltfläche Alles aktualisieren funktioniert zurzeit nicht.
  5. Die Schaltfläche Schließen drücken, um das Dialogfeld zu schließen.
  6. Wenn ein Arbeitsbereich installiert oder aktualisiert wurde, wird ein neues Dialogfeld geöffnet, das darauf hinweist, dass FreeCAD neu gestartet werden muss, damit die Änderungen wirksam werden.

Optionen

  1. Der Addon-Manager stellt zwei Layouts zur Verfügung: "Schmal" and "Erweitert". In der "schmalen" Ansicht füllt eine Erweiterung eine einzelne Zeile und ihre Beschreibung wird gekürzt, um in den vorhandenen Platz zu passen. "Erweitert" stellt zusätzliche Einzelheiten dar, wie weiteren Beschreibungstext und auch Informationen für Bearbeiter, weitere Installationsdetails usw.
  2. Drei Arten von Erweiterungen werden unterstützt: Arbeitsbereiche, Makros, und Voreinstellungspakete. Man kann wählen, ob nur eine Art angezeigt wird oder alle in einer einzigen Liste.
  3. Die Liste kann so eingegrenzt werden, dass sie nur installierte Pakete, nur Pakete mit erhältlichen Aktualisierungen oder nur Pakete, die noch nicht installiert wurden, enthält.
  4. Die Liste kann gefiltert werden durch die Suche nach Schlüsselwörtern in Benennung, Beschreibung und Kennzeichen (Beschreibung und Kennzeichnung müssen vom Addon-Entwickler in den Meta-Daten angegeben werden). Der Filter kann sogar ein regulärer Ausdruck sein, für eine präzise Steuerung des genauen Suchbegriffs.
  5. Die erweiterte Ansicht zeigt enthaltene Versionsinformationen, Beschreibungen, Informationen für Bearbeiter und Informationen zur Version der Installation für Pakete mit einer Paket-Meta-Daten-Datei (oder für Makros mit eingebetteten Meta-Daten).
  6. Die Addon-Daten werden lokal zwischengespeichert, mit einer variablen Häufigkeit der Aktualisierung des Zwischnspeichers, festgelegt in den Benutzereinstellungen.
  7. Zu jeder Zeit kann die manuelle Aktualisierung des lokalen Zwischenspeichers ausgewählt werden, um die neuesten verfügbaren Aktualisierungen für alle Erweiterungen anzuzeigen.
  8. Die Suche nach Aktualisierungen kann auf automatisch eingestellt sein oder manuell erfolgen durch einen Klick auf eine Schaltfläche (festgelegt in den Benutzereinstellungen). Wenn GitPython und git auf dem eigenen System installiert sind, werden die Aktualisierungsinformationen unter Verwendung von git abgeholt. Wenn nicht, werden Informationen zu Aktualisierungen aus allen vorhandenen Meta-Daten-Datein ausgelesen.

Klickt man in dieser Ansicht auf eine Erweiterung, wird eine Seite mit Einzelheiten zu dieser Erweiterung geöffnet:

Diese Seite mit Einzelheiten zeigt Schaltflächen, die es erlauben Erweiterungen zu installieren, zu deinstallieren, zu aktualisieren und zeitweise zu deaktivieren. Sie listet die aktuell installierten Versionen mit dem Installationsdatum und ob es sich um die neueste verfügbare Version handelt. Darunter befindet sich ein eingebettetes Webbrowser-Fenster, das die README-Seite der Erweiterung anzeigt (für Arbeitsbereiche und Voreinstellungspakete), oder die Wiki-Seite (für Makros).

Einstellungen

Die Einstellungen für den Addon-Manager findet man im Voreinstellungseditor. eingeführt mit Version 0.20

Sorting by score

introduced in version 0.22

The Addon Manager supports sorting by a number of different criteria. Most of these are downloaded directly from FreeCAD's servers (which caches them from GitHub and the FreeCAD Wiki) but one, "Score," is not provided by FreeCAD at all, and only appears as an option if the Score Source URL setting is provided in the Preferences.

The Score Source URL is a path to a remote JSON-formatted document listing addons and a "score" of some kind. Score can be calculated in any way the data provider likes, but should be an integer value, with higher scores being "better" in some sense. Any addon not listed is assigned a score of zero internally. The format of the file is a single JSON dictionary where the key is the addon URL (for workbenches and preference packs) or the name of the macro (for macros). See this data source for an example (note the score there is simply the length of the addon's description, and is intended only for testing and demonstration purposes).

Hinweise

  • Die Verwendung von Erweiterungen ist nicht auf die FreeCAD-Version beschränkt, mit der sie installiert wurden. Sie können auch in jeder anderen FreeCAD-Version verwenden, die von der Erweiterung unterstützt wird, die möglicherweise auf dem eigenen System vorhanden ist.
  • Die im Addon-Manager verfügbaren Erweiterungen sind nicht Teil des offiziellen FreeCAD-Programms und werden vom FreeCAD-Kernentwicklungsteam nicht unterstützt. Man solltet die bereitgestellten Informationen sorgfältig lesen, um sicherzustellen, daß man weiß, was man installiert.
  • Fehlerberichte und Anfragen für neue Funktionen sollten direkt an den Ersteller der Erweiterung gerichtet werden, durch Besuch der angegebene Webseite. Viele Erweiterungsentwickler sind regelmäßige Nutzer des FreeCAD-Forums, und können dort auch kontaktiert werden.
  • Wenn das GitPython-Paket auf dem eigenen Computer installiert ist, wird der Addon-Manager davon Gebrauch machen, was das Herunterladen beschleunigt.
  • Die Erweiterungen können auch manuell installiert werden. Siehe Wie man zusätzliche Arbeitsbereiche installiert und Wie man Makros installiert.

Informationen für Addon-Entwickler

Siehe Erweiterung.

Skripten

eingeführt mit Version 0.21

Einige Funktionen des Addon-Managers sind so ausgelegt, dass auf sie über FreeCADs Python-API zugegriffen werden kann. Im einzelnen kann ein Addon über die Python-Schnittstelle installiert, aktualisiert und entfernt werden. Die meisten Anwendungen dieser API erfordern, dass ein Objekt mit mindestens drei Attributen angelegt wird: name, branch und url. Zum Beispiel:

class MyAddonClass:
    def __init__(self):
        self.name = "TestAddon"
        self.url = "https://github.com/Me/MyTestAddon"
        self.branch = "main"
my_addon = MyAddonClass()

Das Objekt my_addon ist jetzt Bereit für den Einsatz mit der Addon-Manager-API.

Commandline (non-GUI) use

If your code needs to install or update an addon synchronously (e.g. without a GUI) the code can be very simple:

from addonmanager_installer import AddonInstaller
installer = AddonInstaller(my_addon)
installer.run()

Note that this code blocks until complete, so you shouldn't run it on the main GUI thread. To the Addon manager, "install" and "update" are the same call: if this addon is already installed, and git is available, it will be updated via "git pull". If it is not installed, or was installed via a non-git installation method, it is downloaded from scratch (using git if available).

To uninstall, use:

from addonmanager_uninstaller import AddonUninstaller
uninstaller = AddonUninstaller(my_addon)
uninstaller.run()

GUI use

If you plan on your code running in a GUI, or supporting running in the full version of FreeCAD, it's best to run your installation in a separate non-GUI thread, so the GUI remains responsive. To do this, first check to see if the GUI is running, and if it is, spawn a QThread (don't try to spawn a QThread if the GUI is not up: they require an active event loop to function).

from PySide import QtCore
from addonmanager_installer import AddonInstaller

worker_thread = QtCore.QThread()
installer = AddonInstaller(my_addon)
installer.moveToThread(worker_thread)
installer.success.connect(installation_succeeded)
installer.failure.connect(installation_failed)
installer.finished.connect(worker_thread.quit)
worker_thread.started.connect(installer.run)
worker_thread.start() # Returns immediately

Then define the functions installation_succeeded and installation_failed to be run in each case. For uninstallation you can use the same technique, though it is usually much faster and will not block the GUI for very long, so in general it's safe to use the uninstaller directly, as shown above.