Vitalware 2.1.02

Release Date: 28 July 2010



pdfDownload a PDF document containing these release notes and associated documents.

New Features

  • Support for RTL languages: Support for right-to-left (RTL) languages has been added to Vitalware. The user interface has been modified to reverse the display of all controls and images when using RTL languages. Dynamic switching between RTL and LTR languages is supported.


    A complete description of the support for RTL languages may be found in the pdfRight To Left Language Support documentation.
  • Export Schedules Facility: The Export Schedules facility enables data to be exported on a regular basis. Data can be scheduled to be exported on anything from a daily to an annual basis. The export occurs outside working hours (generally early in the morning) and the results are stored on the Vitalware server. A user may then view the results and save / view the export files produced. The exported data may be processed by a filter to create the output format required (e.g. XML, CSV). The creation of a scheduled export is very similar to defining a report. A set of fields may be selected and the records may be sorted. A TexQL statement may be defined to limit the records exported.ExportsBox
    The Export Properties dialogue box is shown below:
    The Export Schedules facility provides two new modules:
  • Schedules Module
    The Schedules module holds one record per Scheduled Export containing the definition of the export.


  • Exports Module
    The Exports module holds one record per set of export files produced. When a Scheduled Export is run a new exports record is created containing the output of the export process.


    A complete description of the Export Schedules facility can be found in the pdfExport Schedules documentation.
  • Append values using the Import Facility: The existing Import facility has been extended to allow data to be prepended / replaced / appended in tables and nested tables of values. Support is provided for both XML and CSV (Comma Separated Values) data formats. A grouping mechanism allows data across multiple fields to be added to the same row, allowing grids with multiple columns to have complete rows appended.
    A complete description of the Import facility extensions can be found in the pdfAppending data using the Vitalware Import Facility documentation.
  • Partial Invoice Payments: The existing invoice payment facility has been extended to allow for partial payment of invoices. The partial payment is assigned sequentially against invoiced orders until the partial payment amount has been consumed.


  •  Improved time to save records:A number of optimisations have been made to the Vitalware database server (Texpress) leading to significantly reduced record save times. In particular the speed of calculated values and lookup of data in other modules has been enhanced. The improvements affect all operations that alter data, including:
    • Global edits
    • Data imports
    • Bulk update tools (e.g. locations, condition checks, etc.)
    • Single record insertions / edits
  • Alpha channel support in images: The generation of thumbnail and other resolution images has been enhanced to ensure the alpha channel (or transparency plane) is maintained in generated images. For image formats that do not support transparency (e.g. JPEG), the colour defined in the alpha channel is used as the background colour for derived images.
  • Improved attaching and importing of multimedia: When adding multimedia, either by attaching an image to a Multimedia module record or by importing a set of images, a link is created to the original image. The link is used to generate the thumbnail and resolutions for the image. Using a link removes the need to copy an image into the Vitalware cache before saving it to the Vitalware server, hence saving time and disk space on the local computer.
  • Generate Resolution settings saved: The settings of the Generate Resolution dialogue box found in the Multimedia module are now saved between invocations and across sessions. The last set of values entered is always displayed when the dialogue box is next displayed.

  • Option to suppress module compaction: The size of the Audit and Statistics modules will grow over time as more records are added to them. Since both modules have a very small / non-existent number of record changes it is not necessary to compact these tables as part of the weekly maintenance schedule. A new option COMPACT="no" may be added to a module's vwoptions file (stored in the module directory on the Vitalware server) to skip the compaction of the module when maintenance is performed.

  • User's group added to status bar: The group to which the current user belongs has been added to the Vitalware status bar. The status bar now displays the user name, group and service used by the Vitalware client, along with the current mode and any messages.
  • Abort connection to incorrect client: The Vitalware login process has been enhanced to allow the login process to be terminated and the login dialogue redisplayed if an incorrect service is specified. The enhancement is useful for clients who run multiple clients on the one Vitalware server.

  • About box information: A Copy to Clipboard button has been added to the Vitalware About dialogue box. The button is used to place a copy of the Vitalware connection and settings information onto the Windows clipboard. Once on the clipboard the information may be pasted into emails, etc. to help with issue diagnosis.


    A sample of the information generated is displayed below:
    [Client Information]
    Client Version: 2.1.02 (1007211)
    Application Name: KE Vitalware
    Application Path: C:\Projects\Vitalware\Clients\USMS\vitalware.exe
    Cache Path: C:\Documents and Settings\vibha\Local Settings\Application Data\KESoftware\Cache

    [Server Information]
    Server Version: 2.1.02 (1007211)
    Server Path: /home/ke/vitalware/usms
    Server Media Path: /home/ke/vitalware/usms/multimedia

    [Texpress Information]
    Texpress Version: 8.2.8
    TexAPI Version: 6.0.001
    Uname: SunOS rathdowne 5.10 Generic_137138-09 i86pc i386 i86pc Solaris

    [Connection Information]
    Host: rathdowne
    User: vw
    Group: Admin
    Service: vwusms

    [Language Information]
    Prompt Language: 0
    Data Language: -1
    Language List: 0
    Language Delimiter: ;:;
  • Improved auditserver processing: The Vitalware auditserver facility handles the processing of all audit trail information. If a large number of records is modified in a small period of time, the server may not be able to process records at the rate at which they are created. In this case it falls behind and catches up when the system load is lighter. The auditserver has been optimised to allow for faster processing of audit trail records. It is about ten times faster than previous version. To take advantage of this improvement the Vitalware server must have the XML::Parser::Expat and File::FcntlLock perl packages installed.
  • Audit operation statistics gathered weekly and monthly: The audit operations statistics (for every user in every table for every operation and the number of times the user has performed the operation) are now gathered on a weekly and monthly basis as well as the previous daily basis. The new statistics allow weekly and monthly reports to be produced detailing the operations performed by each user on all modules.
  • Improved Stock display: The Vitalware registration modules contain the Stock tab for showing all certificates issued from the current version of the registration. An additional grid has been added to show all certificates issued from historic versions of the registration.
  • POS display: The registration modules have a new POS tab to show the POS records that the registration has been used in.
  • Voiding previously issued stock: The maintenance process in Vitalware creates a new copy of the current record. Each maintenance is usually associated with a legal change for a record and as such usually requires a new certificate to be issued. A new Registry entry has been added for systems that perform certificate verifications (System|Setting|Cancel Certificate Status|Value) so that previously issued certificates for the registration may be cancelled. When this entry is set, the text contained in the Value part of the entry is added to certificate stock status field (e.g. Cancelled) and the remaining stock void fields in the certificates module are completed.

