Konkrete Version: 220.127.116.11 (Pre-Release)
In dieser Version wurden ein paar Fehler sowie Verbesserungen für Plugin-Entwickler durchgeführt.
PHP Logging performance
The PHP logging feature (LBLog::newLog (logging constructor PHP)) in practice showed up a major performance problem with initialization, LOGSTART and LOGEND.
The reason was an interface call from PHP to Perl, processing these events within the LoxBerry::Log Perl library to ensure identical logfile and database behaviour, and to reduce the development effort. That idea was great for daemons that run in the background, but was not usable for realtime applications like the Text-To-Speech engine in the Sonos plugin, as the bootup of Perl is too slow.
Therefore, we re-engineered these functions to natively do that stuff in PHP. Also the SQLite database features to keep track of logfiles are natively implemented in PHP now, and are fully compatible with LoxBerry::Log (e.g. the Perl showalllogs.cgi function will still show your PHP logfiles).
There are no changes in the calling interface - all your logging calls can stay as they are, and now are faster then light
Added missing bash environment variables LBPBIN, LBSBIN, LBSSBIN
We added the following missing envrionment variables LBPBIN, LBSBIN and LBSSBIN that redirect to the LoxBerry System- and Plugin-Binary directories.
Enhanced PHP Plugin folder detection
Unlike in Perl, the PHP loxberry_system.php library only could detect the current plugin folder of your plugin scripts inside of the webfrontend folders.
We transferred the full plugin detection from Perl to PHP, therefore now also the PHP library can detect your plugin within all plugin directories, and also in cronjobs and daemons.
Weitere Verbesserungen und Korrekturen
Mailserver configuration with better special char support
Changes to the Mailserver widget addressing comma and hash usage in SMTP username and password:
- Commas (,) are now supported
- Hashes (#) are still not supported due to a bug in ssmtp (Bugreport)
A hint is added in the mailserver form not to use # in username and password.
Periodic logfile housekeeping
A weekly job does housekeeping for logfiles:
- Logfile database entries without a corresponding file are removed
- Logfiles older than 30 days are removed
- Reduces the number of logfiles per plugin to the 20 newest
- Checks the RAM disk logfile storage - If less than 25% diskspace is free, remove the oldest logfiles until 25% are free again