Powered by QM on a Rpi server
About OpenQM
Sales and Downloads
Help and Support

What Was New in Release 2.11?

QM 2.11-3   (released 9 Feb 2011)

The optional MASTER.LOGIN paragraph is now executed for QMClient connections in the same way as for interactive and phantom sessions.

Inline prompt control elements are now largely case insensitive.

The CONFIGURE.FILE command now supports a REPORTING option to show progress.

The QMBasic CSV.MODE statement can be used to set the conversion rules applied by the FORMCSV(), PRINTCSV and WRITECSV operations. FORMCSV() is also new at this release. The current CSV mode can be determined using SYSTEM(1043) and defaults to one at each command processor level until changed.

The QMBasic OPEN.SOCKET() function now has an optional timeout value that will terminate the attempt to connect to the remote system after a given number of seconds.

To avoid problems with run time errors in QMClient applications that have no screen (e.g. the server side of a web application), the QMConnectionType() function can be used to set a mode in which errors are returned only via the QMError() function, never as displayed messages.

QM 2.11-2   (released 10 Dec 2010)

The data replication system can now replicate updates to directory files so long as these updates are from within QM. The replication system has also been extended to allow "account replication" where a user definable set of commands that affect the structure of an account (e.g. CREATE.FILE) can be automatically replicated on a susbcriber system.

The maximum number of simultaneous replication subscribers that can be active at one time on a publisher is now configurable via the REPLMAX parameter. This defaults to its previous value of 8.

The QMBasic INPUT, INPUT@ and INPUTFIELD statements now support a NO.ECHO option to suppress echo of input data.

QM 2.11-1   (released 17 Nov 2010)

This release supports use of a qmcfg.dat file to control installation of QM, allowing developers to construct self-installing applications without the need for third party installer packages. See the "Building a Self-Installing Application" in the QMBasic section of the QM Reference Manual for details.

The BACKSLASH.NOT.QUOTE mode of the OPTION command can be used to cause the command processor to treat backslashes as data characters instead of recognising them as string quotes. This option does not affect use QMBasic use of string quotes.

QM 2.11-0   (released 20 Oct 2010)

This release introduces data replication as a licence option. For details, see the QM Reference Manual.

There is a change to the format of the qmconfig configuration parameter file. In previous releases, the QMSvc, QMSrvr or QMLnxd parameters were previously in a section with tag [qmsrvr]. These parameters have been merged with the [qm] section, renaming MAXLOG as SRVRLOG and QMCLIENT as CLIPORT. The [qmterm] section that relates to the largely obsolete qmterm terminal emulator has been moved to a text file named qmterm.ini in the QMSYS account directory. The [qmnet] section that holds QMNet server definitions has been moved to a separate file in the QMSYS account and extended to allow greater security of QMNet logins. The qmconfig file will be converted automatically on installation of this release or later. The original file is retained as qmconfig.old.

When running a program by entering its catalogue name at the command prompt instead of the name of a VOC verb entry, the command processor will examine the command arguments for the LPTR and NO.PAGE keywords. If these are found, the relevant mode is applied, leaving the options in place for the program to process separately if it performs its own command line scan.

The ADMIN.SERVER command can be used to impose security rules on QMNet server definitions.

The ADMIN.USER command has been extended to allow a user to be assigned to a QM user group for use in other areas of QM's security system. The group name of a QM process can be retrieved using the @QM.GROUP variable.

A NO.MAP option has been added to the CONFIGURE.FILE command to set the T flag in the VOC entry for a directory file to suppress translation of reserved characters in record ids.

The DISABLE.INDEX command no longer requires exclusive access to the file.

The EDIT.CONFIG command has been added for use by administrators in the QMSYS account to modify the configuration parameters.

The FILE.STAT command now has an option to include dictionaries in the report.

A NO.PAGE option has been added to the MAP command.

The OPTION command PAGINATE.ON.HEADING mode can be used to enable screen pagination when the application sets a page heading or footing. This option would normally be used in conjunction with the RUN.NO.PAGE option or the NO.PAGE keyword to the RUN command.

The PTERM command has been extended to add the MARK option. This allows selection of a mode where entry of characters 28 to 30 at the keyboard will be translated to field, value and subvalue marks respectively.

The SET.SERVER command has been extended to allow security settings to be copied from another server definition.

The SET.TRIGGER command no longer requires exclusive access to the file.

The SORT.LIST command sorts a saved select list.

Use of the CSV or DELIMITER keywords to the query processor to create a delimited report will treat value marks embedded in data that is defined as single valued as normal data characters, resulting in the entire multivalued item, including the delimiters, as being output as a single element of the report. This change improves compatibility with some other systems.

The VERTICALLY keyword of the query processor now has an optional FMT qualifier to modify the format in which the field name is output.

The QMBasic SELECT.SOCKET() function can be used to provide asynchronous operation of multiple socket connections.

The QMBasic SET.SOCKET.MODE() function has a new key, SKT$INFO.TRACE, to enable socket tracing where data transmitted in either direction is written to a diagnostic log file.

The QMClient API now includes new functions QMChecksum(), QMEncrypt() and QMDecrypt() that are compatible with the QMBasic CHECKSUM(), ENCRYPT() and DECRYPT() functions.

Other Releases