Issues Resolved

Issue Resolution

If an existing Multimedia record has a new file attached to it with the same name as an existing file but with a different file extension, then both the old and new files will be removed when the record is saved.


The old file is now removed and the new file kept in the Multimedia repository.

The copying and pasting of records from List mode may copy empty virtual fields, even if they contain values, where some of the records selected do not contain attachments.


The contents of all virtual fields are now copied correctly when records are copied from List mode.

The fifoserver may generate an error where the data returned contains a format specifier (e.g. %n). In this case an empty value is returned rather than the correct value.


The correct data is returned from the fifoserver even when the data contains a format specifier.

The keyboard shortcut, CTRL+SHIFT+END does not select all records from the current record to the last record in List and Contact Sheet modes. Only the current and last records are selected.


All records from the current record to the last record are now selected.

If a record has multiple attachments on the Multimedia tab and one of the attached records does not have any media associated with it (that is, a Multimedia record without any file, URL or reference), the thumbnail of the previous attachment will be displayed for the empty attachment rather than a blank thumbnail.


A blank thumbnail is now displayed where an attached Multimedia record does not contain any file, URL or reference.

The attachment of an image containing invalid EXIF Interop data in the Multimedia module may result in the client hanging.


The EXIF parsing has had more checks added to ensure that invalid EXIF tags do not cause the client to hang.

The Extended data is not displayed in the Groups module when thumbnails are displayed in Details mode.


