Pluginmanager auf der Kommandozeile
Wenn man mal nicht die Möglichkeit die Plugins über die Oberfläche zu verwalten oder einfach mal ein bereits an der passenden Stelle abgelegtes Plugin Stud.IP unterzuschieben, dann kommt einem dieses Tool gerade recht. Es liegt im Ordner cli
und kann von jeder Stelle aufgerufen unter dem Namen plugin_manager
aufgerufen werden.
Es bietet folgende Befehle:
1. Installieren einer Plugin-Datei
install pfad/zur/plugin.zip
Installiert das Plugin in der angegebenen ZIP-Datei.
Diese Aktion ist analog zu dem installieren eines Plugins über die Oberfläche.
2. Registrieren eines Plugins
register public/plugins_packages/origin/plugin
Wenn das Plugin bereits an der korrekten Stellen im Verzeichnisbaum von Stud.IP liegt, so kann man es hiermit im System registrieren. Es werden dabei etwaige Installations-SQL Dateien ausgeführt und fehlende Migrationen nachgezogen
3. Entfernen der Registrierung eines Plugins
unregister name_des_plugins
Entfernt das Plugin mit dem angegeben Namen aus dem System und führt alle "down"-Migrationen des Plugins aus.
4. Pluginmigrationen ausführen
migrate name_des_plugins [-l] [-v] [-t ''zahl']
-l
Listet nur auf was getan werden soll, migriert aber nicht.
-v
Schaltet den "verbose"-Modus ein. Es werden zusätzliche Informationen über die durchgeführten Migrationen angezeigt.
-t
zahl
Erlaubt einem die Zielmigration. Eine 0 führt zum zurücknehmen aller Migrationen, ansonsten wird zu der entsprechenden Migration (hoch oder runter) hinmigriert. Gibt man diesen Parameter nicht an, so wird automatisch bis zur aktuellsten Migration hochmigriert.
5. Plugin einschalten
activate name_des_plugins
Schaltet das angegebene Plugin ein
6. Plugin ausschalten
deactivate name_des_plugins
Schaltet das angegebene Plugin aus
7. Plugininfo anzeigen
info [name_des_plugins]
Zeigt Informationen zu einem einzelnen oder allen installierten Plugins an. Die Informationen werden aus der Datenbank gelesen, wenn das Plugin im Dateisystem nicht gefunden wurde, ist [class_exists] => 0 gesetzt.
Beispiel:
./cli/plugin_manager info Forum
[id] => 142
[name] => Forum
[class] => CoreForum
[path] => core/Forum
[type] => ForumModule,StandardPlugin,StudipModule
[enabled] => 1
[position] => 50
[depends] => 0
[core] => 1
[class_exists] => 1
8. Alle verfügbaren Plugins auflisten
scan
-> Listet alle Plugins auf, die im Dateisystem vorhanden sind, aber nicht in der Datenbank registriert sind.
Beispiel:
./cli/plugin_manager scan
[pluginclassname] => Achievements
[pluginname] => Achievements
[origin] => tgloeggl
[version] => 0.1.2
[path] => /path/to/trunk/public/plugins_packages/tgloeggl/Achievements