Choose your database:
AnySQL
MySQL
MS SQL Server
PostgreSQL
SQLite
Firebird
Oracle
SQL Anywhere
DB2
MaxDB

Subscribe to our news:
Partners
SQL Maestro Group / Products / SQL Anywhere / News / PHP Generators 16.9 released

PHP Generators 16.9 released

Sep 15, 2016

Prev Next
PHP Generator

SQL Maestro Group is happy to announce the release of PHP Generator 16.9, a GUI frontend that allows you to build high-quality and feature-rich data-driven web applications for your database in minutes. There are versions for MySQL, MS SQL Server, PostgreSQL, Oracle, SQLite, Firebird, DB2, SQL Anywhere and MaxDB.

The following is a list of new feature implementations since the last major release. Most of new features can be seen in action in our Feature Demo and NBA Demo applications.

New feature highlights:

  • Column Filtering. This helpful mechanism allows data filtering against a specific column in the fastest and simplest way possible. Press the filter button and select one or more values displayed within the filter's dropdown. By default, the filter dropdown displays unique column values while this can be customized with the OnPrepareColumnFilter event handler.

    Code Sample

    Listing 1. OnPrepareColumnFilter event handler code sample
    $columnFilter->setOptionsFor(
        'rating',
         array(
             "Less than 3" => FilterCondition::lessThan(3),
             "4-5" => FilterCondition::between(4, 5),
             "6-7" => FilterCondition::between(6, 7),
             "7-8" => FilterCondition::between(7, 8),
             "Higher than 8" => FilterCondition::greaterThan(8)
         ),
         false
    );
     
    $columnFilter->setOptionsFor(
        'runtime',
        array(
            'Shorter than 90 min' => FilterCondition::lessThan(90),
            '90 - 180 min' => FilterGroup::orX(
                array(
                    '90-120 min' => FilterCondition::between(90, 120),
                    '120-150 min' => FilterCondition::between(120, 150),
                    '150-180 min' => FilterCondition::between(150, 180)
                )
            ),
            'Longer than 180 min' => FilterCondition::greaterThan(180)
        ),
        false
    );
  • Enhanced Master/Detail Views. The following new features are now at your disposal:
    • Adding, editing, deleting, exporting, and printing detail records directly from the master page (without opening a separate page).
    • Inline details are now available in the card view mode.
    • Master record tags (like %field_name%) are now allowed in detail page titles.
    • Enhanced look and feel and usability (such as auto scrolling, the close button, vertical lines).
    • Number of detail records displayed in the inline mode now corresponds the number of records defined in the Page Properties dialog.
    • The view mode for the master record and detail grid now can be specified separately (via viewmode and master_viewmode GET parameters).
  • Custom Form Layouts. This version allows for customized layouts in Edit, Insert, and View forms with just a few lines of PHP code placed in the OnGetCustomFormLayout event handler.

    You can group related input controls in a form as well as manage the location of the controls within the groups. Both horizontal and vertical forms are supported, as well as editing modes (separate page, modal window, and inline editing).

  • Multi-Row Column Headers. Starting from this version you can organize columns in logical groups and display them using multi-row header representation. A column group is visually represented by a header displayed above the headers of the columns it combines. Each group can contain data columns as well as other groups. If auto-hiding columns are defined, a group disappears when all its columns become invisible.
  • Record comparison. Now you can compare multiple records and find the differences between their values with a few mouse clicks. Just select two or more records (the selection management button will appear), then choose "Compare" from the button's drop down menu.

    By default, values are compared with the == operator. You can also define your own function that compares the values with the algorithm you provided. For example, you can implement a case-insensitive comparison or consider two values equal if their difference is less than a predefined value.

  • Brand New Inline Insert/Edit Forms. All inline forms are now also 100% responsive which means they can be accessed from any device. It is also possible to customize the layout of these forms as described above.
  • Improved Filter Builder. The most important features added in this version are as follows:
    • Support for the IN operator;
    • The possibility of disabling/enabling certain filter conditions and/or groups;
    • Support for the Begins with/Ends with/Contains and similar operators for lookup columns;
    • The possibility of selecting operators displayed for a certain column;
    • The possibility of specifying the initial filter condition with the OnPrepareFilterBuilder event.
  • Breadcrumb Navigation. This feature will be extremely useful for websites with a large number of pages. It can help users quickly determine their location on the website, and easily navigate to pages from the same group and/or to sibling detail pages.
  • Automatic Generation of an Index Page. An index page for your website application can now be generated automatically. By default it contains links to all available pages in the application. A new "Home page description" property allows you to provide a brief description for each page. The index page can be customized in the same way as any other page of the website.
  • Quick Edit. To help increase editing speed, a new data editing tool has been implemented. Now you can change the value of a grid cell even without having to go to an Edit form: just move the mouse pointer to the upper right corner of the cell and click the pencil icon. This will display a single-editor form with the value stored in the database. Now you can modify the value and click Save to save the changes or click Cancel (or anywhere outside the form) to discard the changes and exit from the Quick Edit mode.
  • On-the-Fly Adding New Items to Lookup Controls. When a desired data item is missing in a lookup editor, there is no longer a need to return back to the data source page, create the item and repeat everything from the beginning: just press a button on the right of the editor and create the item directly in the popup modal window. Moreover, nesting depth is unlimited i.e. you can create a new element for a lookup editor in the modal window mentioned above, and so on.
  • Adding multiple records from a single Insert form. Starting from this version it is possible to add multiple records from an Insert form. You can either add a blank record by pressing the "Add another record" link at the bottom of the form, or copy an existing record by pressing the appropriate button at the right top corner of a subform. It is also possible to create multiple subforms at a time by selecting the appropriate item in the button's "Add new" drop-down menu.
  • Permissions and RLS for All-Level Details. From now on it is possible to grant permissions and setup record-level security for all the detail pages, regardless of nesting level. Permissions can be granted directly in the software UI as well as in the Admin panel.
  • Page-Level Admins. When using table-based authorization, users with page-level Admin privileges can now access the Administration Panel and grant/revoke permissions for this page to/from other users.
  • Geo Charts. Support for geographical charts has been implemented. As usual, all the chart-specific options can be set with the OnPrepareChart event.
  • Flexible card views. Starting from this version it is possible to setup the max number of cards to be displayed in a row for each screen resolution separately. This can be customized both by the site developer and end-user (if the "Enable Run-Time Customization" option is turned ON).
  • Enhanced JavaScript API. Get even more control in forms with new methods added to the editors' API. Starting with this version you can programmatically change the control state (normal/success/error/etc), add/remove inline hints as well as define custom messages displayed when detecting control-level validation errors. Live examples can be found in the NBA demo.
  • OnGetCustomExportOptions and OnGetCustomUploadFileName events have been added. Use them to customize some of data export settings and names of uploaded files accordingly.
  • Lightbox component for external images is now available out of the box. This should help to minimize JavaScript code in your applications.
  • Simple Data Grid Styling. The "Inline styles" property has been added to all data grid columns. Use it to add custom styles for certain grid cells without necessity of writing complex selectors in the User-Defined Styles window.
  • GUI improvements. And last but not least: the PHP Generator GUI itself also has been significantly improved. The most notable new features are as follows:
    • Page Editor: all the views are now managed from a single screen (no more tabs).
    • Quick and comfortable access to all-level detail pages.
    • Support for multiple pages based on the same data source.
    • New options for initial page setup.
    • All possible editor settings are now preserved on changing the editor type. For example, you will not loose entered items when switching from a RadioGroup to a ComboBox or vice versa.

In addition to above, several bugs have been fixed and some other minor improvements and corrections have been made. For more information about a specific tool see the appropriate page:

Prev Next