The Extended data is now displayed correctly.

The attach media drop down button on the Multimedia tab in the Multimedia module may appear as a single button rather than a drop down list containing File, URL and Reference for clients who have modified the standard Multimedia module (that is, sub-classed it).


The attach media drop down button now displays correctly.

The contents of a multi-column grid may lose their row associations where the grid contains more than one virtual column for the same attachment. The row associations are affected by the Move, Sort, Delete, Insert, Clear, Paste and Insert Paste operations available when right-clicking the grid. The issue may also occur when using drag and drop to rearrange rows within the grid.


The row associations are maintained correctly for all row based operations.

The auditserver may produce duplicate audit records if the previous instance of the server was shutdown at an "inopportune" time while processing data. The problem only arises where the auditserver was processing records and the offset of the records processed was not saved correctly when terminated.


Duplicate records are no longer produced.

The dialogue box displayed when generating a crystal report that prompts for a parameter may display broken images for the OK and Cancel buttons. The only means of closing the dialogue box is to click on the X in the top left of the form.


The OK and Cancel buttons now display correctly.

The error Column operation performed before row has been accessed may appear when deleting a Multimedia record from the Multimedia repository.


The error no longer appears when deleting a record.

A Grid Range Index error may appear when dragging and dropping rows in a grid where the dragged row is empty and it is dropped on the Insertion row at the bottom of the grid.


The error no longer appears when dragging empty rows in a grid to the Insertion row.

The error Column operation performed before row has been accessed may appear after sorting records in either List or Contact Sheet modes. The error occurs sporadically.


The error no longer appears after sorting records.

The last record displayed in List mode may be duplicated in the grid. The records retrieved are correct but not displayed correctly. The issue only arises if a false match is found in the matching records (very rare).


The correct data is displayed for all records in List mode, even if false matches occur.

The username and service displayed in the status bar at the bottom of the client form may appear centred in the bar rather than on the right hand side. The issue only occurs if Shortcuts is enabled.


The username and service are always displayed on the right hand side of the status bar.

The form window may appear truncated on the right when opening a module that was last viewed maximised and the Save Last Position and Save Last Size options are enabled.


The module form is now displayed correctly.

The Modified time on the Reports Properties dialogue box may be an hour ahead of the current time. The issue only occurs when the client computer does not have daylight savings enabled.


The correct Modified time is displayed regardless of the daylight setting on the client computer.

The red background colour used by the Column Colour Registry entry, e.g.:
Group|Default|Table|eparties|Column Colour|NamLast|red

will appear as a white background on screens with 16 bits or less colour depth.


The red colour has been adjusted to still appear red on screens with 16 bits or less colour depth.

The Caption in a module form may have duplicate mode indicators appended to the module name, e.g.
Parties (1) - Search (1) - Search
The issue arises when switching between Prompt languages where the Caption for the module form has not been translated.


The correct module form Caption is now displayed.

The default Page View displays all prompts in English regardless of the Prompt language selected.


Language specific prompts are now displayed based on the Prompt language selected.

The auditserver may produce duplicate audit records if the previous instance was terminated while copying audit XML records. The copying only occurs after all existing records are processed, so the issue arises rarely.


Duplicate audit records are no longer produced if auditserver is terminated while copying audit XML records.

The Security, Audit and Admin tabs may not be displayed in the correct order for clients who use a modified version of the Multimedia module.


The Security, Audit and Admin tabs are now displayed in the correct order.

The font used to display data may not be set correctly where the selected font does not include a character for the current code page. In particular single value fields may exhibit the problem.


Only fonts containing characters for the current code page may be selected.

The error Column operation performed before row has been accessed may occur if the first matching record is discarded while in Details mode. The same error may occur if you choose to delete the record.


The error no longer occurs when discarding / deleting the first record in Details mode.

The weekly and monthly statistics generated for operation by table by user may produce incorrect values for the number of operations performed.


The correct number of operations is now computed and stored.

The vwregdelete utility does not delete entries containing the owner of the Registry entry correctly (e.g. vw:System|Paths|ServerMediaPath|). The inclusion of the owner is intended to allow the deletion to be limited to entries owned by a given userid.


