benwillies.com

Major Upgrades

HTML5 Compliance
 Sunday, August 15, 2021

The framework has been significantly upgraded to be fully HTML5 compliant and all of the old workarounds have been removed, particularly concerning how the buttons work. However, only the more recent browser versions are supported now, beginning with Internet Explorer 10 and Safari 13 (Mac OS X High Sierra). Also, any custom applications built with the framework will require some changes to the CSS files and perhaps a few minor code changes. The best approach is to make a copy of your application along with the old framework directory, making sure to point the symlinks to the framework copy, and then install the new framework directory and slowly work through your custom application php scripts repointing each one to the new framework code to see if anything breaks (typically it will only be cosmetic issues requiring a change to your custom stylesheet). Note that the method of supporting custom CSS files in the framework has changed. Instead of making a copy of the entire basic CSS file and then modifying it for your application, the new approach is to create your new stylesheet and then import the basic.css file. The CSS design tool will then automatically copy any classes as you modify them into your new stylesheet. You will also notice that the index scripts no longer use tables for layout but this necessitated that some of the markup functions return their html inside DIVs instead of TDs so that will require a script change (see markup_main_banner).
PHP 7.2 Fully Supported Now
 Wednesday, November 28, 2018

The mcrypt library was deprecated with the release of PHP 7 and removed in version 7.2 in favor of OpenSSL. If the mcrypt library has been installed in your version of PHP, then the framework will use it, otherwise OpenSSL will be used. If you upgrade to a version of PHP that does not have the mcrypt library, you can convert your existing application to OpenSSL by logging-out of your application and then using MySQL to clear the confirm_key in the Users table for your user record only and then immediately logging back into your application. An empty confirm_key for the configured master administrator user is the signal to the framework that all of the encrypted data for all users should be re-encrypted. This procedure also works if you want to change the master passphrase in the configuration file for your application. Note that the master passphrase is not really a password but rather the seed for the encryption algorithm so no need to stress about it.
Database Account Management
 Tuesday, July 24, 2018

MySQL user logins can now be managed by the framework, which allows password complexity rules and expiration periods to be enforced across all your DB servers. You can also plug-in custom services for consuming any API so accounts and passwords for third-party applications, like Salesforce, can also be managed by the framework.
Distributed Queries
 Saturday, February 27, 2016

You can now run an Ad Hoc Report query in parallel on multiple DB servers and when all the threads have finished processing, the results from each one are consolidated into a single report. The servers are identified as nodes in the configuration file and are selected on the Edit Query page. The author of the report will need to know when enabling a distributed query is a good idea and also which servers to target for the particular query. Typically, in a master-slave environment, you would only run a report on either the master or the slave, not both. However, there may be a process running independently on the master and the slave, perhaps collecting performance statistics unique to that server, so having a single report that gathers data from both servers is very convenient, especially because the queries are run simultaneously with very little overhead. But this feature really shines in highly distributed architectures consisting of cloned servers in multiple data centers. The only caveat is that summary reports will not be fully aggregated across the entire report. Please note that this distributed query feature is fully supported in the reporting api services. In addition, the caller of the run_report service can optionally specify that only one of the nodes will run the query.
PHP 5.4/HTML 5/CSS 3 Upgrade
 Sunday, December 29, 2013

The framework has been extensively upgraded to fully support many of the new features in HTML 5 and CSS 3, like gradients, rounded corners, shadows and drag & drop multi-file uploading. Most of the buttons, controls and popup dialogs have been converted to custom CSS 3 objects instead of using the browser defaults, so your site will look the same in all browsers and devices. The downside is that browsers older than IE 9 are no longer supported. Note that many of these features are not used within the framework itself but rather to support your custom mobile-friendly applications. Also, all of the PHP deprecated functions have been replaced and the framework can now run in strict mode without spamming the log. However, this effectively makes PHP 5.1 the baseline for backwards compatibility.
 Total Results: 5
Advertisement