Metainformationen zur Seite
/opt/loxberry Meldung
Problem
Bei der Installation eines Plugins gibt es eine Warnmeldung mit folgendem Inhalt: " HARDCODED PATH'S: Das Plugin nutzt einen hardkodierten Pfad zu /opt/loxberry. Dies könnte zu Problemen führen und sollte vom Plugin-Author behoben werden"
Lösung
Bei der Installation jedes Plugins werden dessen Dateien auf den hart-kodierten String "/opt/loxberry" geprüft. Diese Prüfung erfolgt auch auf Kommentare. Somit wird ebenfalls die oben beschriebene Warnmeldung generiert, wenn der String "/opt/loxberry" in einem Kommentar gefunden wird.
Als Benutzer
- Informiere den Plugin-Entwickler über diese Meldung.
- Die Funktion des Plugins ist deswegen nicht eingeschränkt (bzw. wäre das nur in ganz, ganz speziellen Situationen der Fall). Wenn das Plugin nicht funktioniert, liegt es sehr wahrscheinlich nicht an dieser Meldung.
Als Entwickler
- Keine hartkodierten Pfade im Plugin verwenden. "Hartcodiert" bedeutet, dass du in deinen Scripts fest mit Pfadangaben z.B. /opt/loxberry/webfrontend/htmlauth/plugins/deinplugin arbeitest. Da LoxBerry die Basispfade des Plugins dynamisch bei der Installation vergibt, könnten deine hartcodierten Pfade bei manchen LoxBerry's nicht mehr stimmen.
- Keine Pfade in den Kommentaren verwenden.
Was kannst du tun, damit du auf hartcodierte Pfade verzichten kannst:
- In den Install-Bash-Script: LoxBerry übergibt deinen Scripts als Parameter die Pfade deines Plugins: Plugin für den Loxberry entwickeln (ab Version 1.x)
- In Perl-Scripten: Das Perl-Modul LoxBerry::System gibt dir globale Variablen zu deinen Plugin-Pfaden zurück: Perl-Modul LoxBerry::System
- In PHP-Scripten: Die PHP-Library loxberry_system.php gibt dir globale Variablen und Konstanten zu deinen Plugin-Pfaden zurück: PHP Module loxberry_system.php
- In Python/Node.red: Lies deine Plugin-Pfade aus der plugindatabase.json aus und verwende diese in deinem Script: plugindatabase.json / LoxBerry::System::PluginDB
- Überall möglich: REPLACE-Variablen verwenden: Automatisches Ersetzen der Plugin-Verzeichnisse (REPLACE)