RADICORE v1.25.0 released

This version contains a few bug fixes and a few enhancements.

This version contains the following updates:

  • changed all dml.*.class.inc' files so that if a value is supplied for an auto_increment column it will be used instead of generating a new one.
  • changed 'insertRecord' in 'std.table.class.inc' to skip the insert if the data array is empty. This will allow the array to be cleared in the _cm_validateInsert() method so that the record can be updated manually in the _cm_post_insertRecord() method.
  • updated 'std.data_field.xsl' so that it will accept a 'size' attribute on a field in a horizontal display in order to reduce the size of a large field.
  • updated 'mnu_subystem(export)' so that the contents of the mnu_control table where record_id='<subsystem>' will be included in the export file. This will allow each subsystem to have its own data on the mnu_control table.
  • changed the default behaviour for search screens so that if anything is entered for a string field without a wildcard character '%' then '%' will be appended to the string. This is to emulate the behaviour of other common software where text such as 'ABC' means 'beginning with ABC'.
  • changed processing of popup1 screen so that if a navigation button is used to add a new record, upon returning to the popup screen the identity of the new record will automatically be passed back as the selection. This avoids the process of having to find the new record in the popup screen so that the CHOOSE button can be pressed.
  • changed the fetchrow() method so that it calls _cm_post_fetchRow() to process a single occurrence instead of _cm_post_getData() which expects multiple occurrences.
  • changed 'dml.mysql*.class.inc' so that if 'WITH ROLLUP' is encountered in the GROUP BY clause the ORDER BY string will be ignored. This fixes the problem reported in http://www.radicore.org/forum/index.php?t=msg&th=237
  • removed method 'getData_batch()' as it does the same thing as 'getData_serial()'.
  • added table 'mnu_initial_value_role' and 'mnu_initial_value_user' to the 'menu' database in order to hold initial values for fields within tasks for either roles (groups of users) or individual users. The field names are taken from those entered in the 'List Task Field' screen. The way that this information is used depends on the task being run:
    • if it inserts new records then this data is added to $fieldarray (unless the field already has a non-empty value) just before the call to the '_cm_getInitialData()' method.
    • if it is pattern LIST1 and the $where string is empty it will be inserted into the $where string before any data is retrieved from the database. The 'mnu_initial_value_role' table will only be read if nothing is found on 'mnu_initial_value_user'.
    You will need to import file 'radicore\menu\sql\mysql\alter_table(2007-05-26).sql' in order to make these changes to your database schema.
  • changed the Output2 and Output3 patterns so that the call to _cm_post_output() is surrounded by startTransaction() and commit()/rollback() to allow a database update to take place after the PDF document as been produced.
  • created task 'audit_tbl(upd4)' and added it as a navigation button on 'audit_dtl(list)2' in order to generate an SQL query which will reproduce the database change that is currently being displayed. The query string will be appended to a file called 'audit_export.sql' which will be written to the 'radicore\audit\sql' directory. This can be useful when changes made in one database need to be replicated in another database. The details of this new task can be imported into your current MENU database by running script 'radicore\audit\sql\audit.menu_export(2007-06-23).sql' which was created using this facility.

Note also that Radicore is now using version 3 of the GPL.

Published: 30 June 2007