The correct Registry entries are deleted based on the userid supplied.

The time taken to move between matching records in Details mode may deteriorate the longer a module window is used. The issue occurs if the window is cached and is used often. Each use of the cached form results in slower times moving between records, particularly if the module has a lot of tab switching involved (e.g. Parties module).


The time required to move between records in Details mode no longer deteriorates for cached module forms.

The View Attachments button displayed next to a grid control may not be enabled where a grid contains a single attachment. The issue only arises if the attachment list is computed by the client, rather than being stored in the record (rare).


The View Attachment button is now enabled for a single attachment in a grid control.

The weekly maintenance may fail on modules with a small number of records where the size of the record contents vary greatly (e.g. Groups module). Only the affected module(s) are left off-line, all other modules are operational. The issue was caused by an incorrect configuration being generated.


The weekly maintenance now completes correctly for modules where the record size varies greatly.

The Close button on the Summary dialogue box, displayed after sorting records, may not close the form. The X button in the top right hand corner of the form may be used successfully.


The Close button now functions correctly.

The tool bar may not have the correct length when Shortcuts are enabled and the Save Last Size option is disabled. The right hand end of the tool bar will be truncated.


The tool bar now displays correctly.

If saving a record fails because a mandatory field has not been filled, the error message form may be hidden behind the module form. The issue only arises if the module switched tabs to focus on the field that is not filled. In this case, the module form cannot be selected as the hidden error message has focus. It appears the client has frozen.


The mandatory error message is now displayed on top of the module form, even if tabs are switched to display the offending field.

Some video and audio file formats may not be playable within the Vitalware client on Windows Vista and Windows 7. Launching an external viewer will result in the media playing correctly.


All video and audit file formats registered with Vista and Windows 7 now play correctly.

Audit Trail records may be duplicated for clients who installed a pre-release version of Vitalware 2.1.01 and then upgraded to the official release at a later date. The duplicates occur as the pre-release version installed an audit processing plugin and the official release installed another audit processing plugin. As the pre-release plugin was not removed, each audit record was processed twice.


The pre-release plugin is removed as part of the Vitalware 2.1.02 installation.

The Summary dialogue box may be hidden behind the sorted module where a sort was performed and a summary requested while in Details mode.


The Summary dialogue box is placed on top of the sorted module when displayed.

The Reports Properties dialogue box may not display the name of the report file, its size and modified time.


The correct Report Properties information is now displayed.

The Import Identifier and System Identifier fields are dittoed when either the ditto all or ditto tab command is selected. As these fields relate to the creation of the record via the Import facility they should not be dittoed.


The Import Identifier and System Identifier are no longer dittoed.

In very rare circumstances an active form my become hidden behind an inactive form (e.g. the Save form hidden behind the module form). The issue only occurs if Vitalware is made the active application (via ALT+TAB) while a form was being created.


The active form is always placed on top of the inactive form.

A user may be able to see records that should be hidden by Record Level Security (RLS). The issue only occurs where the base security system has been augmented with column specific values via the Security Registry entry, e.g.:
Group|Staff| Table|ebirths|Security|Display|SecDepartment=Staff
The same issue may cause the Summary of sorted records to be slow.


Users can no longer view hidden records where the base security system has been adjusted.

The thumbnail image displayed in Details mode when view Thumbnail is enabled may not appear on the far right side of the form. The Issue only arises if Save Last Size and Save Last Position are enabled and the module form is not the default size.


The thumbnail image is always displayed on the right hand side of the form.

Multimedia files larger than 2 Gb are not handled correctly. Any file over 2 Gb will result in a zero sized media file being produced.


Multimedia files over 2 Gb are now handled correctly.

If a user double clicks on a group name while using the Group Retrieve dialogue box, all records in the module are retrieved, rather than the records in the group. The issue only arises for static groups.


Double clicking on a static group now retrieves the record in the group only.

