Vitalware 2.3.01

 Release Date: 14 December 2012

Requirements

Download

Download a PDF document containing these release notes and associated documents: pdfInternational English or pdfUS English.

Please see the latest version of the Vitalware Help for the most up to date version of this documentation.

New Features

Supplementary Data

A new tab has been added to the Vitalware Multimedia Repository. The Supplementary media tab is similar in layout to the existing Resolution tab. Supplementary media is media that is associated with the main document, but is not important enough to create a new Multimedia record. For example, you may have prepared manually a thumbnail of an image that highlights a particular part of the picture, rather than just a resize of the original. You may wish to use this image on the web as the official thumbnail. The thumbnail is not new media in its own right as it only makes sense in the context of the original image. The Supplementary media tab allows the thumbnail to be registered with the original image and flagged for use on the web:

mod multimedia supplementary1 vw

Supplementary media is available throughout the Vitalware client, including:

  • Reporting (via the special Supplementary_tab column)
  • Importing (also via the Supplementary_tab column)
  • Multimedia menus (save, print, view)

Supplementary media may be any media type, including:

  • Images
  • Video
  • Audio
  • Electronic documents
  • URLs

A complete description of the support for supplementary media can be found in the Supplementary Media documentation.

Password Management

Password management allows users to change their login password within the Vitalware client. It also gives System Administrators the ability to implement a password security protocol within Vitalware. The following capabilities are provided to users by password management:

  • Change Password - Vitalware users may change their password within the Vitalware client.

The following capabilities are provided to System Administrators:

  • Expire Passwords - users are forced to change their password after a specified number of days.
  • Lock Accounts - disable access to Vitalware for a given user account. The account may be unlocked in the future.
  • Lock Accounts on Login Failure - lock a user account if a specified number of unsuccessful login attempts have been made.
  • Expire Accounts - have a user's account locked at a specified date. The account may be unlocked in the future.
  • Force Password Reset - force a user to set a new password the next time they login successfully to Vitalware.
  • Validate Passwords - specify criteria that must be met for a new password to be acceptable (e.g. the minimum password length, the number of upper case characters required, etc).

db expiredlogin vw fr

A complete description of the support for password management can be found in the Password Management documentation.

Dynamic Security

Dynamic security allows security settings to be altered based on the contents of the record being displayed. The security can be set at the record level or at an individual or collection of fields level. The dynamic security settings are specified in the Vitalware Registry, allowing policy to be set on a per user, group or system-wide basis. Dynamic security consists of three parts:

Security Update

The Security Update Registry entry allows the record level security settings to be altered automatically based on the contents of the record being saved. For example, a record may be made read-only when the Record Status field contains a value of Retired. The format of the Registry entry is:

        Group|group|Table|table|Security|Update|column|value|settings

where group determines which Vitalware group and table specifies the module affected by the Registry entry. User and group default entries are also supported. When the specified column contains the supplied value, then the settings are applied. The settings allow values to be added, removed or replaced for any field in the record.

Column Access Modifier

The Column Access Modifier Registry entry allows the security settings specified by the Column Access Registry entry to be modified based on values in the existing record. The settings are evaluated after each change of value, providing immediate security modifications. The format of the Registry entry is:

        Group|group|Table|table|Column Access Modifier|column|value|settings

where group determines which Vitalware group and table specifies the module affected by the Registry entry. User and group default entries are also supported. When the specified column contains the supplied value, then the settings are applied. The settings allow column access permissions to be added, removed or replaced for any field in the record.

Mandatory Modifier

The Mandatory Modifier Registry entry allows the mandatory settings specified by the Mandatory Registry entry to be altered based on the contents of the current record. Like the Column Access Modifier entry, the mandatory settings are evaluated after each value in changed. The format of the Registry entry is:

   Group|group|Table|table|Mandatory Modifier|column|value|settings

where group determines which Vitalware group and table specifies the module affected by the Registry entry. User and group default entries are also supported. When the specified column contains the supplied value, then the settings are applied. The settings allow mandatory permissions to be altered for any field in the record.

