Vitalware 2.6

Release Date: 04 December 2015


New Features

Reporting database capacity thresholds

A script has been added to report when a database reaches a specified threshold:

Usage: vwdbusage [-p n] [-s] [-v] [database . . .]


-p is percentage database utilisation above which warning is generated. Only used when no Threshold Registry setting is found for named database. Default is 95.
-s is silent. Suppresses all non-critical alerts. Output is only generated if the spaceremaining in the named database has fallen below the minimum required. Informational warnings such as the non-existence of a "Minimum Available Space" Registry setting are disabled.
-v is report available space regardless of whether threshold has been exceeded.


The threshold is set by a new Registry entry:

System|Setting|Table|table|Minimum Space Required|threshold


threshold is an integer defining the minimum amount of space available, in records, in a database before it reaches 100% capacity and requires reconfiguration.

e.g. Table|ecvsexceptions|Minimum Available Space|100000

This Registry entry is used by vwdbusage which must be configured to run from cron.

Critical Alerts

The User and System alerts functionality (which displays an alert whenever a record with a User or System alert is viewed) has been extended. The new Critical Alerts functionality displays an alert when a record that is linked to a record with a critical alert is viewed.

For example: a Births Registration record has a critical alert of "Child at centre of paternity dispute". If the Births Registration record is linked to a certificate order on a POS record, the critical alert in the Births Registration record will display whenever the POS record is displayed.


Mandatory field consistency improvements

The behaviour of grid and edit fields associated with columns that have been set as mandatory using the Mandatory Registry entry has been improved. Now when a user tries to leave an empty edit or grid field that uses a mandatory column, the user will first be presented with the mandatory pop-up message. If the user tries to leave the field again, the mandatory pop-up message will not be presented until they re-enter and leave the empty field again or the record is saved. Prior to these changes mandatory settings that applied to edit fields were only triggered when the record was saved.

It is also now possible to use the Lookup List of grid controls that are associated with a mandatory column without triggering the mandatory pop-up message.

Styling of HTML controls

A new Column CSS Registry entry has been added to specify the default font family and font size for Vitalware client controls that display HTML formatted text. An example of an HTML control is the control on the Communication tab of the Communications module.

A complete description can be found in the Vitalware Help documentation for the Column CSS Registry entry.


A new script, vwdbusage, has been added to allow the capacity of any, or all, databases to be monitored and notification sent when the available space falls below a given threshold. The threshold can be provided using either absolute number of records or a percentage of the total capacity. Designed to be invoked from the crontab, this utility is primarily intended for databases required to be open 24/7, typically those supporting online services, that cannot be closed for regular automated reconfiguration. This allows a database administrator to be alerted well in advance of a database reaching its capacity and enables planning of a scheduled outage for reconfiguration.

