Metainformationen zur Seite
What's New in V1.0.0
Neues, dynamisches Userinterface für Bildschirme, Tablets, Mobiltelefone
Das neue Userinterface kann auch am Display eines Mobiltelefons oder Tablets bedient werden. Selbst die Hilfe kann auf einem Tablet eingeblendet, und die Felder weiter befüllt werden.
Die Validierung der Eingabefelder wurde für LoxBerry neu entwickelt und die Fehlermeldungen erklären genau, was zu tun ist. Umlaute und Sonderzeichen sind beim Miniserver-Passwort kein Problem mehr.
Automatische Update-Funktion - Für Betriebssystem, LoxBerry, Plugins
Mit LoxBerry Update ist es rasch möglich, neue Versionen und Funktionen bereitzustellen, oder Fehler zu korrigieren. Mit automatischen Plugin-Updates direkt aus dem Plugin-Management kann eine Plugin-Aktualisierung ohne Mühen durchgeführt werden.
Neue Aktualisierungen können nur gemeldet werden, vollständig automatisch durchgeführt, oder komplett abgeschaltet werden.
Hostname und Port lassen sich einfach ändern
Wer mehrere LoxBerrys betreibt, und deswegen den Hostnamen selbst bestimmen muss, braucht nicht mehr in den Weiten der Config-Dateien suchen. Mit einem Klick ist der Hostname geändert.
Gleiches gilt für den Port des Webservers - für Anwender von HA-Bridge oder anderen Applikationen, die unbedingt Port 80 benötigen, kann der Port verlegt werden.
In den LoxBerry-Diensten bei den Webserver-Optionen findest du jetzt auch einen Button für den direkten Zugriff auf das Apache Logfile - wenn doch mal etwas schief geht.
Einfachere Navigation, klarere Informationen
Für mehr Platz am Bildschirm wurden Plugins und Systemeinstellungen getrennt. Von der Plugin-Seite kommst du direkt in die Plugin-Verwaltung und ins Plugin-Archiv.
Mit einer neuen Schaltfläche in der Fußleiste kommst du schnell zu den System-Einstellungen. Und sollte dein LoxBerry einen Neustart benötigen, wird er dir beim Power-Button angezeigt.
Vollständige Integration von Mehrsprachigkeit
LoxBerry kann jetzt direkt aus dem Userinterface in andere Sprachen übersetzt werden. Die Sprachdatei wird dabei generiert und kann direkt heruntergeladen werden. Neue Sprachen werden mit LoxBerry Update mitgeliefert.
Diese Funktion steht jedoch nicht nur dem System zur Verfügung, sondern auch allen Plugins. Freunde von LoxBerry und den Plugins können damit das Plugin in die eigene Sprache übersetzen, an die LoxBerry- oder Plugin-Entwickler übermitteln und in Zukunft steht die Sprache allen Benutzern zur Verfügung.
LoxBerry ist stabiler
Wie beim Miniserver hat auch die SD-Karte im Raspberry ein Ablaufdatum. Und das soll möglichst spät sein.
LoxBerry verwendet für Logdateien und regelmäßige Schreiboperationen jetzt die RAM-Disk. Standardmäßig ist MySQL nicht mehr installiert, der viele Schreibzugriffe verursacht hat. Dienste wurden auf das Minimum an Schreibzugriffen optimiert.
Und zur Sicherheit: Verwende das LoxBerry Backup Plugin für automatische, zeitgesteuerte Backups deines LoxBerrys.
LoxBerry unterstützen
Wir freuen uns über deine Beteiligung, um LoxBerry in deine Muttersprache zu übersetzen.
Fehler, die du findest, melde bitte - so ausführlich wie möglich - bei Github. Ebenso kannst du dort Wünsche einbringen.
Immer begehrt sind Spenden: Aber nicht bei uns, sondern bei karikativen Organisationen. Schau ins Spenden-Widget.
Mehr Details
LoxBerry hat vom Sprung auf die neue Version einen vollständig überarbeiteten Unterbau bekommen. Das betrifft nicht nur das Betriebssystem (Umstellung von Raspbian Jessie auf Raspbian Stretch), sondern den gesamten LoxBerry-Aufbau.
Das LoxBerry-Grundsystem verwendet jetzt ein Template-System, das in gleicher Weise für das System als auch für Plugins verwendet werden kann. Die multilinguale Unterstützung mit Sprachdateien ist vollständig in LoxBerry integriert und steht ebenso den Plugins zur Verfügung. Die Systemsprache ist dabei nun englisch, mit Übersetzungsdateien können andere Sprachen mitgeliefert, und sogar selbst übersetzt werden.
Die Plugin-Schnittstelle wurde für Plugin-Entwickler erheblich erweitert. Viele früher erforderliche Workarounds aufgrund von Rechteproblemen wurden durch integrierte Funktionen behoben. Die Problematik von Plugin-Entwicklern, die richtigen Verzeichnisse zu finden, sind mit systemweiten Umgebungsvariablen adressiert. PHP kann jetzt direkt für die Erstellung der Benutzeroberfläche verwendet werden, und es stehen mit funktionsidenten Modulen für Perl und PHP alle Funktionen bereit, um beispielsweise die LoxBerry-HTML-Header und -Footer einzubinden, oder Daten beispielsweise der Miniserver abzurufen.
LoxBerry bietet ein vollständig integriertes Update-Management sowohl für das Betriebssystem, für LoxBerry und auch für Plugins. Fehler in LoxBerry oder in Plugins können durch automatische Updates in kürzester Zeit behoben und ausgeliefert werden. Mit LoxBerry Update kann man wahlweise manuell oder automatisch auf den neuesten Release, Pre-Release oder sogar auf den letzten Commit-Stand updaten. Mit der Plugin-Update-Funktion können Plugin-Entwickler Korrekturen und neue Funktionen über ein einfaches Update-System bereitstellen, die der LoxBerry-Anwender manuell oder automatisch installieren kann, ohne selbst Hand anlegen zu müssen.
Bei allen Update-Funktionen ist einstellbar, ob automatisch aktualisiert werden soll, ob man benachrichtigt werden will, oder ob man ganz verzichten möchte - Niemand wird gezwungen, ständig neue Versionen einzuspielen, statt auf einem funktionierenden Stand zu bleiben.
Für Benutzer, die mehrere LoxBerrys verwenden, kann der Hostname geändert werden, es können im legacy-Verzeichnis auch eigene Webanwendungen betrieben werden, und sollte der Port 80 z.B. für HA-Bridge benötigt werden, lässt sich LoxBerry über das Webinterface auf einen anderen Port verlegen.
LoxBerry verwendet jetzt responsive design, d.h. die Weboberfläche eignet sich jetzt nicht nur für die Konfiguration von Plugins am PC-Bildschirm, sondern in Zukunft möglicherweise auch für Anwendungen, die direkt am Mobiltelefon oder Tablet genutzt werden.
Plugins für LoxBerry 0.2.3 sollten in der Regel mit dem neuen LoxBerry kompatibel sein. In der Plugin-Übersicht wird von Plugin-Entwicklern dokumentiert, ob deren Plugins bereits mit dem neuen LoxBerry getestet wurden. So fällt die Entscheidung leichter, ob ein Update jetzt oder erst später passender ist.
Zahlen und Fakten
Der LoxBerry Version 0.2.3 ist seit 4. Oktober 2016 veröffentlicht. Zwischendurch gab es - außer einer Aktualisierung, um den Raspberry 3 zu unterstützen und einer Version, um die Kompatibilität für die nächste LoxBerry Version herzustellen - keine neue Version.
Nach knapp eineinhalb Jahren präsentiert das Loxberry-Core Team, das sind Michael Schlenstedt als Begründer, Christian Fenzl, Sven Thierfelder und Christian Wörstenfeld den neuen LoxBerry V1.0.
An dieser Stelle ein RIESEN DANKESCHÖN an das Core-Team. Von ihnen stammt 99,9% des neuen Codes, 99,9% der Dokumentation im Wiki und 99,9% der Ideen im neuen LoxBerry. Ohne sie wäre diese LoxBerry Version vermutlich nie entstanden. Auf jeden Fall hätten wir sie nicht in so kurzer Zeit fertigstellen können.
Aber nicht nur die Core-Entwickler waren beteiligt. Am Beta-Test des neuen LoxBerrys, für den wir Verschwiegenheit über die neuen Funktionen ausgemacht haben, haben sich alle Plugin-Entwickler beteiligt, Fehler und Verbesserungsvorschläge ausgemacht, und - zugegeben - war es in der entsprechenden WhatsApp-Gruppe auch immer recht lustig und entspannt.
Deswegen auch Danke an (in irgendeiner Reihenfolge) Lukas, Michael Miklis, Oliver Lewald, Peter Bazala, Tholle, Dieter Schmidberger. Sicher auch für die LoxBerry-Benutzer schön zu hören, dass neben den Tests auch gleich neue Funktionen und Korrekturen in den Plugins erfolgten.
Die neuen Funktionen - allem voran sind die automatischen Updates für Raspbian, LoxBerry und die Plugins zu nennen - können im What's New in V1.0.0 nachgelesen werden.
Mit LoxBerry und den Plugins sparst du in deinem Smart Home vielleicht keine 50.000 Handgriffe. Aber es genügt oft nur eine einzige Sorge weniger beim Verbinden deines Smart Homes mit dem Rest der Welt. Deswegen mach's dir einfach. Mach's mit LoxBerry.
Viel Spaß mit LoxBerry V1.0 - BEYOND THE LIMITS!
LoxBerry V1.0 Entwicklung in Zahlen
Auch wenn niemand Stunden gezählt hat, erfasst unsere Code-Verwaltung bei GitHub Zahlen über unsere "Performance":
- Die Hauptentwicklungszeit an LoxBerry V1.0 (damals als Code-Versionsnummer 0.3.x Saruman) war von Oktober 2017 bis Januar 2018.
- Die Closed-Beta-Phase mit den Plugin-Entwicklern startete am 6. Januar 2018.
- 126 erfasste Bugs wurden behoben
- 95 erfasste Verbesserungsvorschläge (darunter ganze "Projekte") wurden umgesetzt
- 1.027 Commits, also kleine bis große Änderungen an Funktionen, wurden eingebracht
- Etwa 20.000 Codezeilen hat LoxBerry mehr. Wobei es praktisch keine Datei gibt, die nicht be- oder überarbeitet wurde.
- Das LoxBerry Wiki enthält ca. 100 neue Artikel für Plugin-Entwickler zur Beschreibung der neuen Systemfunktionen (SDK)
- Der Haupt-Entwicklungstag ist der Sonntag, gefolgt vom Samstag (Lächeln) Steht so in der Statistik!
- Der Slogan BEYOND THE LIMITS entstand am 30. November 2017 um ca. 9:00 Uhr, in einer PM-Gruppenkonversation im loxforum.com
Changelog
Hier sind die wichtigsten Änderungen für Benutzer und Plugin-Entwickler aufgeführt.
Benutzer
- Setup-Assistent:
- Der Setup-Assistent wurde auf die wichtigste Funktion, das Setzen der Sprache und aller Kennwörter, reduziert.
- Die Zugangsdaten können auch als Datei heruntergeladen werden.
- Die Ausführung des Setup-Assistenten ist freiwillig und kann abgebrochen werden. Es wird dringend empfohlen, den Assistenten durchzuführen und sichere Kennwörter zu setzen!
- Alle weiteren Einstellungen können direkt in den Widgets vorgenommen werden.
- User Interface:
- Für eine bessere Übersicht werden Plugins und Systemeinstellungen nun auf zwei Seiten angezeigt, zwischen denen man hin- und herwechseln kann. In der Fußleiste findest du jetzt auch einen Button, um schnell zu den Einstellungen zu wechseln.
- Das gesamte User-Interface wurde auf sogenanntes "Responsive Design" umgestellt - die Oberfläche passt sich an die Größe des Bildschirms an und kann jetzt besser mit Mobiltelefonen und Tablets verwendet werden. (Innerhalb von Plugins ist dies von der Gestaltung des Plugin-Entwicklers abhängig.)
- Während die Hilfe eingeblendet ist, kann die Webseite weiter bedient werden.
- Jedem LoxBerry kann ein eigener Name gegeben werden, der frei definierbar ist. Dieser Name wird immer in der Titelzeile angezeigt. So kann man schnell mehrere LoxBerry's unterscheiden. Diesen Namen kannst du in "Mein LoxBerry" anpassen.
- LoxBerry verwendet nun Benachrichtigungen im User Interface.
- Die Formular-Validierung wurde neu entwickelt und die Fehlermeldungen bei falschen Angaben überarbeitet.
- Formulare wurden überarbeitet, um nur die relevanten Formularfelder anzuzeigen.
- Automatische Updates:
- LoxBerry führt nun standardmäßig alle 7 Tage automatische Security-Updates für Debian/Raspbian durch und rebootet ggf. auch automatisch. Dies kann im System-Menü "Updates" umgestellt werden.
- LoxBerry Update führt nun automatische Updates von LoxBerry durch. Diese Update-Verwaltung ist voll ins System integriert und erlaubt sehr rasche Hotfixes und Erweiterungen von LoxBerry ohne manuelle Eingriffe. LoxBerry Update findest du ebenfalls unter Update. Dort kann man die Updatefunktion konfigurieren (Zeitplan, Releases oder Pre-Releases) und manuell starten
- Plugin Updates: Wenn Plugins dies unterstützen, kannst du Plugins automatisch aktualisieren lassen. Die Konfiguration findest du in der Plugin-Verwaltung. Das jeweilige Plugin muss diese neue LoxBerry-Funktion unterstützen.
- Miniserver:
- Das bzw. die Miniserver-Logs können direkt unter Miniserver aufgerufen werden.
- Umlaute und Sonderzeichen im Miniserver-Benutzername und -Kennwort werden unterstützt (entsprechend der Loxone Begrenzungen. Eventuell bestehen Abhängigkeiten in den Plugins)
- Die Prüfung der Miniserver-Authentifizierung kann direkt bei der Konfiguration durchgeführt werden, ohne jedesmal speichern zu müssen.
- Plugin-Übersicht im LoxWiki:
- Die Plugin-Übersicht im LoxWiki wird die primäre Datenbank für LoxBerry-Plugins. Dort bitte den Download-Links folgen.
- Das Plugin-Archiv auf loxberry.de wird mittelfristig eingestellt.
- Eine eigene Spalte bei den Plugins im Wiki zeigt die Kompatibilität jedes Plugins für Version 0.2.3 und Version 1.0. Speziell in der Umstiegsphase ist das eine Hilfe, ob die Wunschplugins auf der neuen Plattform funktionieren.
- Verwendungszähler:
- Der LoxBerry hat jetzt einen Verwendungszähler. Wir können damit zählen, wie viele unterschiedliche aktive LoxBerrys laufen.
- Die Erfassung ist vollständig anonym und nicht rückverfolgbar.
- Erfasst wird die LoxBerry-Version und die Plattform (ARM, x86, x64)
- Wir werden diese Zahlen als Grafik auf loxberry.de veröffentlichen.
- Wenn du dies nicht möchtest, kannst du das in Mein LoxBerry abschalten.
- Eigene Inhalte betreiben:
- Um eigene Webseiten und Scripte zu betreiben, ist nun eine eigene, vom Webbrowser erreichbare Verzeichnisstruktur möglich. Siehe Eigene Webseiten und Scripte am LoxBerry betreiben
- Sonst dürfen außer dem LoxBerry-Core System und den Plugins innerhalb des
/opt/loxberry
-Ordner keine Dateien oder Installationen abgelegt werden. Diese werden bei einem Update gelöscht! - Eigene Installationen deswegen in einem Ordner außerhalb von
/opt/loxberry
ablegen. - Weitere Neuerungen und Änderungen:
- Am Raspberry 3 ist standardmäßig Bluetooth unterstützt.
- Der HiFiBerry wird standardmäßig unterstützt.
- Logfiles werden jetzt generell in der RAM-Disk gehalten zur Reduktion der Schreibzugriffe. Das Systemlog bleibt zur Fehlersuche bei Boot-Problemen weiterhin als Datei auf der SD-Karte.
- Der Fehler, dass der LoxBerry (genauer gesagt Raspbian) trotz fixer IP-Adresse trotzdem per DHCP eine zweite IP-Adresse anfordert, tritt nicht mehr auf.
- Der Hostname von loxberry kann geändert werden. Die Einstellung findest du unter „Netzwerk“.
- Nicht nur Entwickler, sondern auch Benutzer können jetzt selbst neue Übersetzungen für LoxBerry und Plugins erstellen. Dies erfolgt direkt im Webinterface im Translate Widget. (Plugins in Perl oder PHP müssen dafür das LoxBerry-Templatesystem nutzen).
Plugin-Entwickler
- Systembasis ist jetzt Raspbian Stretch.
- Im Widget "LoxBerry Dienste" kann man das Apache Errorlog "live" auch direkt über das Webinterface öffnen.
- LoxBerry verwendet jetzt PHP 7
- Manche Funktionen von PHP5 könnten in PHP7 nicht mehr funktionieren. Bitte den Migrations-Guide für PHP lesen: http://php.net/manual/de/migration70.php
- Die Plugins dürfen per
apt
keine Libs nachinstallieren, die explizit PHP5 verlangen (z.B. stattphp5-sqlite
mussphp-sqlite3
installiert werden). Wird das nicht geändert, wird LoxBerry PHP5 installieren, es wird aber trotzdem nicht funktionieren. php-curl
ist standardmäßig installiert (war's auch früher schon).
- Die LoxBerry-Verzeichnisse stehen als Environment-Variablen bereit und sollen in Shell-Scripts verwendet werden.
- Perl:
- Das System-Modul LoxBerry::System stellt globale Variablen für das Plugin bereit und kann direkt mit use LoxBerry::System eingebunden werden.
- Das System-Modul LoxBerry::Web unterstützt bei der Darstellung der Templates und bei der Mehrsprachigkeit
- Das System-Modul LoxBerry::Log unterstützt als integrierte Systemkomponente beim Erstellen von Logfiles.
- Die genannten Module sollen verwendet werden. Die Module bieten eine Menge praktische Funktionen und sind update-sicher.
- Unter anderem kann, integriert ins Template-System, auf einfachste Weise eine Navigation Bar dargestellt werden (z.B. um zwischen Haupt- und Einstellungsseite zu wechseln), siehe Navigation Bar (Perl).
- PHP:
- Das PHP Module loxberry_system.php stellt die gleichen Systemfunktionen bereit wie das Perl-Modul LoxBerry::System und sollte eingesetzt werden.
- Das PHP Module loxberry_web.php stellt die gleichen Systemfunktionen wie das Perl-Modul bereit, unter anderem das native Einbinden von Template-Header, -Footer, Hilfe, Multi-Language Support.
- Wie bei Perl ist die Einbindung der Navigation Bar direkt integriert.
- Alle Sprachen: Auch im daemon sind alle Umgebungsvariablen verfügbar, sowie ist das Einbinden der Perl- bzw. PHP-Module möglich.
- Im Plugin können zur Laufzeit eigene Cronjobs erstellt werden. Es wird ein eigenes crontab-File bereitgestellt, worauf das Plugin Schreibrechte hat.
- Da das komplette log-Verzeichnis nun in der RAM-Disk liegt, sind die Logverzeichnisse nach einem Reboot leer. Das Plugin muss damit umgehen können, dass es bei Nicht-Vorhandensein seines Logfiles dieses selbst erstellt.
- MySQL ist nicht mehr im Standard-Image enthalten (Schonung SD-Karte).
- cpanminus ist standardmäßig mitinstalliert. Mit cpanminus können Perl-Module, die nicht als Debian-Pakete vorliegen, nachinstalliert werden. Der bevorzugte Weg sollte bleiben, Perl-Module als Debian-Paket in apt nachzuinstallieren.
- Der User loxberry ist standardmäßig in der audio-Gruppe, womit er vollen Zugriff auf die Audio-Devices hat.
- Der User loxberry ist standardmäßig in der gpio-Gruppe, womit er vollen Zugriff auf die GPIO's hat.
- Da der Hostname geändert werden kann, sollen Plugins, wenn erforderlich, den Hostnamen auslesen (siehe Perl/PHP-Modul), bzw. im Plugin darauf hinweisen, dass z.B. generierte URL‘s vom Benutzer anzupassen sind.
- Anmeldedaten der Miniserver werden in der general.cfg jetzt URL-encoded gespeichert, um Umlautprobleme bei der Anmeldung zu vermeiden. In Perl liefert LoxBerry::System::get_miniservers() bzw. PHP LBSystem::get_miniservers() eigene Variablen für die Credentials im Normalformat und RAW zurück.
- Migrationspfad für Plugins:
- Bei Benutzern ohne Sonderzeichen funktionieren die Zugriffe mit allen Protokollen wie bisher.
- Bei Benutzern mit Sonderzeichen funktioniert der Webzugriff ebenfalls wie bisher, da die Authentisierung am Miniserver mit URL-encoded Zeichen umgehen kann.
- Plugins die FTP-Zugriff durchführen, müssen die Credentials jetzt URL-decoden, wenn Sonderzeichen unterstützt sein sollen.
- Bei Perl bzw. PHP sollte auf LoxBerry::System/LBSystem und get_miniservers() umgestellt werden.
- Im Plugin und während der Installation kann nun einfach überprüft werden, auf welcher Hardware-Plattform das Plugin ausgeführt bzw. installiert werden soll. zudem kann die Raspberry-Revision ausgelesen werden.
- LoxBerry Update:
- Die LoxBerry Update Funktion ermöglicht, dass das LoxBerry-Core Team rasch Fehler im Hauptsystem ausbessern kann, und auch Systemeinstellungen nachziehen, wenn das erforderlich ist. LoxBerry Update schließt dabei automatisch sämtliche Plugin-Verzeichnisse, sowie die benutzerspezifische LoxBerry-Konfiguration (z.B. die general.cfg) aus.
- Nach jedem LoxBerry Update werden die Standardberechtigungen der System-Dateien am gesamten LoxBerry (auch außerhalb von /opt/loxberry) zurückgesetzt.
- Wenn ein Plugin an Permissions etwas ändert (chown oder chmod), am besten die Datei /opt/loxberry/resetpermissions.sh ansehen, was wir hier machen.
- Bitte erstelle ein Issue, warum du Rechte ändern musst und wie du das machst - Wir helfen dir weiter, das zu umgehen.
- Automatische Sicherheits-Updates von Raspbian:
- Wir halten das für einen wichtigen Punkt, dass Sicherheitsupdates von Debian/Raspbian installiert werden. Um Kompatibilitätsprobleme zu vermeiden, werden nur Sicherheitsupdates, keine Komplettupdates durchgeführt. Wir haben leider nicht in der Hand, welche Sicherheitsupdates installiert werden, und wie sich diese auswirken. Wir glauben nicht, dass das Auswirkungen auf Plugins hat - sollte es dazu kommen, bitte gib uns Bescheid, damit wir das evt. im Rahmen eine LoxBerry Updates schnell korrigieren können.
- Plugin Updates:
- Plugin-Entwickler haben die Möglichkeit, ihr Plugins automatisch aktualisieren zu lassen. Es ist dabei möglich, Releases und Pre-Releases auszuliefern. Anleitung dazu folgt.
- In der Titelzeile wird immer der Name des LoxBerry angezeigt. Das passiert automatisch - als Plugin-Entwickler muss man sich darum nicht kümmern.
- Es sind nun - zumindest vorübergehend - die Page Transitions von jQuery Mobile deaktiviert. Diese Page Transitions ermöglichten einen flüssigen Übergang ohne sichtbares Nachladen. Durch das von jQuery Mobile verwendete Verfahren des AJAX-Seiten-Reloads ist spezielle Eventsyntax beim Laden der Seite bei JavaScript-Code erforderlich, der weder von Core- noch Plugin-Entwicklern eingesetzt wurde. Die Folge war nicht funktioniernde JavaScript Events (z.B. Buttons funktionieren nicht bzw. nur beim Seiten-Refresh usw.)
- Durch das Responsive Template wird das Layout auf Mobilgeräten größer. In Plugins mit statischem Tabellenlayout muss auf Mobilgeräten deswegen möglicherweise gescrollt werden. Nach Möglichkeit wird zukünftig auf altes Layouting mit Tabellen verzichtet und wie heute üblich mit CSS und DIV-Blöcken gelayoutet.
- Plugin-Interface V2
- Das Plugin kann ein eigenes sudoers File mitliefern, in dem der Entwickler Programme hinterlegen kann, die direkt mit "sudo" als root ausgeführt werden können.
- Das Plugin kann festlegen, auf welcher Architektur das Plugin lauffähig ist, und andere Architekturen verhindern.
- Zudem kann das Plugin im Installscript die Architektur abfragen, um beispielsweise für unterschiedliche Architekturen unterschiedliche Binaries zu installieren.
- Im Plugin kann definiert werden, ob es Auto-Update anbietet. Die Einstellungen des Updates (Zeitplan, Auto-Update/Notify/Aus und ob Release oder Prerelease) wird vom Benutzer selbst ausgewählt.
- Das Plugin kann LoxBerry direkt informieren, dass ein Reboot notwendig ist. LoxBerry zeigt dies bis zum Reboot präsent im Userinterface an.
- Ein installiertes Plugin kann den Benutzer über das Userinterface auf einen nötigen Reboot hinweisen (z.B. wenn eine Änderung einer Einstellung einen Reboot erfordert):
- Dazu an das (evt. noch nicht vorhandene) File
$lbslogdir/reboot.required
einen Text anhängen - In das File appenden: Einen Text (inklusive Plugin-Name), der beschreibt, warum rebootet werden muss.
- Der nötige Reboot wird in der Fußzeile angezeigt.
- In der Power-Übersicht werden die Texte angezeigt, die im
reboot.required
File stehen.
- Plugin-Installation (unabhängig von der Version der Plugin-Schnittstelle):
- Fehler und Warnungen bei der Installation werden dem Benutzer jetzt am Ende des Logs gesammelt zusammengefasst, um einen schnellen Überblick über Probleme zu liefern.
- Während der Installation wird eine Suche nach dem statischen Pfad (Text)
/opt/loxberry
durchgeführt. Fundstellen werden dem Benutzer als Warnung ausgegeben. Plugin-Entwickler sollten keine statische Pfadangabe verwenden, sondern die verfügbaren Environmentvariablen. Die Suche kann keine Kommentare oder dergleichen erkennen, deswegen könnten die Warnungen irreführend/fehlerhaft sein. - Die Plugin-Installation ersetzt jetzt automatisch Konstanten in allen Textdateien des Plugins durch die entsprechenden Pfade, u.a.
REPLACELBHOMEDIR
,REPLACELBPPLUGINDIR
, usw. Damit ist es möglich, die richtigen Pfade direkt während der Installation einsetzen zu lassen. Siehe Plugin für den Loxberry entwickeln (Version 1.x) - Wird ein
sudoers
-File mit entsprechenden Einträgen mitgeliefert, kann nun bereits im postinstall mit "sudo <scriptname>" - Bisher galt als Leitlinie, dass das Plugin als Icon die Button-Optik verwendet. Diese Button-Optik ist keine Empfehlung mehr. Das Icon kann inkl. Transparenz frei gestaltet und (wie bisher) als PNG in den vorgegebenen Auflösungen bereitgestellt werden.
- Änderung der Verzeichnisstruktur: Das Verzeichnis webfrontend/cgi heißt nun webfrontend/htmlauth.
- htmlauth ist mit LoxBerry-Authentifizierung, html ohne Authentifizierung.
- In beiden Verzeichnissen können jetzt .cgi (Perl), .php und .html Dateien verwendet werden.
- htmlauth ist über die URL http://loxberry/auth/plugins/<PLUGINNAME> erreichbar, html über die URL http://loxberry/plugins/<PLUGINNAME> (innerhalb eines Plugin niemals voll qualifizierte URI's mit http://loxberry/… verwenden, da der Hostname und Port geändert werden kann. Immer ohne Hostangabe verwenden z.B. /auth/plugins/<PLUGINNAME>)
- Verwendet man innerhalb von Plugins den Hostnamen localhost in der URI, erfolgt auch bei htmlauth keine Authentifizierung. Da dann aber zwangsweise eine voll qualifizierte URI verwendet werden muss, unbedingt den Apache-Port aus der Konfiguration ermitteln (PHP und Perl:
$port = lbwebserverport();
) und der URI entsprechend anhängen! - Jedes Plugin muss in htmlauth mindestens ein index.cgi, index.php oder index:start bereitstellen, worauf die Pluginübersicht verlinkt (bisher: nur index.cgi möglich)
- Migratonspfad für Plugins:
- Bei Plugins der Pluginschnittstelle V1 (LoxBerry 0.2.3) werden die Dateien bei der Installation automatisch in htmlauth abgelegt.
- Das ursprüngliche cgi-Verzeichnis wird als Link ins htmlauth-Verzeichnis erzeugt, womit alte Pfadangaben weiterhin funktionieren
- Der HTTP-Pfad bleibt unverändert.
- → Plugins mit Pluginschnittstelle V1 funktionieren ohne Änderung weiter
- Neue Plugins der Pluginschnittstelle V2 (LoxBerry 1.x) sollen grundsätzlich die bereitgestellten Environmentvariablen und/oder die globalen Variablen der Perl- bzw. PHP-Module verwenden.
- jQuery wurde von Version 1.8.2 auf Version 1.12.4 gehoben.
- Sample-Plugins:
- Es gibt zwei unabhängige, installierbare und lauffähige Sample-Plugins, einmal für Perl, einmal für PHP (PHP noch nicht verfügbar)
- Plugin-Archiv auf loxberry.de
- Wir kündigen das Auslaufen des Plugin-Archivs auf www.loxberry.de an.
- Das Archiv wird noch verfügbar sein und wir werden die Plugin-Entwickler rechtzeitig über die endgültige Schließung der Download-Funktion aufmerksam machen.
- Die primäre Plugin-Dokumentationsseite wird die Plugin-Übersicht hier im Wiki unter Plugins.
- Wir empfehlen, auf loxberry.de hinterlegte Dokumentation in den Plugin-Artikel im Wiki zu übernehmen, und sollte noch kein Wiki-Artikel existieren, einen anzulegen.
- Für die Download-Funktion empfehlen wir die Einrichtung eines GitHub-Kontos und die dortige Verwendung von Releases. Das Plugin-AutoUpdate ist dafür entworfen.
- Alternativ werden wir am Download-Server für jeden Plugin-Entwickler einen eigenen Speicherbereich zur Verfügung stellen, der ebenfalls für das Plugin-AutoUpdate verwendet werden kann.
- Der Link auf der Plugin-Seite des LoxBerry's führt nun ins Wiki zu den Plugins.
- Plugin-Liste im Wiki: Eine neue Spalte "Kompatibilität" für LB 0.2.3 und LB 1.x wird - speziell für die Übergangsphase - eingeführt.
- Wir werden zu Beginn alle Plugins auf den Status LB 1.0 setzen, wenn das Plugin vom Entwickler auf der neuen Plattform noch nicht getestet wurde.
- Wurde vom Entwickler das Plugin erfolgreich getestet, kann dieser selbst den Status auf LB 1.0 setzen.
- Ist das Plugin nicht kompatibel, dann natürlich LB 1.X.
- Wenn es Schwierigkeiten mit der neuen Plattform gibt, dann bitte in der Plugin-Beschreibung gesondert darauf eingehen, und LB 1.0 setzen.
- Plugins, die neu unter LoxBerry 1.x entwickelt werden, sollten die selben Labels für LB 0.2.3 verwenden. Wird die Pluginschnittstelle V2.0 verwendet, und/oder die Module LoxBerry::System und LoxBerry::Web, ist das Plugin grundsätzlich nicht kompatiblel LB 0.2.3.
Image-Erstellung
- Systembasis ist jetzt Raspbian Stretch. Äquivalent dazu ist Debian 9.
- Die Image-Erstellung wurde stark vereinfacht. Sehr viele Tasks sind jetzt gescriptet. Siehe Eigenes Image erstellen (LoxBerry V1.x)
- Es ist wichtig, dass die Architektur richtig gesetzt wird. Die Plugin-Ersteller haben jetzt die Möglichkeit, entsprechend der Architektur beispielsweise unterschiedliche Binaries (z.B. für ARM oder x64) zu installieren. Deswegen ist es wichtig, dass keine falschen Angaben im Image gemacht werden.