The Import facility may create multiple versions of the same attachment record where the data contains non-ASCII characters. The issue only occurs for clients who have their base Vitalware language encoding set to UTF-8 (that is langcode=utf8).


A single version of the same attachment record is created where the data contains non-ASCII characters.

The error message AlsoSearch column column does not exist may appear when defining an AlsoSearch Registry entry where the columns to search are virtual columns that refer to the initial AlsoSearch column.


The error message is no longer displayed when the Also Search loop is detected.

If a number of records are attached to a control in Query mode (that is,  is displayed in the control), the attached records cannot be cleared by using the DEL key or backspacing over the control contents.


The DEL and backspace key can now be used to clear attached records in Query mode.

The Publish on Internet and Publish on Intranet fields have associated flag fields used by some web based searches to check whether a record may be viewed on the web. In some instances the flag fields may be out of sync with the Publish on fields (that is, the field has a value of Yes and the flag is set to N). The field and its associated flag value should always be in sync.


Checks have been added so that when a record is saved the Publish On fields and their associated flag values are synchronised to ensure they always reflect the same state.

The vwlogger facility allows the standard configuration file (etc/logger) to be replaced with a localised version in etc/local/logger. A better mechanism would allow the local configuration to override entries in the base file rather than replace the configuration file completely. Such a set up provides a useful means of adding new services without the need to update the local configuration file.


The local configuration file now augments the entries in the base configuration file, rather than replacing them.

The Field Help module does not contain records for reference columns, that is column names ending in Ref, Ref_tab and Ref_nesttab. These columns are not accessible from within the Vitalware client, however the columns may be used for other purposes (e.g. web page design).


Reference fields have been added to the Field Help module.

The Summary and Extended data calculated for the Groups module does not generate values suitable for multilingual systems.


The Summary and Extended data generated is now multilingual.

An error message is displayed when invalid characters are found in EXIF data fields, forcing the EXIF data to be discarded. In most cases it would be better to skip the invalid character(s) and insert the EXIF data.


Invalid characters in EXIF data are converted to a '?' character allowing the data to be extracted rather than discarded.

A very large hierarchy may cause Lookup List searches to deteriorate when retrieving values from the hierarchy. The issue only occurs where the hierarchy contains many levels with a large number of terms at each level.


The Lookup List values for hierarchies are clustered together eliminating the deterioration in search times.

The Image Display Registry entry only looks for images stored in the etc/images directory on the Vitalware server. The local/etc/images directory should be checked first to allow sites to provide localised images.


The local/etc/images directory is checked before etc/images for images.

If a number of TWAIN devices are registered on the Vitalware client machine, moving from record to record in the Multimedia module may be slow. Each twain device is queried as each record is displayed causing a long delay if multiple devices are registered.


The Multimedia module now checks for the existence of TWAIN devices when the module is invoked rather than between each record displayed.

The Open and Save buttons on the Reports Properties dialogue box may cause confusion as to their purpose. The buttons should be renamed to better indicate their functionality.


The Open button has been renamed to Download and the Save button renamed to Upload. The Download dialogue box title has been changed to Download Report to Edit and the Upload dialogue box title changed to Update Report to Vitalware.

Many modules contain date and date ranges in their Summary and Extended data calculations. The formatting of the date(s) depends on the date order (DMY, MDY, YMD) used by the Vitalware server, however in some instances partial dates may not format correctly causing "invalid" dates to be displayed.


Partial dates are now formatted correctly.

When making a payment to a transaction that was under paid and the resulting transaction was still under paid it was possible for orders to not correctly show as Pending Payment. Orders for under payments correctly display as Pending Payment.

The formatting of the date(s) in Vitalware depends on the date order (DMY, MDY, YMD) used by the Vitalware server, however in some instances the date of event not format correctly in POS causing "invalid" dates to be displayed.


Event dates are correctly displayed in POS.
The back filling of POS event details is controlled by the Query Fields registry entry. Where a nested table was specified as a query field it was possible for incorrect event data to be back filled. The correct event data is back filled.
After changing a product name it was possible to get a not valid reversal when trying to reverse the new product name against an old order. The new product name now reverses correctly.
When inserting records in List view it was possible for data from the current record to overwrite data inserted on a previous record causing a duplicate key error. All records are inserted correctly.
On some occasions it was possible for the duplicate check to not be run when selecting it from the Duplicate Check menu item. The duplicate check always runs.