Issues Resolved

  • Fixed an issue when using the Import Tool where a new line character in appended data assigned the data to the incorrect row of the specified column.
  • Changed the behaviour when adding image types that support multiple images in a single file (specifically the TIFF, TIFF/EP and DNG file formats) to the Multimedia module. Previously the "last" image from the file was selected as the Multimedia module master image; now the "first" image is used.
  • Fixed an issue where a mini-multimedia component linked to a grid did not update when the grid row was changed.
  • Fixed an issue where dates before 30 December 1899 entered in a control via the pop-up calendar were off by one day.
  • Fixed an issue where the value of the active cell of a grid control was retained when moving between records.
  • Fixed an issue where controls would appear outside of the tab boundaries when the View>Thumbnail menu option was specified.
  • Fixed an issue where Lookup List buttons were not correctly enabled or disabled when a record was set to read-only using Record Level Security.
  • Fixed an issue where aborting an operation (e.g. reporting) would cause the display of a different record than the record that was displayed prior to the operation.
  • Fixed the display of Unicode characters in Admin Task controls.
  • Fixed an issue where the Lookup List values displayed might not be correct for Lookup hierarchies where the hierarchy included grid and edit controls and those controls were linked to another grid control.
  • Fixed an issue where merging records via the Additional Search>Merge menu option would produce the error "TexAPI Error: (Number 0)".
  • Fixed an issue where generating resolutions of a TIFF file and a Multimedia|Metadata|Embed Registry entry specified that some or all of the tags should be embedded in the generated resolution resulted in an "Access Violation" error.
  • Fixed an issue where Lookup List hierarchy values associated with a grid were not automatically back-filled if the Lookup button was used and the cursor was not in the grid.
  • Fixed an issue while running multiple simultaneous multimedia imports in multiple instances of the Vitalware client where the system-generated multimedia resolutions could be assigned to the wrong multimedia record.
  • Fixed an issue where data might not have been saved when adding a Lookup value to an edit field that is part of a Lookup hierarchy with a grid field and both fields are linked to another grid field.
  • Fixed an issue where data might not be saved to the correct row when the user invokes undo (e.g. via the Edit>Undo menu option) when the cursor is within a grid that is linked to another grid.
  • Fixed an issue where Lookup Lists did not sort according to the user-defined Sort Order in the Lookup Lists module.
  • Fixed an issue where the incorrect start and end dates values were set when a user-initiated export was run via the Tools>Exports... menu dialogue.
  • Fixed an issue where Refunded and Cancelled could be set on an order without using the appropriate menu options causing the end of day not to balance.
  • Fixed an issue where adding a product with an associated free or joint product caused the event details from the original details to be assigned to the maintenance type column of the joint/free product.
  • Fixed an issue where rounding was applied to a cash payment causing the end of day not to balance correctly.
  • Fixed an issue where vwreportnotmatched did not correctly report all of the unmatched records.
  • Fixed an issue when voiding historically loaded certificate records could result in the Voided records appearing in the certificate stock verification list.
  • Fixed an issue where the posserver may not correctly the generated flag for address information on transactions which had multiple orders.
  • Fixed an issue where file permissions in the local directory could set scripts to have read permission for world.
  • Fixed an issue where the audit filter logs would show a number of redefined subroutines.
  • Fixed an issue where using the File>Print Tab menu option could result in the capturing of the menu or print dialogue box in front of the image of the tab.
  • Fixed an issue where a POS transaction could be Cancelled even though it was included in an already generated invoice.
  • Fixed an issue where adding database links to certificates module through the client could result in a missing order message when vwmissingstock was run.
  • Fixed an issue where values may be removed from an order record where the storage column was double nested.
  • Fixed an issue where an order could be refunded even though a certificate had been issued from the order or a maintenance completed on it.
  • Fixed an issue where mandatory conditions were still being enforced when voiding or re-instating a Registration record.
  • Fixed an issue where additional orders could be added to transactions that have already been invoiced.
  • Fixed an issue where non visible reference columns were unnecessarily checked for Critical Alerts.
  • Fixed an issue when reversing a product (e.g. a commemorative package) which has an associated free or additional product, only the first product was reversed. This is now corrected so that the entire package is reversed.
  • Fixed an issue when using the Lock Session button on the Command Centre and then double clicking the Vitalware icon, allowing access to the system without a password having been supplied to Unlock the session.
  • Fixed an issue where the mandatory setting for columns in POS only enforced the entry for the first order even though multiple orders may have been made.
  • Fixed an issue where a Registration was voided and then reinstated could result in the reinstated record having a different record status flag to that which was originally on the record.
  • Fixed an issue where certain characters appearing in delivery details could cause the overnight batch certificate printing processes to abort.
  • Fixed an issue with the new Critical Alerts functionality which could cause retrieved records to display slowly.

Upgrade Notes

The upgrade from 2.5 to 2.6 is the same as 2.4 to 2.5 (just be sure to specify the correct version, e.g. when asked to "Enter script /tmp/output-2-5" be sure to specify "2-6").