The combination of Security Update, Column Access Modifier and Mandatory Modifier Registry entries allow powerful security profiles to be specified. A complete description of the support for dynamic security can be found in the Dynamic Security documentation.

Lookup List Maintenance

The lookup list maintenance sub-system in Vitalware has been replaced with a self-maintaining system. The changes eliminate the need for the nightly or weekly reloading of the Lookup List module. Since records are no longer reloaded, the Lookup List module is now a "first class" module. Users can now add, update and delete entries in the Lookup List module directly. There are three sections that make up the modifications:

Lookup List module

The Lookup List module has been upgraded to a fully functional module. Records may be added, updated and deleted as in any other module in Vitalware. The following tabs have been added:

    • Notes (Attributed)
    • Multimedia
    • Security
    • Admin

vwlutsrebuild

The vwlutsrebuild program is a server side program used to rebuild the contents of the Lookup List module based on the data stored in Vitalware. The previous version has been replaced with a version that now only applies changes to the contents of the Lookup List module. The data is no longer deleted and reloaded. The command no longer needs to be run regularly, but may be used to check the contents of the Lookup List module are consistent with the data stored in Vitalware.

lutserver

lutserver is a server side program that monitors the Vitalware audit trail looking for changes in data that may affect Lookup Lists. The server ensures that new values are added, values no longer used are deleted (provided they are not permanent) and the Used flag is maintained.

A complete description of the new Lookup List Maintenance facility can be found in the Lookup List Maintenance documentation.

After Export Command

The Scheduled Export facility introduced in Vitalware 2.1.02 has been extended to allow a post processing to occur after the export of the data is complete. The post processing can:

  • Email the export files to a list of users.
  • Email the results of the export to a list of users.
  • Copy the export files to another machine behind a secure firewall.
  • Copy the export files over the internet via a secure transfer mechanism.
  • Send an SMS to a list of telephone numbers.

db export properties vw4

The system has been designed to be extensible allowing new procedures to be added as required.

A complete description of the post processing facilities available can be found in the After Export documentation.

 

 

Improvements

Ignore empty values when Importing

The Vitalware Import wizard has been extended to allow empty values to be ignored when searching for attachment records. If the option is selected, any empty field in the importing data will match all values in that field in Vitalware. This allows CSV data to be imported and attachments made where fields are left empty because a value is not known. It also allows records to match for attachments where not all values in a given hierarchy are known, or supplied, by the data source.

db IW Attachments vw

Read only Image Formats

The Multimedia Repository has been extended to provide support for image formats that can only be read. The image library used by Vitalware allows a number of image types to be read but not written. As the format cannot be output, it is not possible to generate images of these formats, however media may be added and viewed. In particular, support for the display of DNG (Digital Negative) format is now available.

Scan to PDF files

The Multimedia Repository allows documents to be scanned and saved in Vitalware. Vitalware provides support for a number of formats in which the scanned document can be saved. Support for PDF has now been added. PDF documents are now displayed in Vitalware with the first page of the document shown. For configuration options consult the Image File Extension Registry entry documentation in the Vitalware help.

Unique Indexing

A new indexing Registry entry has been added that allows columns to be defined as unique. The format of the entry is:

System|Setting|Table|table|Unique Index|column

where table specifies the module and column denotes the column in the given table for which unique indexing is to be enabled. Once unique indexing is enabled, auto incrementation may also be specified. See the Uniqueness and Auto-incrementation topic in the Vitalware help for more details.

Lookup table permissions

The same Lookup table may be associated with a number of fields across multiple modules, e.g. the Yes/No Lookup table. A new Admin Task Set Global Lookup List Permissions has been added which allows the permission to be set for the Lookup table as a whole without the need of having to set it for every column.

POS orders received from the shopping cart

The process to transfer orders from the shopping cart to the POS system has been enhanced to store all of the data from a shopping cart record in the Original Data of the POS record.

Match Lists reports

Reference fields have been added to the Match Lists module to allow reports to be generated containing data from the associated registration modules.

