Crystal Reports
- Changed: (case 40474) the 'choose which report to print' popup no longer has an orientation column, as it confused some users. Also, the 'default' checkbox column has been moved to the right so as to avoid confusion between this marking an item as a default print option and selecting the item to print this time. Also, changing whether a report is a default now immediately resorts the report list. This should make the function of favorite reports more obvious to the user.
Database
- Fixed: (case 40664) the end date of product batches now allows NULL to avoid a MySQL bug on some systems.
- Fixed: an issue with an incorrect index on the productbatch table.
- Added: (case 40855) a new stored procedure that can RENAME a table, replace it with a copy (so that people can still insert into it), perform a potentially slow ALTER on the original, combine the rows, then swap them back. This is useful for making changes to large tables in a way that does not take a system down for as long due to table locks.
- Fixed: pconfigurelog_tables will no longer do unnecessary, expensive work if the database is not named
presage.
- Changed: (case 40855) the procedure pconfigurelogtables has been rewritten to use the new procedure pswapandalter_table so as to not lock the logs up for as long.
- Changed: pswapandaltertable now applies the alter operation to the placeholder table so that adding or removing columns will not cause an error when the tables get merged.
- Changed: historical version 3.3.1 now changes the trigger on analysisoptionvalue beforehand to be faster. This seemed to speed up the query as much as 95%.
- Added: (case 40544) fcountproblems added for verification interface.
- Added: (case 41117) stored procedures that restore information from the logs to all databases.
- Fixed: (case 42224) an issue where right click graphing would not render correctly (sometimes) due to a race condition introduced by google into their charts.
- Added: (case 42447) to improve HDD consumption on systems with integrations that commonly drop and re-add rows from the analysisoptionchoice and productbatch tables, the logging triggers for those tables have been re-created with a feature that allows suppression of the logs.
- Changed: (case 42365) the email recipient of emailed reports and report subscriptions now supports nearly unlimited number of recipients.
- Changed: (case 42488) when an investigation triggers an automatic retest, if the retest analysis is a production analysis (recipe), the production volume of the newly created sample will correctly inherit from the default batch volume instead of 0.
- Added: a table that is used for optional password blocking based on security preferences.
- Changed: useraccess.username is now long enough to store an entire username.
- Added: (case 24295) support for useraccess.accesstype of 'Session Unlock'
Home
- Added: by request, hitting 'enter' will open the selected WO on the WO screen.
Login
- Added: new user passwords can now no longer match the user's first or last name, or their work email or recovery email, due to ease of guessing that kind of password. It also cannot contain the account name, as this does not add any complexity to guessing the password.
- Added: the change password popup now shows some warnings/errors as the user types, and some other, slower tests when the user leaves the field.
- Added: support for many new (optional) Password security settings, including minimum/maximum length, minimum number of characters from character classes (upper, lower, special, number), checking against a block list of the top 10k passwords, checking to see if the password was involved in any password breaches, and making sure the password doesn't match any recent passwords the user employed. All of these settings default to off.
- Added: support for a global setting to set a threshold on how many breaches a password must be involved in before it is not allowed. Below this, the user simply sees a warning.
- Added: (case 24295) as part of logging in, a new setting is checked "Security"->"Passwords: maximum number of days between user password changes" which checks to see if the user has changed their password recently enough. If not, they are shown a popup forcing them to change their password now.
- Added: (case 24295) a new global setting: "Security"->"Passwords: number of days before password expiration to prompt user to change password". This represents a number of days before password expiration to begin prompting the user to change their password and let them know that the password will expire soon.
- Added: (case 24295) support for locking and unlocking user sessions. There is now a menu option File->Lock Session which will lock the current session, requiring a password to continue. This is useful for security when a user walks away from a terminal. By default, this can be activated by Ctrl + L, but this hotkey can be customized in the user hotkeys dialog.
- Added: (case 24295) a global setting of 'minutes of inactivity before automatically locking user session' (defaults to off). If a machine has no activity for this many minutes, the session will automatically be locked, requiring the user to type in their password to continue.
Master
- Added: a separator to the File menu for better organization.
- Added: support for customizable user hotkeys in top level menus. This is being used in the new File->Lock Session option.
- Fixed: the help->about box now correctly shows all modules loaded by the system with their full absolute path on the file system.
- Fixed: an issue where help->about module list wouldn't show modules correctly if the working directory was not the install directory (common in terminal services installs).
- Fixed: an issue where help->about didn't show modules where the module name and filename didn't match.
- Added: by request, the help->about box now shows the last file modification time for each module. This is useful when checking to see if files were downloaded and applied during update without opening windows explorer. This dialog now has a large minimum size to facilitate more data that is shown in it.
- Added: the help->about box now splits the directory off the filename so that the filename can be more obvious and easier sorted. The version and filename are now bolded and the path and hash are slightly gray to make the important information easier to see.
- Added: help->about now has a last modified timestamp, which is read from the file in the filesystem.
Products
- Fixed: (case 42322) an issue where copying and pasting a product at the same level will automatically name the product " - Copy" at the end so that the user can rename the product instead of just getting an error.
- Added: on save, we now test to see if there are duplicate products at any given level and show the user an error if any are found. This should help prevent issues where the user can get confused by products with the same name at the same level.
Sampling History
- Fixed: an issue where a blank user/location/product/etc might be selected in the dropdown (instead of nothing) when the screen was cleared. This would lead to users inadvertantly searching for only those samples that were associated with the user/location/product/etc with a blank name.
- Changed: if the user doesn't have permission to edit samples on this screen (the most common situation) all the readonly fields in the list are hidden. This makes using the arrows to navigate the list easier since up/down will no longer open up some columns' dropdowns.
- Added: hitting enter in this list now opens the selected WO on the WO screen.
Work Orders
- Added: a global hotkey to open a 'find/open WO #' popup. Entering a WO # into this popup and hitting enter will load that WO on the WO screen, no matter what screen the user is currently on. This is the same popup the user sees when loading a WO # on the WO screen. The hotkey for this global action defaults to F4, but can be customized per user.
Reports
Analysis Change Log (AnalysisChangeLog.rpt)
- Removed: (case 39891, case 39892, case 39894) older report file. Functionality will now be handled by the file ChangeLog.rpt, which handles multiple change log modes
(Analysis,Users/Groups,Investigation Trigger,Product) Change Log (ChangeLog.rpt)
- Added: (case 39891, case 39892, case 39894) the updated version of AnalysisChangeLog.rpt, which has a mode parameter. Each mode is a different report entry in the table and shows logs for different things, which slight variations in columns, headers, and active parameters.
Certificate Of Analysis (CertificateOfAnalysis.rpt)
- Added: (case 43792) Lot and Expiration for Recipe analyses, when present
- Fixed: (case 43792) Comments and Findings shading
Data Entry Tagnumber(1.1x2.4_DataEntryTagnumber.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.
Location Analysis Label (0.66x2.1) (0.66x2.1_LocationAnalysisLabel.rpt)
Added: (case 39137) a supplemental alternate sized report
Location Analysis Label (1.1x2.4con) (1.1x2.4con_LocationAnalysisLabel.rpt)
Added: (case 39137) a supplemental alternate sized report
Sample Barcode (0.66x2.1)(0.66x2.1_LabelWithBarcode.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.
Sample Barcode(1.1x2.4_LabelWithBarcode.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.
Sample Barcode (1.1x2.4con)(1.1x2.4con_LabelWithBarcode.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.
Screening (Screening.rpt)
- Added: (case 40396) a new report that shows COVID-19 Symptom Screening results
Work Order Barcode (0.66x2.1)(0.66x2.1_WOLabelWithBarcode.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.
Work Order Barcode(1.1x2.4_WOLabelWithBarcode.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.
Work Order Barcode (1.1x2.4con)(1.1x2.4con_WOLabelWithBarcode.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.
Work Order Copy Barcode (0.66x2.1) (0.66x2.1_WOCopyBarcode.rpt)
Added: (case 39137) a supplemental alternate sized report
Work Order Copy Barcode (1.1x2.4con) (1.1x2.4con_WOCopyBarcode.rpt)
Added: (case 39137) a supplemental alternate sized report
Work Order Copy Barcode (Label)(1.1x2.4_WOCopyBarcode.rpt)
- Changed: (case 40366) barcodes are now not center aligned by default, but there is a setting to change that back. All tag reports with barcodes respect the same setting.