Upgrade Notes

The upgrade from Vitalware Version 2.1.01 to Vitalware 2.1.02 involves a number of steps. Please follow the instructions below carefully.
Do not skip any steps under any circumstances.
Before proceeding with the update please ensure that a complete backup of the Vitalware server exists and is restorable.

The upgrade may take some time, particularly on systems with a large number of records. 

  1. Install Texpress 8.2.008 or greater.
  2. Install TexAPI 6.0.001 or greater.
  3. Log in as vw.
  4. The following steps need to be repeated for each client installed on the Vitalware server.
    Please ensure that no one is using the system while the upgrade is underway.
  5. Enter client client
  6. Enter script /tmp/output-2-1-02
    A new shell will start and all output recorded until the shell is terminated.
  7. Enter upgrade-2-1-02
  8. Enter vi ~/luts/default/System.txt
    Check each System entry has its correct translation then save the file. If the ~/local/luts/default/System.txt file exists check whether this file has the correct translation.
  9. Enter upgrade-2-1-02.statistics(adjusts incorrect weekly / monthly statistics)
  10. Enter upgrade-2-1-02.webflags(corrects Publish On Internet / Intranet flags).
    NOTE: It is not mandatory to run this script as Vitalware does not make use of these flags. This script can be run at any later date if required. If this Step is not run, then Step 11 can also be skipped.
  11. Enter vwreindex
  12. Enter vwlutsrebuild
  13. Enter exit
    The script session will terminate.
  14. Enter EDITOR=vi crontab -e
    Add the following entries:

    # Run Scheduled Exports
    0  6  *  *  *  ~vw/clientname/bin/vwrun vwexport 2>&1 | ~vw/clientname/bin/vwrun vwlogger -t "KE
    Vitalware Scheduled Exports Report" -z exports 

    All cron commands must be entered on one line (even if they appear wrapped on the screen)! The start times of command may need to be varied to fit in with existing maintenance jobs.
  15. Enter vi ~/data/eaudit/vwoptions
    Add the following line to the file then save the file:


  16. Enter vi ~/data/estatistics/vwoptions
    Add the following line to the file then save the file:


  17. Go back to step 5 to commence upgrading the next client, until all clients are complete.

    Vitalware 2.1.02 does not require the new Windows client to be installed on every machine for network installations. Updating the network server is sufficient. For standalone installations a new client is required on each machine.

    Optional Perl Packages

    Significant speed improvements in the Vitalware auditing facility may be achieved by installing two perl packages. The installation of these packages is optional but recommended.

    1. Log in as root.
    2. Enter perl -MCPAN -e shell
    3. Enter install XML::Parser::Expat
    4. Enter install File::FcntlLock
    5. Enter quit
    6. Log in as vw.
    7. Enter vwload stop audit
    8. Enter vwload start audit
    [Client Information]
    Client Version: 2.1.01 (0912141)
    Application Name: KE Vitalware (50017 - rathdowne)
    Application Path: C:\Projects\Vitalware\Clients\Tas\vitalware.exe
    Cache Path: C:\Documents and Settings\vibha\Local Settings\Application Data\KESoftware\Cache

    [Server Information]
    Server Version: 2.1.02 (0912141)
    Server Path: /home/ke/vitalware/tas
    Server Media Path: /home/ke/vitalware/tas/multimedia

    [Texpress Information]
    Texpress Version: 8.2.5
    TexAPI Version: 3.1.018
    Uname: SunOS rathdowne 5.10 Generic_137138-09 i86pc i386 i86pc Solaris

    [Connection Information]
    Host: rathdowne
    User: vw
    Group: Admin
    Service: 50017

    [Language Information]
    Prompt Language: 0
    Data Language: -1
    Language List: 0
    Language Delimiter: ;:;