Printing communications

It is possible to print communications on a printer that is not the default printer. This option is available through the new Show Printer Dialogue Registry entry.

Manual stock number prediction

The manual stock number prediction has been changed so that it may either increment or decrement the stock number. This is controlled by the new Stock Print Direction Registry entry.

 

 

Issues Resolved

Issue Resolution
The global replace operational privilege, daReplace, is required to perform a number of functions in the Vitalware client. In particular it is required for:
  • Global Replace
  • Relocate, Revalue, Recondition, Reidentify tools
  • Record Merging
A number of requests have been made to create a new operational privilege for record merging, as it is logically a separate activity.
  A new operational privilege, daMerge, has been added to the set of permissions. The new permission, rather than daReplace, is required to perform record merging.
The Ditto All command allows users to replace completely the contents of an existing record. A request has been made that a new operational privilege be created since all data elements are modified. The privilege will allow System Administrators to restrict who can use the Ditto All command.   A new operational privilege, daDittoAll, has been added to the set of permissions. The new permission is required to access the Ditto All command.
If an image is displayed in the Multimedia tab and the user moves to the next record, where the next record contains a video format that is not supported, an error message is displayed indicating that the format is not supported. Once the error message is dismissed, the image of the previous record is still shown.   If a media format is not supported by Vitalware, the multimedia display on the Multimedia tab is now cleared.
If the multimedia display on the Multimedia tab is showing multiple thumbnails and the view attachments button is selected, all attached multimedia records are displayed in the Multimedia Repository. The selected thumbnail is not the first record displayed, forcing users to move through the multimedia records to locate the required match.   When the view attachments button is selected on the Multimedia tab, all attached records are displayed with the current record set to the thumbnail selected on the Multimedia tab.
If the Vitalware help files are invoked while the prompt language is set to French (CA), then the English help text is shown rather than the French text. The French text is displayed correctly when the prompt language is set to French.   The French help text is now displayed when help is invoked with the prompt language set to French (CA).
Vitalware does not provide a way for setting a default value for an attachment field in Query mode. The Set Default Value dialogue box displays the field but does not provide an attachment button to allow records to be selected.   The Set Default Value dialogue box allows records to be attached as default values for attachment fields.
The Column Colour Registry entry does not provide a mechanism for setting the default colour for all controls in a module.   A column name of Default may now be used with the Column Colour Registry entry to set the default colour for all controls in a given module.
The lookup of security settings for the Security tab in property dialogue boxes may be slow when a large number of users are registered on the system.   The lookup speed for security settings has been optimised to provide faster loading of the Security tab in property dialogue boxes.
The text colour used to display records in List View where the record is read only is a light grey colour. The colour makes the text difficult to read against a white background and blue background when the record is selected.   The display of read only records in List View has been modified to use a grey background with black text. The change makes read only records more distinct visually.
The security profile generated for user vw does not contain any record level security restrictions (by design). If the vw account is configured to allow multiple groups, the Record Level Security settings will not reflect the group selected. Rather no restrictions will apply. This makes it difficult to test group permissions as user vw.   The security profile generated for user vw only provides unrestricted permissions for the first group listed, where multiple groups are supported. In general, the first group listed should be the "super-user" group (usually Admin).
The addition of multiple group support allows a user to be in more than one group, possibly at the same time. The Vitalware audit trail records do not contain the group of the user who updated, inserted or deleted a record. The user's group is useful for tracing why changes were allowed to a record.   The group of a user who inserts, modifies or deletes a record is now recorded in the audit trail record.
A user may set the format used to display dates via the Date Order Registry entry. The Vitalware server also has a default date display format. In general these two settings should display the date components (day, month, year) in the same order. If the order is different, then dates entered when searching must be in the server defined order.   Users may now specify a date format with the date components in any order. The order will be used for both data entry and searching.
Vitalware uses the Windows Registry to try to determine the MIME type for a given file extension. If the MIME type cannot be determined, then the Vitalware Mime Registry is consulted. An issue arises where a third party application has installed a bad mime type into the Windows Registry. Multimedia records created for that application will contain an invalid mime type value.   The Vitalware Mime Registry entry has been extended to allow it to override an entry in the Windows Registry.
The log files generated by the various Vitalware server side processes may not output record based data correctly where the data is in UTF-8 format. The log files do not affect any records stored in Vitalware.   Vitalware server side processes now log UTF-8 based record data correctly.
The audit trail data generated for loading into the Audit Trail module may exceed the maximum file size when auditing has been disabled for a reasonable period.   The audit trail data is now split up into a number of files where each file is limited to the maximum file size.
If an attachments fails on a RichEdit control, then the original value is restored to the control. If the RichEdit control is then tabbed off, the RichEdit control will try an attach query again. The second lookup is not required as the RichEdit control has been restored to its original value.   When an attachments fails on a RichEdit control and the original value is restored, the second attachment lookup no longer occurs.
When the context menu is shown in List View by right clicking on a record that is not selected currently, the menu may not have the correct menu options enabled. In particular the multimedia options Save and Launch may be disabled when they should be enabled.   The Save and Launch menu options are now enabled correctly.
If an entry is selected from a ComboBox, where the associated column has a form set via the Vitalware Format Registry setting (e.g. convert to uppercase), then the format is not applied to the value selected.   The format setting is now applied for all ComboBox selections where a format has been specified.
If the value in a ComboBox is used to determine which tabs should be shown and the ComboBox is part of a hierarchy, then an error message may be displayed when a new value forces the tabs to adjust.   The error message no longer occurs when tabs are adjusted due to a change in the ComboBox value.
The Edit Resource facility does not allow Microsoft Excel documents to be edited. Other Microsoft Office documents can be updated. The problem is due to Excel not registering an Edit mechanism in the Windows Registry.   The Edit Resource facility has been expanded to invoke the View mechanism for a document if an Edit mechanism is not found. The change does not guarantee the document can be modified if the View mechanism is invoked.
The Field Help dialogue box may not be displayed correctly when the option to Save last Size is enabled. The dialogue box shows the help window with a grey area similar in size to the help window next to it.   The correct size for the Field Help dialogue box is now maintained when Save last Size option is enabled.
An Access Violation message may be displayed when closing a crystal report that contains an image (e.g. logo) in the main report and an Vitalware multimedia image in a sub-report.   The Access Violation message no longer occurs when closing the report viewer.
The Field Help dialogue box may not display the correct extended information (e.g. Column Name, etc) the first time it is invoked. The correct information is shown for subsequent invocations.   The correct extended information is now shown the first time the Field Help dialogue box is displayed.
An Access Violation error message may be displayed when Copy and Paste is used to set a default value in Query mode via the Set Default Value dialogue box.   The Access Violation error message no longer appears when setting a default value via Copy and Paste.
If the escape key (ESC) is pressed when the Save Changes dialogue box is displayed, then the changes are saved rather than being cancelled.   The escape key now cancels changes made when the Save Changes dialogue box is displayed.
When setting default values for Query mode for CheckBox controls via the Set Default Value dialogue box, the order of the controls in the dialogue box may not be the same as on the tabs.   The order of CheckBox controls in the Set Default Value dialogue box is now the same as on the Query tabs.
When inserting a new record from Query mode, the Status Bar at the bottom of the module form may indicate a number of records are selected. No records should be selected since the insertion started from Query mode.   The Status Bar no longer indicates any records are selected when an insertion is started from Query mode.
If List View is displaying more columns than can be shown on the screen and the screen is scrolled to the right and a row number is selected, then the List View scrolls to the left most column. The scrolling of the columns makes it difficult to compare data in the right most columns as they have scrolled off the screen.   List View no longer scrolls to the left most column when a row is selected.
When a new group is created for a set of records, the group name is not added to the Lookup List of group names until the next day.   The Group Name for newly created groups is now added to the Lookup List when the group is saved.
The Reports Properties dialogue box may display an incorrect Modified time for the report file when daylight savings is in effect. The time displayed is one hour behind the correct time.   The correct Modified time for the report file is now displayed.
The error message Cannot load image resource "ListImg" may be displayed when viewing default values via the Set Default Value dialogue box. The error only occurs when an invalid value is set on a date field.   The error message no longer appears when an incorrect default value is set on a date field.
If the Edit>Clear command is invoked in a grid in Display mode, then the value with focus is cleared in the grid, however Vitalware does not change to Edit mode and if the record is refreshed the cleared value is re-displayed.   When the Edit>Clear command is invoked in a grid, Vitalware changes to Edit mode and the value with focus is cleared.
The error message TexAPI Error. Cannot allocate memory (Number 100) at offset 0 may occur when the Viewing Attached>Selected Records command is invoked on a large number of selected records (e.g. 150,000).   The error message no longer appears when the Viewing Attached>Selected Records command is invoked on a large number of selected records.
An Access Violation message may be displayed when a new version of ImageMagick is installed on a user's computer and Vitalware is configured to use the new version. The message is not displayed if the version of ImageMagick distributed with Vitalware is used.   The error message is no longer displayed if a newer version of ImageMagick is used.
If a language other than All Languages is selected in the Report Properties dialogue box for a multi-lingual system (e.g. English/French), then the Language selection is not saved correctly when the properties are exited.   The Language selected in the Report Properties dialogue box for a multi-lingual system is now saved correctly.
The vwsecurity server side program may not be run automatically when Security Registry entries are removed. The issue only occurs when a Registry entry is changed from a security based entry to another type of Registry entry.   vwsecurity is now run automatically when Security Registry entries are changed to another type of Registry entry.
When an image is added to the Multimedia Repository, the modified time on the original image may be changed. The original image itself is not changed, just the modified time.   The modified time is no longer changed on the original image when added to the Multimedia Repository.
If a macron character is entered into a RichEdit control, then all text stored after the macron character will be displayed in a different font. The issue only occurs when the text is viewed in Display mode.   Text after a macron character is now displayed in the correct font.
The list of fields available for reporting may contain some columns that cannot be viewed in Details View. Since the column cannot be displayed, values cannot be entered so the columns should not be selectable for reporting.   Only columns that are displayed can be selected for reporting.
Under certain circumstances it is possible to save a record where a hierarchy of values does not exist in the Lookup List module, without being asked to confirm the new combination. The issue only arises if the new combination matches an existing entry except the new combination has some empty values.   The user is now prompted to confirm the new hierarchy of values.
An Access Violation error message may be displayed when switching to Page View if the XSLT report used to generate the view does not exist on the Vitalware server.   A suitable error message is now displayed if the XSLT report does not exist on the Vitalware server.
The Vitalware Import facility does not honour the Column Access Modifier Registry entry settings. Hence users may not be able to update values for which they have been granted dynamic access.   The Import facility now honours the Column Access Modifier Registry entry.
A Grid index out of range error message may be displayed when the Page Down key is pressed to try and move past the last page of records.   The error message no longer appears when trying to "Page Down" past the last page.
The keyboard shortcut to insert the current date (CTRL+;) does not work on a French keyboard.   The keyboard shortcut for the current date now works correctly for French keyboards.
When switching prompt languages from English to French, dates displayed with the months as text did not change to use the text of the new prompt language. The issue only occurs if the language is changed in the current session.   The text values for months in dates are now changed correctly when the prompt language is changed.
If a Lookup List is displayed on a grid control which in turn is controlled via another grid control (a so called Nested Form construct), then the list may not be restricted to the set of values valid for the existing hierarchy.   The correct list of values is now displayed for hierarchies represented by two grids linked together.
If the Down arrow key is pressed in an empty ComboBox control, the list of values may not scroll through the control. The issue only arises if a value is not selected in the ComboBox control.   The Down arrow key now scrolls though the list of values in a ComboBox control when a value is not selected initially.
When a scheduled export ran that produced no output, there was nothing to indicate that it had run.   A new parameter (-z) has been added to vwexport to indicate that an empty export should produce a file indicating that no records matched.
When using postal code lookups to import address information, the keying of the street number for the street address would trigger a second lookup to verify that the postal code was still valid.   The functionality has been changed so that the default action is not to trigger a second verification. This action can be altered by setting the new Ignore Address Change Registry entry.
When a scheduled export ran, there was no notification of it completing.   A new email field has been added to the schedule and if filled, an email is sent to the address indicating the results of the export.
On rare occasions the status of an order would not be set to Complete when a certificate was printed.   The status of the order is now set to Complete
On rare occasion the discount would not calculate until the user exited the Products group box.   The discount is calculated when the user exits the Discount field.
On rare occasions a credit card purchase was not refunded when a POS record was cancelled.   The credit card is now refunded.
The refund type could be set on a POS record even though no refund was issued.   The refund type is only set when a refund is issued.
On rare occasions a user could be asked to insert a value into a Lookup List even though the value already existed in the list.   The user is no longer asked if they wish to insert values that already exist in the Lookup List.
When a row was copied and pasted into the POS module Sales grid, it was possible that the End of Day amount for that day would not balance.   End of Day now balances when rows are copied and pasted into the Sales grid.
An invoiced POS transaction with a reversed order could contain an incorrect invoice total.   The invoice total is correct for Transactions with revered orders.
If two users accessed the same POS transaction at the same time, one to print a receipt and the other to print certificates, it was possible for a duplicate POS record to be created.   One user will now get a popup indicating that another user is editing the record.
A maintenance / amendment would be allowed to be applied even if the POS record it was associated with could not be updated.   The maintenance / amendment is now rolled back if the POS record is not able to be updated.
On occasions the overnight certificate printing scripts would not print the expected number of certificates.   The expected number of certificates is printed.
On occasions End of Day would not balance correctly if a partial invoice payment was made.   End of Day now balances correctly when partial invoice payments are made.
The entry of a negative payment amount was accepted.   Negative payment amounts are not accepted.
On occasions the status for a Refund Item would not get set to Complete even though the refund had been issued.   The status of the Refund Item is set to Complete when the refund is issued.
On rare occasions when printing a certificate, duplicate Ledger and Order records could be created causing End of Day to not balance.   Duplicate Order and Ledger records are no longer created.
The entry of a discount greater than a products cost was allowed.   Only a discount up to the full product cost is allowed.
When making a second cash payment on a transaction that had a previous cash payment which required change, the incorrect change amount could be displayed.   The correct change amount is displayed.
When viewing Historic records, the Stock Issued For Current Record may not display the stock issued for the Historic record correctly.   The stock issued for the Historic record now displays correctly.
When running a scheduled export via cron, the start date or the end date could be incorrectly set on the export record.   The start date and the end date are correctly set.
On occasions the Date Of Event field in POS would not display the entered date in the selected output format.   The Date Of Event displays in the correct output date format.
When logging in it was possible to select the OK button more that once, resulting in multiple licences being used.   The OK button may only be selected once.
When returning a range (subset) of issued stock that had previously been issued and returned, a message was displayed indicating that the parent stock record could not be found.   The returned stock is now accepted and no message is displayed.
When keying stock records it was possible to enter an invalid stock number.   Invalid stock numbers are no longer accepted.
After swapping printers for certificates or receipts, the certificates and receipts still printed to the previous print location.   The certificates and receipts print to the new print location.
It was possible for a product to be issued prior to all of the mandatory data being supplied.   Products are not issued until all mandatory fields have been completed.
When using the show validation errors field colouring, the colouring was not reset when entering Insert mode.   Fields colours are reset when entering Insert mode.
Changes to page size and orientation in the Communications module were not reflected in the next print of a letter.   The page size and orientation are correctly reset for the next print of a letter.
When module field help is turned on and module caching is being used, subsequent module displays increase the size of the module.   The module remains the same size.

Upgrade Notes

See Upgrade 2.2.02 to 2.3.01 for details.