Presage/Recent Application Changes

From ISoft Wiki
< Presage
Revision as of 11:22, 7 March 2018 by Gevans (talk | contribs)
Jump to navigationJump to search

Presage Changelog

REVISION 19408-19702 database version 270

General:

  • Added: (case 28363) support for European style numbers and currency figures. Mainly, if the user's windows settings are set to use comma instead of period for the decimal separator, the software will correctly read and display figures.
  • Changed: made function calls more specific to distinguish between operations that operate on raw numeric strings, user formatted numeric strings, and database strings.
  • Added: various locale currency and number API functions for reading windows API locale settings.

CommonResources:

  • Added: the analysis management screen now supports a "Not Equal" constraint both for thresholds as well as dependent choice options.
  • Changed: renamed the "N/A" constraint to Equals, as that is what it was being treated as.
  • Added: numeric options now support Equal and Not Equal for constraints.

Database:

  • Fixed: (case 28043) p_configure_logs now ensures that the logs will allow entries from scheduler events.
  • Added: (case 27676) analysisoptionchoice now supports Not Equal for thresholds as well as dependent choice options.
  • Added: f_get_value_violates_rule. This function does the work of comparing a value to a threshold, including casting the values to native types. This now supports Equal and Not Equal for all data types.
  • Changed: p_check_applicable_thresholds has been greatly simplified and now uses the same code f_check_value_acceptability does, eliminating situations where they disagree.
  • Changed: f_find_applicable_thresholds now supports the new Not Equal relationship.
  • Changed: f_get_value_acceptability now supports Equal and Not Equal for all data types.
  • Fixed: f_get_value_acceptability was treating Date Times as Dates when comparing them. This would've thrown off the acceptability comparisons they made.
  • Changed: (case 27675) 'auto-close investigation' has been replaced with the defaultstatus for an investigation rule. This way, the user can specify whether automatically closed investigations are ignored, cancelled, closed, etc.
  • Added: (case 27675) support for investigations having a status of Ignored. This is useful for investigations created just to send an alert.
  • Fixed: p_cache_all_option_correlations no longer runs expensive calculations of a system is not configured with correlations in mind. This should improve database speed.
  • Fixed: an issue where the data clone failure notification event could fail if there was more than 64Kb of failures to report.
  • Added: (case 25176) the ability to tie an alertsubscription to a specific investigation trigger id.
  • Added: if an investigation rule is deleted, any corresponding alert subscriptions now get deactivated automatically.
  • Added: (case 25176) support for alert subscription rules that will only fire for investigations created by a specific investigation rule.

DataManagement:

  • Changed: the database that backup tables are created in now defaults to the current database instead of `backup_importer`. This is because not all customer setups are able to create or put tables into other databases.

Investigation:

  • Fixed: (case 27648) the results column in the investigation screen now shows the option value that caused an investigation (if it was triggered by a rule) instead of just the failed values.
  • Added: (case 27675) support for investigations in a status of 'Ignored'. This can be used for investigations that are created just to send alerts. By default, the investigation search hides these ignored investigations.
  • Added: the auto-close investigation checkbox on investigation rules has been replaced with a default status column, which allows the user to specify whether automatic investigations start Closed, Open, Ignored, or Cancelled.
  • Added: (case 25176) if a user deletes an investigation rule, they are now notified that any alert subscriptions that are 'listening' to that particular investigation rule (if any) will be automatically deactivated.

libITSQLFramework:

  • Fixed: an issue where the 'footer' of a query in the query log would be written sometimes after another query run in order to report the error.
  • Added: (case 28838) if a mysql connection gets a lockwait timeout error (1205) the query in question will automatically be silently retried up to 2 times before the user is presented with an error report. This should result in the user seeing fewer of these errors, though it does not necessarily make the error itself more rare. Auto-retry is MySQL's suggested error handling method in these cases.
  • Added: (case 28838) if a mysql connection gets a deadlock error (1213), the query will automatically be silently retried up to 2 times before the user is presented with an error report. Unfortunately, this will not happen on queries that are in the middle of another transaction. This is because deadlocks automatically roll back the entire transaction, requiring the operation be retried.
  • Added: query errors are now logged to the query log. Also, auto-retries and auto-reconnect operations get a special log entry for better debugging.

Login:

  • Added: (case 28838) support for a special debugging mode in the database.

Master:

  • Added: the RemoveInitSetting function now returns the last found value before deleting it. This allows a relatively common case where we take the value from an ini setting as we delete it an move it into a database setting.

ReportViewer:

  • Fixed: a possible crash that could occur when previewing a report if some very rare memory issues happened.

Updater:

  • Fixed: (case 28086) an issue where a query that was missing a close parentheses ")" could keep subsequent queries from being parsed correctly, even though it had a semicolon.
  • Fixed: an issue where an open, unclosed parenthesis might disrupt the rest of the parse if it was in a function definition.
  • Added: in debug mode, Master will now write all script files to the updates directory. In addition, the intermediate query string is written to ComprehensiveUpdate.sql and the parsed query list is written to UpdateQueryList.sql

Control Chart

  • Added: (case 28699) option to group datapoints by "none"
  • Changed: (case 28699) font size on test failures and deviation namers to the right of each graph to allow space for larger numbers
  • Added: (case 28699) a datapoint limit before the graph suppresses (999 - though it starts to look cluttered after 50)
  • Changed: (case 28699) control lines are now thicker and do not have datapoints at each end
  • Fixed: (case 28699) tests were always showing 'Pass' when grouping by 'None'

Version 2.6

REV 19095-19407 Q3 2017 release 2.6 database version 260

General:

  • Performance: slight speed increases when adding rows and columns to a list control.
  • Fixed: (case 27068) an issue where changes to a dropdown in a list control could cause columns to be added or removed from a list could cause a crash.
  • Changed: (case 26939) the default line coloration in all products now use a darker, greyer, less green color instead of the previous, lighter green. This should help resolve some of the issues users are having with visual fatigue and/or issues with low-contrast for colorblind individuals.
  • Fixed: (case 27250) a freeze caused by calling GetLastVisibleItem on a CTreeCtrl in some scenarios. This only seemed to happen when deleting items from the tree ctrl when there was enough items in the tree to require scroll bars.
  • Changed: double-clicking a column header resizes the column to minimum width including data and the header name now.
  • Fixed: resizing a column that contained icons but had right-aligned text was incorrectly making the desired column width very large.
  • Fixed: an issue where setting focus into an ITListCtrl after hitting a search button or tabbing in would scroll to the right side of the item instead of the left.
  • Fixed: (case 27649) an issue where non-locked tree controls would not draw correctly after the user expanded or collapsed an item.

Analysis:

  • Fixed: (case 27052) an issue where the user was prompted to fill out the 'empty' item on the "Analysis Scheduling" tab, keeping the user from saving the screen if they ever opened that tab of the screen.
  • Added: support for a new argument when calculating value acceptability in the 'check thresholds' popup.

CrystalReports:

  • Changed: as per user request, the "remember printer choice" checkbox now always defaults to unchecked. This should only have significant impact on new users, who have no previous printer selections. Said users will have to manually check 'remember printer choice'.

Configuration:

  • Fixed: (case 27588) configure->reports now correctly uploads the report file when you add a new report.

CommonResources:

  • Added: (case 22293) a new 'change log page' which has all the required functionality to display entries in the audit log tables for a specified table and its child tables.
  • Fixed: sometimes choosing an analysis on a sample, then adding another blank sample could add empty option columns that were not useful.
  • Fixed: (case 27068) a crash that could occur when choosing an analysis type.
  • Fixed: (case 27068) analyses that were not in use at the current plant (or were inactive) were being shown in the analysis dropdown, despite the fact that they could not be chosen.
  • Fixed: (case 27273) an issue where saving a WO whose type allows 'Both' Ingredients as well as Products might keep clearing out all the product choices on save.
  • Changed: the change log page has a row id as well as a row description to make it easier to tell what changed.
  • Added: a new checkbox near the change log detail: "Show historical value for unmodified fields". It is checked by default, and it shows other fields for that row that were NOT modified, and the values shown are whatever the values were at that moment in time, according to the logs. All fields that were not modified are greyed out.
  • Added: colorization to updates/inserts/deletes.
  • Fixed: the from/to date pickers in the change log now correctly set the dropdown to Custom if they are changed.
  • Added: (case 27256) a new icon that displays next to any option value if that option value has been edited from the first value that was saved.
  • Changed: the label and acceptability columns in the sampling detail interface now have a grey background to show that they are read only.
  • Added: (case 21713) the analysis and recipe management pages now have a field for filtering displayed items based on name, category, or option name.

Database:

  • Added: the useraccess table now has a user account id for the currently logged in user. This can be different than the other user account if an administrator performs an override for another user.
  • Changed: analysisoptionvalue.lot is now varchar(25) instead of unsigned integer to allow for alpha-numeric input.
  • Fixed: an issue where f_get_report_printer was ignoring the report type argument.
  • Fixed: p_backup_table now does INSERT IGNORE to avoid primary key collisions.
  • Fixed: (case 27284) scheduled reports now allow more recipients (longer email destination field)
  • Added: (case 26378) emailbcc column to the reportmassmailtemplate and reportqueue tables.
  • Changed: the ARCHIVE_log_change and ARCHIVE_log_changegroup tables now use the ARCHIVE engine, trimming 90% of hard-drive consumption for those tables.
  • Added: ARCHIVE_log_change and ARCHIVE_log_changegroup tables are now created if they didn't exist before.
  • Added: e_archive_change_logs event, which weekly archives all log entries that are at least 1 year old. This even existed only on some databases, and generally had a shorter time limit (4 weeks for example).
  • Added: p_configure_log_tables, currently run manually, which turns the string columns of `table` and `column` into enums with all possible options in the enum. This makes the tables and indices much smaller, and faster to look up.
  • Fixed: (case 27879) an issue where investigation rule checking (p_check_investigation_rule) was trimming the last character off of the sample id and sample value that triggered the investigation.
  • Fixed: (case 27879) an issue where cloning a WO, with values, such that a new investigation would be triggered based on those values, would throw an error because the 'last modified' date on the values was NULL. The investigation rule checker is now compliant with this scenario, but also, cloned values have the time of cloning set as their last modified date.

Graphing:

  • Added: (case 6001) support for WO #, tag #, WO title, WO internal notes, sample comments, and sample findings (all with wildcard support) to the graphing URL.

Investigation:

  • Fixed: (case 22788) an issue where resolving an investigation would not set the close date.
  • Changed: (case 22364) the plant column in the investigation rules page is now always visible, and the option "All" is now present. If the user chooses "All", the investigation rule applies at all plants.
  • Changed: location is grayed out if the user chooses to create an investigation rule for all plants. If no analysis is chosen, the analysis option is grayed out.

Login:

  • Added: there is now a bolded prompt above the login button that gives the user more information about the verification/authentication process.
  • Fixed: an issue where the user could edit the username during authentication when they were not supposed to be able to.
  • Fixed: (case 27043) an issue where the 'first time login' popup would not let the user set their first password correctly.

Product:

  • Added: (case 21713) the suppliers page now has a field for filtering the results based on supplier contact or company name.
  • Added: the ingredients/products page now filters based on category as well as name. Also, filtering the results will keep the previous selection if it matches the new filter.

ReportViewer:

  • Fixed: (case 27079) an issue where the mass mailer screen might throw a query error during 'find recipients' if any of the parameters were dates.
  • Fixed: when mass-mailing reports, the email address can now be edited to values that were not found in the system previously (new emails).
  • Added: (case 26378) BCC field to the mass-mailing system.
  • Fixed: an issue where reviewing the report queue would not show the value that was sent as part of the print operation.
  • Changed: report parameters in the report queue now use the 'user visible name' for the parameters, like other screens (where possible).
  • Added: (case 26378) the mass-mailing page now shows a progress dialog during the mass-print/email operation that shows the user how far along the process is, and gives a cancel button.

Sampling:

  • Added: (case 6001) support for WO #, tag #, WO title, WO internal notes, sample comments, and sample findings (all with wildcard support) to sampling history search and graphing.
  • Changed: the date range dropdown no longer has a criterion selected by default. This better matches how all the other filters start out empty.
  • Fixed: an issue where the show inactive checkbox might still be visible even when it is supposed to be hidden due to the screen size being too low.

SettingsFramework:

  • Fixed: an issue where user settings were loaded multiple times when a user logged in.
  • Fixed: (case 27056) an issue where the report printer configuration was showing all report types instead of all report printer types.

TransactionList:

  • Fixed: (case 27377) an issue where sometimes fields and filters would not correctly add the required JOINs to the query, causing database errors.

WorkOrders:

  • Added: (case 26892) lot #'s can now contain letters other non-number characters.
  • Added: (case 22293) a new tab in the work order detail for viewing the log of all changes that have been made to the loaded WO, its samples, and/or the option values on the samples.
  • Added: the change log tab now shows user-friendly column/table names as well as user-friendly values using auto-complete lookups already loaded by the WO screen to avoid further delays from new queries.
  • Added: the change log page now shows the result and default value log entries displayed the same way the user normally views that data (dates and numbers are formatted to how the user expects).
  • Fixed: all option values were getting their 'last modified' updated when any value got changed. Now, only the option values that are modified will be marked as modified.

Reports

Analysis Change Log

  • Added: (case 26024) a new report that displays information on changes to analyses from the change log and archived change log
  • Added: (case 26024) event, affected analysis, and a Category: Analysis parameter
  • Added: (case 26024) analysis option and choice.
  • Changed: (case 26024) the report to Landscape

Certificate Of Analysis

  • Added: (case 27360) Acceptability and Threshold Range options, which show or hide base on a parameter
  • Changed: (case 27360) tidied the report

Choices & Thresholds

  • Added: (case 24508) product parameter

Control Chart

  • Added: (case 24508) product parameter
  • Changed: (case 24508) changed analysis parameter and option parameter into a combined Category: Analysis: Option parameter

Location Analysis Barcodes

  • Added: (case 26061) a new standard report that will print location analysis barcodes that match the filters for the current plant, grouped by ancestor location and analysis. It also prints instructions on how to use the scanner to add the analysis/location to work order.

Percent Positive

  • Added: (case 24508) product parameter


Version 2.5

General:

  • Fixed: an issue where sometimes list control cell tooltips for particularly large sets of data would show trash data at the end and/or take a long time to appear.
  • Added: lists that allow the user to hide columns now remember which columns were hidden when the screen is reopened.
  • Fixed: (case 25625) the user can no longer put characters into attachment filenames that windows does not allow in filenames "/ \ * : < > | ?"
  • Fixed: (case 25625) if you double-click on an attachment that happens to have invalid characters in it, those characters are replaced with an underscore so that the file can be viewed.
  • Fixed: (case 25930) an issue where typing into auto-complete dropdowns might not select the right items if the user found an item using the middle of a word or a different case.
  • Changed: readonly list control cells now default to having a grey background with black text instead of grey text on white background.
  • Changed: default color alternation in lists now alternates between a greyish green and white instead of grey and white. This will make black/white/grey text easier to ready against the cell background, and makes readonly cells easier to identify (grey background).
  • Added: support for ctrl + A to select all text in a multi-line edit, which is (apparently) disabled in windows.
  • Fixed: (case 26631) exporting a list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

Analysis:

  • Added: (case 22445) a new 'clone analysis' button, which creates a new copy of the selected analysis. The user can choose whether to clone the original analysis' thresholds and which plants it is in use at.
  • Fixed: (case 22445) an issue where cloning an analysis might clone empty thresholds and fail to copy dependent option information.
  • Added: (case 25345) there is now a 'require authentication' flag for analyses. This replaces the plant level setting to see if the user must authenticate when modifying values.
  • Fixed: over-active change detection that would fire whenever the user viewed analysis options.

CommonResources:

  • Fixed: (case 26099) an issue where the option values and labels might not remember their location relative to the other columns in an obvious way.
  • Added: (case 21707) the configure analysis/configure recipes page now displays the number of analyses/recipes that are being hidden by the 'show inactive' and 'show not in use' check boxes.

Configuration:

  • Fixed: an issue where checking and unchecking the "Hide inactive/locked accounts" might cause the user list to look strange.
  • Added: icon to the send recovery code button.
  • Fixed: an admin can now properly set another user's password if the security settings allow it.
  • Added: work order types now have a 'title required' flag.

CrystalReportsExtension:

  • Fixed: (case 25757) an issue where reports whose type is different than its printer type would cause the user to have to choose a printer every time they printed, despite checking 'remember selection'.
  • Added: support for passing title, email body, email from address, attachment name, and notes from a print request to the report queue table.
  • Added: support for printing in 'silent mode', where no popups are shown to the user (no report or printer disambiguation popups). This is used for the new mass-printing feature.

Database:

  • Fixed: (case 25510) an issue where scheduled data clones were being reported as failing to run, despite the fact that that was intentional in situations where data clone rules were created too late to be run in a period.
  • Added: (case 23235) support for due dates on investigations. Also, added support for alerts tied to soon to expire investigations.
  • Added: number of days before investigation due on automatic investigation rules.
  • Added: (case 25384) emailed scheduled reports can now have an overridden email body, 'from' address (for email replies going back to specific address), and attachment name (for naming the report pdf attachment).
  • Added: (case 21710) supplier field to suppliers.
  • Added: (case 21712) work order types now support products and ingredients on the same WO type.
  • Added: (case 25500) work orders can now have titles/descriptions. These are displayed at various locations of the software, making WOs easier to distinguish.
  • Added: (case 25500) the title field on WOs can now no longer be edited if the user doesn't have the permission to edit WO titles.
  • Added: (case 25389) the right-click graphing template has been updated to facilitate line types.
  • Added: tables and fields supporting reports to be mass mailed.
  • Added: new analysis field for tracking whether a specific analysis requires authentication when the user has modified it or not. This replaces the plant level setting.

EDocuments:

  • Added: support for new functions in the EDocument language, including IF, IFEMPTY, CONCAT, REMOVE (see the wiki page for description/syntax)
  • Fixed: an issue where text before and after a function call might throw off a subfunction's invokation.
  • Fixed: an issue where function arguments of ' ' or " " were not working. This was breaking some uses of the TRIM function.
  • Fixed: an issue where the last part of an argument might be lost if it did not end in whitespace.
  • Fixed: a couple issues where we'd sometimes replace only half of a function name.
  • Fixed: an issue where multiple pieces of whitespace in function arguments might throw off argument order in functions.

Home:

  • Changed: store filter now applies to WO store instead of location store.
  • Added: (case 25500) work order title is now displayed on both home screen tabs.

Investigation:

  • Added: (case 25415) support for filtering investigations by investigation type.
  • Added: (case 23235) support for due dates on investigations and # of days before investigation due on investigation rules.
  • Added: coloring of investigation due dates based on whether they expire today or have already passed.
  • Fixed: an issue where changing anything in the investigation detail list, then changing the selected investigation might not properly show that the investigation had changed.
  • Fixed: the clear button now clears the investigation results.
  • Added: (case 21728) the investigation detail list now shows the sample that initiated an investigation at the top. This row is shown in dark red to differentiate it.

ITSQLFramework:

  • Added: query results now supply calling queries with the 'data type' of each result column.
  • Changed: (case 26631) exporting a query result to CSV now correctly escapes quotes with another set of quotes.

Locations:

  • Fixed: a minor issue where copying locations might not give them unique names in some situations.

Login:

  • Fixed: (case 24507) hitting the forgot password button on login no longer automatically sends a recovery email, it now waits until the user hits the 'send recovery email button'. This helps with situations where the user already has a recovery code and doesn't want another one sent.

Product:

  • Added: (case 21710) multi-line supplier field to supplier configuration.

ReportViewer:

  • Added: (case 26152) a new "Mass-Mail" page. This page allows the user to select certain reports to email or print for various recipients. This is similar to mail merge tools. The first application for this tool is sending billing to customers either through email or print. More reports will be added to this area in the future. If you'd like to see a report added to the mail merge area, let us know.
  • Fixed: an issue where hidden report parameters that pass 'id' into the report were not loading the default parameter id correctly.

WorkOrders:

  • Added: (case 25500) work orders can now have a title/description/reference # saved in their header. This is useful for giving any WO a title/description/# that display on various screens.
  • Added: WO title is now displayed in the WO list in the automatic WO scheduling page.
  • Added: (case 21712) support for work order types that allow both ingredients and products.
  • Added: (case 25500) the title field now requires the edit WO titles permission to be edited.
  • Added: work order types that require titles before closing are now enforced. This flag can be set in configuration.
  • Changed: (case 25345) saving a work order now checks whether any samples' analyses 'require authentication' before forcing the user to authenticate when modifying values.
  • Fixed: a crash that could occur upon opening the screen.

Scanner:

  • Added: Search by Title/Description
  • Changed: Improve scanner esignature interface.
  • Added: Print Tag on mobile now works with PrintQueue
  • Added: Setting to order work orders by number rather than Due Date.

Version 2.4

General:

  • Added: If there is more than one page of results to display on any multi-page list, the user is prompted to load all results before finishing the export/graph operation.
  • Added: when the user right clicks in any list control, there are now icons in the context menu corresponding to the export to csv/html/graph options.
  • Added: the 'execute saved graph template' submenu in the right click options now shows a graph type specific icon next to each saved chart. For example, a saved pie chart will show a pie chart icon.
  • Changed: by default now, list control tooltips only appear if the cell text is too large to fit into the cell.

CommonResources:

  • Fixed: if the user enters a dynamic SQL default on an analysis option, but they hit cancel on the test default popup, the default value will be reset.
  • Changed: N/A as a default option value is no longer automatically set to by a SQL (dynamic) field.

Configuration:

  • Fixed: the configure -> users area did not correctly show the user's recovery email address.
  • Added: a Correlation configuration page, where the user can configure various settings that affect future correlation reports.

CrystalReports:

  • Fixed: (case 25279) an issue where options in the 'choose report' popup were not strictly in alphabetical order.
  • Added: the choose report popup (report diambiguation dialog) has been reworked. It now shows orientation as well as whether that report is a favorite of the user's. Favorite reports are automatically sorted to the top.

Database:

  • Fixed: (case 24518) verifications were not being cleared out on WO clone.
  • Added: the investigation trigger table now has columns to support all four basic western electric rules.
  • Added: (case 23631) stored procedures p_check_investigation_trigger (which checks to see if a specified sample id violates a specified investigation trigger id), and p_trigger_automatic_investigation, which for a specified sample id, finds all investigation trigger rules that could apply, checks to see if they've been violated, and creates investigations if necessary.
  • Removed: f_sample_values_updated, which has been replaced by p_trigger_automatic_investigation.
  • Added: support for investigations based on all 4 western electric rules
  • Added: investigation rules' sample size can now be based on the last N samples instead of just time intervals.
  • Added: index to analysisoptionvalue that makes calculating correlations faster.
  • Added: (case 23630) the new table analysisoptioncorrelation, which stores cached pearson correlation coefficients that are calculated each night, based on user configuration.
  • Added: (case 23630) p_calculate_option_correlation, which calculates the pearson correlation coefficient (using hot-deck last observed value carry-forward for missing data and a 1 hour window for matching corresponding values) between the values for two different numeric analysis options on a certain date range. We also have the procedure p_cache_all_option_correlations, which finds all numeric option pairs and calculates their correlation, storing that information in the new correlation table. The user can customize up to 4 date range intervals to run correlations over. The user can also specify a number of days to keep historical correlation data for (for historical reporting) the default is 7 days. Add event e_cache_all_option_correlations, which nightly recalculates numeric options' correlation coefficients at 11 pm.
  • Fixed: the event that processes alert templates now gets locks exclusive only to their company instead of globally, which previously caused some company's to be unable to process alerts.
  • Fixed: (case 24701) an issue where scheduled WO clones might fail after recent updates.
  • Added: (case 24611) there is now a table where the user can store rules about correlations that should be calculated nightly. The user can blanket suppress an option from all calculations, suppress a specific combination of options, and re-enable a specific pair of options (useful if one of the two options is turned off globally, but should be calculated on certain combinations).
  • Added: (case 24261) support to the useraccess table for storing a record type and record id that is associated with the access attempt (such as a WO #).
  • Added: an investigation trigger to both the investigation table itself as well as the investigation triggers, as a default for investigations created by that trigger.
  • Added: automatically created investigations from investigation triggers now correctly inherit the default investigation type from the trigger.
  • Fixed: the nightly recalculation of correlations is now done at 11pm instead of 11am.

Graphing:

  • Fixed: (case 24500) an issue where the graph would not render at all if more than 256 series were being shown (common if there are many thresholds).

Investigation:

  • Added: (case 23631) support for investigations triggering on any of the 4 western electric rules. Also, added support for a sample size that is the last N samples instead of just time periods.
  • Added: the default comments field for an investigation trigger now involves several new tags, including {?violated_sample_values} which gets a comma separated list of the values that triggered the investigation, as well as {?population_statistics} which contains the number of samples that was in the population that was examined, the standard deviation for that data, as well as the mean.

ITSQLFramework:

  • Fixed: an issue where, after the first database error a user saw, no other database errors would be reported.

Login:

  • Fixed: an issue where changing the user's password would crash the application.
  • Fixed: an issue where deactivated accounts were not showing their lock message when the user attempted to login.

Master:

  • Fixed: (case 24416) an issue where the code that changed comments in the query parser was dropping newlines when it should not, causing stored procedure/function definitions to be hard to read on client databases.
  • Changed: the URL that updates are downloaded from, to support future migration of this service.
  • Fixed: if the user is looking at the update download dialog and they do Actions->reset updates, the dialog is no longer closed and reopened.
  • Fixed: (case 25241) a crash that could happen if the user hit "Hide" on the update download dialog, and then the system automatically checked for updates again in 5 minutes.

Products:

  • Fixed: (case 24693) an issue where the user could not create a new product and then immediately add specifications to that product.

Settings:

  • Changed: (case 24498) the URL of the ITrack Online screen has been changed to the presage wiki page.
  • Fixed: (case 21909) an issue where the user could not set global setting defaults for plant settings or plant/global defaults for user settings.
  • Fixed: an issue where changing a setting, then switching setting context would update the wrong setting context.
  • Fixed: an issue where the settings page would act like the settings page had changed, even after it had been saved.
  • Fixed: an issue where the wrong setting override might be shown if the user selected a different setting scope than "Setting Default".
  • Fixed: an issue where plant level settings would display that they were user level settings.
  • Fixed: an issue where hidden settings were not correctly hidden.
  • Fixed: (case 23257) a query that loaded report data to work correctly with mysql version 5.7.

WorkOrders:

  • Fixed: a recent regression, preventing printing.
  • Added: icon support to right-click menus.
  • Fixed: an issue where a useless popup would appear if the user entered no value in the load WO # box.
  • Added: when the user enters their password to verify a WO, the WO # is now stored with the access attempt.
  • Added: (case 21909) the user is now prompted to enter their password if they are saving a WO and any option values have been modified. This only comes into play if the plant setting "Security"->"Require user authentication for work order save" is set to True.
  • Added: (case 21909) if the user enters their password to verify a WO or save a WO with modified values before the WO has been saved, the access attempt will be updated with the WO # once the WO is saved.
  • Added: (case 25086) the verify user account popup that occurs when the user verifies a WO or modifies option values now displays a more specific prompt in the title bar. This will make it clearer why the user is being asked to verify their user account.


Version 2.3

CrystalReports:

  • Added: support for DateTimes in the report requests.
  • Fixed: an issue where the advanced print dialog would sometimes appear when the user was previewing a report, if the user had no default printer set for that report type.
  • Changed: holding the advanced print button while previewing a report will no longer show the advanced print dialog, as previewed prints don't pay attention to most of the options.

Configuration:

  • Moved: password resetting has been moved and the menu option is now called "Change My Password".
  • Added: newly created user accounts are now created in a "Pending Activation" status, which means the user will have to change their password on first login.
  • Added: the configure users page now shows account status instead of just an 'active' checkbox.
  • Added: a column that shows the last access attempt for each user account, which could be useful for monitoring user accounts.
  • Added: color coded key to the user account status area.
  • Added: global security setting for whether users can change other users' passwords. If they cannot, they can still initiate a secure password reset if that user has a recovery email address set.
  • Added: fields to view the last time a user changed their password for enforcing password age requirements.
  • Added: support for deactivating and reactivating user accounts.
  • Fixed: deactivating a user account with the delete button now sets the deactivation notes on the account the same way hitting the deactivate button does on the user account info page.

Database:

  • Changed: the user table has been renamed to useraccount, and replaced with a view for backwards compatibility.
  • Added: support for higher security passwords to the user account table, along with fields for password recover and storing previous password keys.
  • Added: a 'lock notes' field to useraccount table. This field will explain to a user why they have been locked out.
  • Added: a useraccess table, which will store all access attempts.
  • Added: the useraccess table now tracks what plant the request was made for.
  • Added: the useraccess table now differentiates between locked and deactivated accounts.
  • Changed: password keys can no longer be NULL in useraccounts or useraccess records.
  • Added: a new table, userpasswordhistory, which tracks previous password hashes generated by the user. This will facilitate proper password aging and prohibiting password reuse.
  • Changed: 'Daily Samples' subscription has been renamed to 'Sample Value Summary' since the schedule doesn't have to be daily.
  • Added: support for 'User Authentication' or 'User Authentication Summary' alert subscriptions. These report on failed/successful user access attempts either on an individual or scheduled timing.

DataManagement:

  • Added: (case 23792) the backups created as part of imports are now created much faster and take much less space. Mainly, we now use ARCHIVE database engine and don't create indices on backups.

Graphing:

  • Added: (case 22765) any list with saved graph templates can now be run easily by right-clicking on any list with saved graph templates.
  • Added: better support for date/times in right-click graphing for x-axis values.
  • Fixed: an issue where sending data with line breaks to right-click graphs could cause errors.

Login:

  • Added: forgot password button to the login dialog.
  • Fixed: verification now properly uses the user name and plant that is part of the verification process and those fields are locked.
  • Changed: if the user is authenticating during WO verification, the logged in user isn't changed.
  • Fixed: the user cannot hit escape to close the login box if cancel is not an option.
  • Added: support for any permission being specified as part of a user authentication step.
  • Added: user access attempts are now logged in the database.
  • Added: the login has a different prompt/login button text based on whether the user is logging in or verifying user identity.
  • Added: the password reset dialog now has a location for entering the previous password, and this must match to change password.
  • Added: new passwords set by the user are now encoded in a more secure format.
  • Added: the user is now prompted to enter a password recovery email address when changing passwords, as this is important to resetting passwords later.
  • Added: the change password dialog now supports the user changing their password with a recovery code instead of just their previous password. This overrides 'locked' account status.
  • Added: support for sending password recovery emails to the address registered to the specified user as their password recovery email address.
  • Added: now the user can change just their recovery email address if they leave the 'new' password blank in the change password dialog.
  • Added: support for admins changing other users' passwords (based on security settings) without typing in the previous password.
  • Changed: if a user is pending activation, a new user access status is used if someone tries to log in with that account that denotes this.
  • Added: if an account that is pending activation is logged into, the user will be prompted to enter a password and password recovery email address.
  • Added: password recovery emails are now sent as part of the password recovery process if the user's recovery email address is set.

Master:

  • Changed: (case 7808) the update downloader dialog has been combined with the update log dialog. This prevents the issue where the user's focus was being moved automatically to this popup when downloads finished. This avoids interrupting the user's work.
  • Added: the update downloader dialog can now be hidden or closed immediately instead of having to wait for the downloads to complete. If the user wants to reopen the dialog, they can double-click on the update status in the status bar.
  • Added: the update progress dialog now has a "Show this dialog in the future" checkbox. If the user unchecks this, they will only see the update progress/change log dialog if they double-click on the update status string on the status bar.
  • Fixed: screen list now properly resizes if the user has non-standard windows zoom.
  • Added: support for modal login dialogs, useful for verifying the logged in user.
  • Added: support for locking/unlocking the entire application. This includes most sensitive menu items at the top of the menu bar and the window access menu on the left.

ReportViewer:

  • Fixed: a potential issue where advanced print dropdowns might not work.

WorkOrders:

  • Added: a security setting to control whether or not users must authenticate before they can verify a WO.

Scanner:

  • Changed: Minor cosmetic changes.
  • Fixed: Calculated "choice" fields not saving from scanner. Made calculated fields trump dependent dropdowns.
  • Fixed: Resolved issue with sample Performed time and time zone differences.
  • Added: Login and e-signature authorization.
  • Changed: Added check to prevent user clicking "Back" in web browser
  • Fixed: Inactive options will be hidden.

Version 2.2

REV 17986-18144 Q3 2016 release database version 222

Analyses:

  • Fixed: an intermittent crash on load related to the tooltip on the threshold column not loading.

CommonResources:

  • Fixed: (case 22214) an issue where option choice dropdowns were not correctly limiting results by plant, product, or severity class.
  • Fixed: (case 22440) an issue where attachments wouldn't save correctly on new samples.

Database:

  • Fixed: (case 22366) an issue where cloned WOs would copy the verification due date of the original document.
  • Fixed: (case 22371) an issue where clicking to show/hide series on a stacked column graph without trendlines would not work correctly.
  • Fixed: an issue where showing an hiding a series with a point type other than Circle would cause the newly unhidden points to be circular.
  • Added: (case 22466) the data clone failed event now includes the name of the database and the customer product code for easier identification.
  • Fixed: the chart template now supports aggregate column charts.
  • Fixed: chart data with invalid X axis values is now ignored.

EDocuments:

  • Changed: if an edocument request wants, the output file will not be written. This allows edocuments to be generated into memory without having to hit the disk, which can be comparatively slow.
  • Added: some external functions for just configuring graph options, and another one from generating a graph from options without input.

Graphing:

  • Changed: (case 21229) to make the graph options dialog easier to use, the chart type dropdown is now a list with graph icons. Also, many of the controls in the dialog now have tooltips and clearer names.
  • Added: (case 14508) the graph options dialog now has a preview chart pane next to the chart options. This allows the user to see what the graph will look like without having to generate the final graph. The chart automatically refreshes whenever anything changes that affects it.
  • Added: a 'preview in external browser' button that shows the chart in an external browser window without having to close the dialog.
  • Added: an instructions field that tells the user what they still need to do before the current options can generate a chart.
  • Added: a series point shape column so that the user could choose what shape the points will be.
  • Added: trendline dropdown where the user can choose what degree of trendline they'd like to add to the graph for each series.
  • Added: the right click graphing dialog now has the following new features:
    • Advanced mode: the user can go into 'advanced mode' when building a chart. This shows various extra options that may not always be required when generating a basic graph. The user's selected mode will be remembered.
    • Trendlines: the user can choose to display trendlines for each data series on the graph. If the user is in advanced mode, they can choose the type of trendline as well as whether the trendline's formula and fitness should be displayed in the legend.
    • Point shape: (Advanced mode only) the user can choose the shape of the points in a line/scatter chart for better black&white printout or colorblind accessibility.
    • Cumulative series: (Advanced mode only) the user can choose to make a data series cumulative, making it so that all values will include all previous values in the same series.
  • Changed: current graph template has been modified to no longer show scrollbars in embedded IE windows (required a slightly bigger buffer around all sides). The way the graph resizes has been optimized slightly to better use available screenspace.
  • Changed: current graph template has been modified to properly handle cumulative data series, trendlines, point shape selections, etc.
  • Added: an error message to chart generation that will stop the user if they choose a discrete (non-numeric, non-date) x axis for a line or scatter graph. While these graphs technically work, they are not very useful.
  • Added: (case 20434) support for saving chart templates as well as using saved chart templates.
  • Fixed: an issue where the right click graph template would show unnecessary 0.00 points in line charts if the series was cumulative.
  • Fixed: line charts with missing points are now smoother and interpolate between those points.
  • Fixed: a crash when adding new saved chart templates.

Login:

  • Added: support for new permission related to managing chart templates created by other users.

ReportViewer:

  • Fixed: an issue where date pickers for report parameters might show the year 1899 as the default value.
  • Fixed: an issue where date report parameters with fixed values might not get formatted correctly.

Settings:

  • Added: (case 20434) support for saving/loading chart templates for right-click graphing.

WorkOrders:

  • Fixed: (case 22219) an issue where work orders would set an incorrect due date automatically for WOs that were not supposed to have a due date.
  • Fixed: (case 22290) an issue where analyses that were not in use at the current plant were visible in the default analysis dropdown but not selectable.
  • Fixed: work order types' default analysis dropdowns no longer show inactive analyses unless they were previously chosen for that WO type.
  • Fixed: (case 22234) an issue where inactive recipes were selectable in the recipe dropdown.
==Reports: Investigation==
  • Added: (case 22070) triggering analysis option to the header, when present

Reports: Investigation Overview

  • Changed: (case 21729) comments into a column, shorted results column to make room, and switched to landscape.
  • Fixed: sizing of the created on/by field because it was cutting off time

Version 2.1.5

Database:

  • Added: (case 20830) logging to the dataclone table
  • Changed: (case 20608) deleting a product will now also delete any associated option thresholds/choices.
  • Added: investigationtrigger table now has columns for saying what should happen to an investigation after it is auto-generated.
  • Added: investigations now track which analysis option values triggered an investigation.
  • Added: f_create_workorder, which creates a new work order of the specified work order type.
  • Added: f_investigation_triggered function, which performs any necessary post-creation steps specified in the investigationtrigger record.
  • Updated: f_sample_values_updated now properly remembers the productid of the original. A single sample can now trigger more than a single investigation.
  • Added: f_get_next_schedule_date now accepts a date/time for its 'next occurrence after this date' instead of just a date. This is useful for figuring out when the next occurrence of a schedule would've been after a specified time in the past. Necessary for detecting missed data clone occurrences.
  • Added: index to the log_changegroup table making it possible to quickly look up and see if a previous data clone succeeded or not.
  • Added: (case 21183) an event that runs at every 2 hours and repots any scheduled data clone entries that either didn't run or failed for any reason in the last 4 hours. The recipient(s) of this notification are stored in a setting.
  • Added: the failed data clone alert message has been improved and some errors have been corrected.

Investigation:

  • Added: (case 20340) the investigation rules page now has new fields for configuring advanced investigation rule settings, such as whether to automatically resolve investigations, what analysis type to use for retests, and whether to automatically create retest documents.
  • Fixed: an issue where the investigation history page would let the user go past the last page of results.
  • Fixed: an issue where the investigation history page reported the wrong number of items per page.

Locations:

  • Fixed: a query error that could happen if the user deleted a location.

Products:

  • Changed: the delete product prompt now tells the user that associated thresholds will be deleted as well.

WorkOrders:

  • Added: (case 20340) when investigations are sent to a WO for retest, the retest WO type and retest analysis type on the investigation rule that spawned the investigation are now used to generate the new samples.
  • Fixed: if the user changes the analysis type for an investigation to one that has fewer options, any columns that are no longer necessary are correctly removed.
  • Added: if the user saves without clearing, the WO is reloaded to account for the fact that investigation rules could cause the WO to be reopened, have new samples added to it, or marked as no longer verified.
  • Added: if saving the WO caused new retest WOs to be created, the user is notified of this and given a chance to view that document.
  • Added: when the user sends investigations to the WO to be manually retested, WO type is set to the correct type based on the investigation trigger rule. Also, the analysis type for retest specified there is used for these retest samples.
  • Fixed: (case 19874) if two users save the same option value, the second user to save will no longer see a database error, their data will silently overwrite the previous data.
  • Fixed: an issue where a 'retest WOs created' popup would appear if an investigation was automatically created that did not create a retest WO.

Reports

Certificate Of Analysis

  • Changed: (case 21736) the "Analysis" parameter to a combined "Category: Analysis" parameter

Product Log

  • Added: (case 21738) WO internal notes, made the report landscape, and changed grouping behavior to accommodate the note changes.

Version 2.11

Database:

  • Added: (case 11138) analysis options and choices/threshholds can now be marked as inactive.
  • Fixed: a database error that could sometimes occur if f_get_sample_acceptability was called on a Number value of .
  • Changed: (case 11138) deactivated choices and thresholds no longer affect the acceptability of a value.

Analyses:

  • Changed: (case 11138) deactivated options and option choices/thresholds are no longer shown if the 'show inactive analyses' checkbox is unchecked.

CommonResources:

  • Added: (case 11138) an active checkbox to all analysis options as well as option choices/thresholds.
  • Changed: inactive choices are no longer able to be selected for depending analysis options.
  • Changed: inactive options are no longer shown in the 'Set default value formula' pop up.
  • Changed: inactive thresholds are no longer shown in the 'test value' pop up.

Products:

  • Added: (case 11138) the analysis option dropdowns no longer show inactive analysis options.

Sampling:

  • Added: a new checkbox "Show inactive analyses/options". When checked, inactive analyses and inactive options will be shown to be searched, otherwise they are hidden.

WorkOrders:

  • Added: (case 11138) deactivated analysis options no longer show on new samples. Samples that already have a value filled out for that option will still show it.
  • Added: recipes no longer show deactivated ingredients, though recipes that already have a value filled out for that ingredient will still show it.
  • Changed: deactivated choices in option dropdowns no longer show for new samples, but are still visible on samples where they are in use.

Version 2.1

General:

  • Added: the user can now drag items to the edge of all list controls that support drag and drop to scroll the list.
  • Fixed: if the user drags anything other than files into an attachment area, the 'no drop' icon is shown.
  • Added: if the user drags a file over an attachment area, the list's attachment system is disabled so that the user can drop files into the list as well.
  • Changed: when the user drags items within a list control, they are stored in a special clipboard format so that other applications don't think they can get them.

Analysis:

  • Added: (case 18225) when configuring analyses, support for a 'visible group' dropdown for selecting a user group who can view associated documents.
  • Added: (case 18225) analysis list is now restricted to just those analyses that are visible to the current user's groups and permissions.

CommonResources:

  • Fixed: an issue where the Analysis configuration area would sometimes have uneditable analyses even if the user had Global analysis editing permission. This would only happen if plants were private.

Configuration:

  • Added: configuration of work order types now allows specifying a number of days until verification is due.
  • Added: (case 18225) when configuring work order types, support for a 'visible group' dropdown for selecting a user group who can view associated documents.
  • Added: (case 18225) work order type list is now restricted to just those WO types that are visible to the current user's groups and permissions.

CrystalReportsExtension:

  • Added: (case 20389) the report adder script export now correctly includes the fileid and category in the ON DUPLICATE KEY SET section.
  • Fixed: (case 20389) an issue where clicking "Replace" when adding a new report file in it would instead leave the previous report file in the system.
  • Fixed: (case 20389) the report adder script export now has a query that attempts to find 'empty' AU reports and replace them instead of inserting a duplicate. This will no longer be necessary once report.filename becomes unique.
  • Fixed: an issue where, if the user showed the advanced print dialog, previewing the report would not work.

Database:

  • Removed: a previously deprecated column
  • Added: (case 19608) workorder.verificationdue (datetime) and workordertype.daystillverificationdue. These will facilitate workorders with due dates to verify.
  • Changed: workordertype.daystilldue is now unsigned.
  • Changed: the triggers related to the work order and work order type tables have been re-exported to fix missing columns.
  • Fixed: some errors in a previous update that would cause the supplierfile.plantid to not be created.
  • Fixed: (case 20480) an issue where the automatic data cloning procedure was dropped during 2.05 database update because of the use of the COMMIT keyword.
  • Added: (case 19608) alertsubscription now has a alerttiming of "Verification Expiration Approaching"
  • Changed: e_alert_scheduler has been expanded to handle verification due dates being hit.
  • Changed: p_alert_trigger has been expanded to handle verification due dates being hit.
  • Added: (case 19307) a new table for tracking what default printers should be used for various report type categories. These entries can be per-user, per-plant, or per-productcode (or any mix of those 3).
  • Added: f_get_report_printer returns the printer to be printed to for a specific report type based on input criterion.
  • Fixed: (case 20389) report.filename is now unique. This resolves issues where duplicate reports could could exist on the system due to the auto-updater. In order to do this, duplicate reports got their filename modified to have a "_DUP_<reportid>" added to the end. These duplicates should get cleaned up at some point, as the auto-updater won't maintain them.
  • Added: (case 18225) analysis.visiblegroupid and workordertype.visiblegroupid, which are a 'visible user group' they are assigned to. If set, this will be the only group that can see work orders/samples with those wo types/analyses.
  • Changed: analysis.groupsamples has been switched from a BIT(1) to a BOOL field in order to avoid inconsistencies and BIT columns cause various issues with other applications.
  • Added: (case 18225) 2 new permissions for being able to view work order types and analyses that are not visible to the any groups the user is in.
  • Fixed: an issue in the 2.05 database update that could cause a trigger to be dropped and not correctly re-added.
  • Fixed: (case 21197) an issue where f_get_next_schedule_date might fail if the month offset passed in was 0 for quarterly and yearly schedules.
  • Fixed: (case 21197) a possible issue where p_clone_scheduled_data could fail if the month or day offset was 0 instead of NULL.
  • Fixed: (case 21406) an issue where a sample inserted trigger had a logical error that could cause a stopping error on mysql 5.7
  • Fixed: (case 21594) an issue where the WO clone code wouldn't properly reset verification information.

Home:

  • Added: verified by user column to the work orders list.
  • Added: "Show Verified" and "Show Unverified", which allows a user to easily filter the list to just those documents that need to be verified by their group.
  • Added: verification due date column to the work orders list.
  • Added: all the "Show ..." checkboxes on the work orders page now remember their last setting when the user closes the screen.
  • Fixed: a crash when going to the testing page
  • Added: (case 18225) the work order type dropdowns now exclude all work order types that are not visible to the current user (based on the new 'visible group' on work order types).
  • Changed: (case 18225) results on the work orders page is now restricted by the work order types that are visible to the user. If the user has the permission "Global"->"View other user groups' work order types", they will be able to see those work orders anyway.
  • Changed: (case 18225) results on the testing page is now restricted by the work order types and analyses that are visible to the user. If the user has the permission "Global"->"View other user groups' work order types" and "View other groups' analyses", they will be able to see those samples anyway.

Master:

  • Fixed: an issue where the thread progress dialog that showed "X/Y processes still running" would sometimes show an incorrect # of elapsed seconds if some of the tasks took a long time.

Products:

  • Added: (case 18225) when configuring recipes, support for a 'visible group' dropdown for selecting a user group who can view associated documents.
  • Fixed: an issue where private plants would keep the user from being able to edit global specifications.
  • Fixed: overactive change detection that would occur if the user visited the recipes page.
  • Added: (case 18225) the analysis dropdown list is now limited by visible user groups and permissions.
  • Added: (case 18225) all product specifications for analyses that are not visible to the user (based on user groups and permissions) are hidden.
  • Removed: (case 21144) the public checkbox in the attachments dialog, which was accidentally added.

ReportViewer:

  • Fixed: (case 20702) an issue where some fixed report parameter value defaults would act strangely when the user selected them.

Sampling:

  • Added: (case 18225) sampling history now restricts the searchable analysis list to just those analyses that the user can view (based on the new 'visible group' and permissions).

WorkOrders:

  • Added: (case 19608) work orders now have a 'verification due date'. If a WO gets marked as 'Work Completed', the verification due date will get automatically set based on the work order document's "Days till verification due".
  • Fixed: an issue where, if the user marked a WO as work completed through the popup on save, the assigned to group and the verification due date were not getting set automatically.
  • Fixed: an issue where, if the user marked a WO as closed through the "& Close" checkbox on the screen, the assigned to group and the verification due date were not getting set automatically.
  • Performance: work order saves no longer save samples before and after the work order. This reduces the number of round trips required to save a new WO.
  • Added: (case 18225) analysis dropdown list is now restricted to just those analyses that are visible to the current user's groups and permissions.
  • Added: (case 18225) recipe dropdown list is now restricted to just those analyses that are visible to the current user's groups and permissions.
  • Added: (case 18225) work order type dropdown list is now restricted to just those WO types that are visible to the current user's groups and permissions. Also, if the user attempts to load a WO with a type that would not normally be visible to the user, they are told that access is denied.
  • Fixed: (case 21038) an issue where hitting the attachment button would crash if no sample was selected.
  • Changed: if no sample is selected, the attachments button is greyed out.
  • Removed: (case 21144) the public checkbox in the attachments dialog, which was accidentally added.
  • Fixed: (case 21375) dependent options that require a value to be above or below a specific value no longer trigger if the values are equal (> instead of >= and < instead of <=).
  • Changed: dependent options that have numeric thresholds against choice or text options now compare values numerically instead of like a dictionary.

Version 2.05

REV 17455-17548 2.05 database version 205 RC on 2016-04-25

Tools/Controls:

  • Changed: list combos no longer 'drop down' automatically when the user goes to them. This was causing a lot of unncessary flickering and delays in situations where combos were the first thing in the list.
  • Added: using up/down arrows in list dropdowns now pops open the dropdown instead of going up and down in the list control. This is to make it more consistent with dropdowns outside of the list.
  • Fixed: hitting escape to 'cancel' a dropdown now correctly resets the content back to what it was before the user started typing.
  • Added: list combos are now 'typeable' (auto-complete) by default. To emulate previous behavior, by default all dropdowns that don't specify otherwise will not let the user type in new values.

Analyses:

  • Fixed: an issue where any global option choices would be set to not global when the user viewed them if they had a global product on them. Now, the user can leave an option threshhold/choice global if the product is in use at all plants.
  • Fixed: (case 20301) a crash that could occur if the user made a change to an analysis option or option threshhold and then change analyses quickly.

CommonResources:

  • Added: the configure analyses page now has a 'show inactive analyses' checkbox for hiding and showing inactive analyses.
  • Added: the configure analyses page now has a 'show analysis not in use at this plant' checkbox for showing analyses that are not in use at the currently selected plant.
  • Changed: (case 13385) the 'global' analysis checkbox has been replaced with a 'in use' similar to the product interface where each product can be in use at multiple plants.
  • Fixed: an issue where the empty analysis row might get duplicated if the user switches plants.
  • Fixed: a crash that could happen when the user switches plants.
  • Added: the 'show analyses not in use' now shows the current plant code.
  • Changed: if the user has permission to edit analyses at all plants where an analysis is in use, the user can edit that analysis.
  • Added: support for loading/saving the 'active' analysis flag.
  • Added: inactive analyses no longer show in the analysis dropdown in sample history. However, inactive analyses are shown if they were already selected on a sample.
  • Fixed: a crash that could be caused on sampling history if a search included samples on no WO.
  • Fixed: an issue where analyses for other plants were visible in the analysis dropdown on samples from other plants.
  • Added: maximum length for strings in the configure analyses page.

CrystalReports:

  • FIxed: (case 20188) an issue where switching to email or archive of a print job might still set the print entry as 'Print'.

Database:

  • Added: (case 19210) root cause and root cause comments to the investigation table.
  • Fixed: (case 17752) several references to store are now 'plant'.
  • Added: (case 19469) scheduled reports now have a title that can be sent along in an email.
  • Fixed: (case 20079) an issue where sample values might not get calculated correctly on WO save.
  • Added: (case 13385) what plants an analysis is in use at is now tracked in a separate table called analysisplant.
  • Added: unique indices to all the productplantmap, supplierplant, and analysisplant.
  • Added: copied current analysis usage into the analysisplant table.
  • Added: analysis.active, which will track whether an analysis should be hidden (inactive) or not.
  • Fixed: several triggers no longer reference the deprecated plantid field. Added reference to logging the active column.
  • Added: (case 20089) plant.logofileid, which will store a company logo file id for displaying in reports. Modified f_count_file_references to count these references as well when determining whether a file is 'in use' or not.
  • Fixed: (case 19987) f_get_next_schedule_date was returning midnight of the next day for schedules that were set up on "Daily (Weekdays)" if the time of the schedule had passed.
  • Changed: (case 19987) all automatic WO scheduling is executed on the quarter-hour now instead of hourly. This gives users more specificity on scheduling.
  • Fixed: Updating e_schedule_reports for all products because we noticed that if an error happened during the FETCH query, done never got set to TRUE, and the loop would go forever.

DevIL:

  • Changed: Recompiled DevIL 1.7.8 in VS2008 so that we can remove a dependency on MSVC++8. I also optimized it for speed. It seems to be 'drop in' with regards to the old binaries (ITrack doesn't have to be recompiled to work with the new version).

Investigation:

  • Added: support for a 'root cause' column as well as a 'root cause comments'. The root cause is an autocomplete dropdown that automatically shows all previously entered items. The comments are an unlimited field.

ITMySQLConnection:

  • Fixed: a rare case where a database error that occurred in a function would not be reported to the user or our error reporting services.

Products:

  • Fixed: (case 19969) attaching files to new products or suppliers will now save correctly.
  • Added: (case 19863) the ingredient/product area now has a search filter that will limit the visible options to just ones that match the user's input.
  • Added: (case 19754) a "Specifications" page to the product/ingredient area.
  • Fixed: an issue where saving after removing a product 'in use' at a plant, the user might still be prompted to save, despite there being no new changes.
  • Added: maximum length for strings in the specification list.
  • Added: permissioning to the specification area.
  • Added: plant dropdowns for specifications now contain just those plants that the product is in use at as well as where the user has permission to edit analyses. "Global" is now an option if the product is in use at all plants and the user can edit analyses at all plants.
  • Added: switching options on a specification now correctly removes the spec on the old option and adds a new one to the new option.

Sampling:

  • Fixed: an issue where changes made to WOs since the screen was opened might not be refreshed on subsequent searches.
  • Added: (case 18967) if the user has permission to edit samples on this screen, if any of modified samples are on verified WOs, the user will be notified that they will cause the WOs in question to become un-verified on save.

WorkOrders:

  • Added: (case 18968) the verification date field now shows the time the document was verified as well.
  • Added: (case 18967) if the user adds or removes samples, or changes important information about a sample, and the WO was verified, the user will be notified that they will cause the WO in question to become un-verified on save.
  • Changed: (case 19987) all automatic WO scheduling is executed on the quarter-hour now instead of hourly. All prompts and pop-ups have been changed to reflect this.
  • Added: analysis options of type 'choice' will now auto-dropdown and allow auto-complete typing.
  • Added: recipe production page now allows right clicking in the ingredient list header to hide/show columns.

Reports:

  • Fixed: (case 20012) a query issue in the Investigation Overview report that was causing the original sample to show twice and leaving out the investigation samples on the report.
  • Added: (case 19065) a new report, Investigation, that shows information about a single investigation.
  • Added: (case 20243) a dynamic logo to the Investigation report, which looks at the new plant.logofileid to determine which image to pull from the database

Version 2.0

Tools/Controls:

  • Performance: upgrades to our collections that (in some cases) eliminate as much as 85% of the time spent in some loops.
  • Added: support for icons on 'push-like' buttons.
  • Added: support for typeable columns in lists can now support a 'maximum length' for the data that the user can enter. If the user enters more than this, they hear a beep and are stopped.
  • Performance: formatting of list text has been sped up somewhat.
  • Added: a shared city/state/zip field group to consistently handle all areas where these linked fields should look one another up.
  • Fixed: an issue where attachment interfaces would not lock down correctly in some scenarios. Also fixed an issue where the public checkbox wouldn't work correctly if there was more than one check in the list.
  • Fixed: an issue where custom "ok" message boxes wouldn't have their custom button text shown.
  • Fixed: an issue where times containing midnight might save incorrectly. Also an issue where date/times might save as 1899-12-30
  • Added: doubleclicking an item in a tree control now toggles the expansion of that item.
  • Fixed: an issue where the list footer would become invisible in some scenarios.

CrystalReportsExtension:

  • Added: (case 17915) printing reports now logs successful print information as well as errors to the print queue.
  • Added: proper support for 're-printing' items in the report queue. That way, they won't get another entry in the queue.
  • Added: print previewing now inserts an 'in progress' entry in the print queue, which is overwritten up by the report viewer screen.
  • Added: (Case 18265) the 'choose printer' dialog now has the ability to let the user choose to email a report instead, or archive it on the server. In addition, the user can have a print get 'delayed' in the queue if they wish to schedule it for later.
  • Added: the archived reports subdirectory now has a default value per report type. This way, all saved reports will automatically be saved into sorted subdirectories.
  • Removed: if the user performs an advanced print, the windows printer dialog no longer shows up. Instead, we show the ITrack choose printer dialog, which allows choosing to email or archive.
  • Added: (case 18265) a global hotkey that controls whether to automatically show the advanced print options popup during any print. This defaults to ctrl + left click when printing, but can be rebound in the hotkeys dialog.
  • Added: support for auto-complete options in the email dropdown.
  • Added: if the user enters a new email address in the dropdown, future email operations will 'remember' that option.
  • Fixed: newly created report queue entries are now correctly cleaned up, avoiding memory leaks.
  • Changed: reprinting a report queue entry no longer updates the 'created by user'.
  • Fixed: crash that would occur when cleaning up report queue entries.
  • Changed: if the user chooses to email or archive a report, all reporting code is skipped.
  • Added: support for delayed printing and emailing. If a print job is going to be printed in the future, the print operation is skipped and logged in the queue.
  • Changed: the error report field in the report queue can now go up to 1000 characters instead of being limited to the previous 250 characters.
  • Added: there is a new setting ("Printing"->"Advanced print management server installed"). The advanced printing dialog now deactivates various controls if this setting is off. Essentially, any controls that require report commander to be present are disabled.
  • Added: (case 19676) the advanced print dialog now has a quantity edit so that the user can easily change the print quantity without going into the windows printer dialog.
  • Added: report auto-updater now creates new reports with a category of "Report".
  • Added: Configure->reports page now has handling for setting a report category.
  • Fixed: (case 19832) an issue where exporting a report add script with parameter values could cause a query error.

Configuration:

  • Fixed: a minor flickering issue when opening up the configure->users dialog causing it to load slower.

Database:

  • Added: support for new 'time elapsed' column in the reportqueue table.
  • Added: (case 18727) support for delayed print operations in the print queue (reportqueue.waituntil). There is also now an index on the fields that the report server scripts uses to find printable jobs.
  • Changed: the error field in the report queue can now facilitate 1000 characters.
  • Added: (case 17043) an upgrade had been made to the the event that sends out scheduled alerts to handle expired items. This got missed in a previous update.
  • Added: (case 11913) a new permission to control whether the user is allowed to reopen closed/cancelled investigations.
  • Changed: moved a database update regarding the report queue to the next version, as version 191 went onto the AU earlier.
  • Fixed: (case 19096) an issue where alert subscriptions based on expiration with negative hours until expiration would cause a database error.
  • Fixed: (case 18969) cloned WOs no longer inherit verification from the original document.
  • Added: (case 19164) all log entries older than 4 weeks are now archived every sunday at 1:30 AM by an event. This should hopefully keep the database trim and fast.
  • Changed: (case 19164) log_change and log_changegroup have been transititioned to InnoDB instead of MyISAM engine. This is because mixing the engine types seemed to be causing deadlock behavior in some cases.
  • Added: (case 8672) supplier, supplierproduct, supplierplant, and supplierfile tables for storing information about suppliers.
  • Fixed: the right-clicking graphing template has been modified so that if the user uses a string column as the x axis of a scatter graph (but the strings contain numbers), the graph should look correct.
  • Added: the dataclone table now has a rank column for designating the order that objects that have the same timing will be cloned in.
  • Fixed: an issue where items set to clone 'at the top of the hour' would clone in the previous hour instead.
  • Fixed: the description of one of the product management permissions to be more accurate.
  • Added: 2 new permissions for the supplier management area.
  • Added: suppliers now have account numbers.
  • Added: zipcode.displaycode, which handles zipcodes that are shorter than 5 digits.
  • Added: (case 8672) supplier ingredient lists are now plant specific.
  • Added: supplier attachments are now plant specific. The user can check or uncheck the Global checkbox to specify whether attachments are plant specific.
  • Added: workorders now have a 'source' workorderid. This tracks the document that a work order was cloned from, if any.
  • Added: (case 12126) support for 'favorite' work orders.
  • Added: dataclone table now has fields for 'copy additional data' (copy analysis option values with the WO) and 'copy most recent', which copies the most recent copy instead of the original template.
  • Added: (case 19613) support for p_clone_data to be able to clones sample values if required. Also, added support for the ability to clone the most recent copy of a WO instead of the original.
  • Added: p_clone_data now has better error handling. Specifically, if it exists with an error, all temporary tables should be dropped. Also, all work done in the procedure is part of a single transaction, no matter whether autocommit is on or off.
  • Added: cloned workorders now have their sourceworkorderid set during cloning.
  • Added: p_clone_scheduled_data now properly handles the clonemostrecent and cloneadditionaldata settings.
  • Added: p_clone_scheduled_data now sets session variables @nDataClonesExecuted (number of data clones executed) as well as @strLastCloneError (error message from last failed data clone). This should help any code that calls this procedure to report information about what happened.
  • Added: explicit transaction committing between each clone operation to ensure that some documents are saved even if one fails.
  • Changed: dayofweek is now used instead of dayoffset to figure out which day of the week a Weekly schedules are run on.
  • Changed: the bulk of f_get_next_data_clone_date has been moved to f_get_next_schedule_date so that it can be called for unsaved schedules.
  • Fixed: f_get_next_schedule_date now properly returns the 'next' occurrence date if the current schedule period has passed.
  • Added: new permission for controlling what plants a user can manually copy documents at.
  • Added: comments to the report table columns.
  • Added: report.category, which defaults to the same as report.type.
  • Added: speed index to the report table based on name.
  • Added: (case 19865) report.name is now enforced unique per report type.
  • Added: (case 19467) notes for why a report subscription exists

Graphing:

  • Fixed: a couple issues that could cause javascript errors, keeping the graph from displaying. These mainly occurred if the user didn't specify any analysis types.
  • Added: (case 12785) support for searching by work order type. This supports id (faster) and by name (supports wildcards).

Home:

  • Added: any javascript errors encountered on any pages being navigated to will now be automatically suppressed on client systems, but not in testing.

Investigation:

  • Added: (case 11913) there is a new button that controls whether the user is allowed to reopen closed/cancelled investigations.
  • Fixed: an issue where, if there were multiple pages of investigations, the next/previous spin area might not be visible on some screen sizes.
  • Fixed: (case 19227) an issue where searching investigations by analysis would not work. Using a wildcard in the analysis dropdown would find all analyses, no matter what.
  • Added: hitting enter when on the investigation history page will now perform a search.

libITSQLFramework:

  • Fixed: the timestamps in the query log now use local times instead of UTC times. Also, the values are formatted a bit more logically.

PrintQueue:

  • Fixed: (Case 17810) All errors are now written to file and an exception has been added for writing errors to the database.
  • Fixed: (Case 18665) Added timers, written to db. It should also update lastsenton.
  • Fixed: (Case 18160) Now has an enterprise handler that should pull in printers using f_get_setting.
  • Fixed: (Case 19360) Syntax errors and handling for when no parameters are passed.
  • Fixed: (Case 19360) removed an errant else clause possibly causing failure loops
  • Fixed: (Case 19360) execution time now correctly quoted.
  • Fixed: (Case 19360) PrintQueue now handles missing reports instead of crashing
  • Added: (Case 18528) error reporting emails
  • Fixed: (Case 18430) Now enabled report commander's native error logging. -v flag effects it. To set a custom logfile, a new config setting 'reportcommanderlogfile' exists.
  • Fixed: Printing reports no longer makes a pdf
  • Fixed: Saving files to folders no longer deletes them
  • Fixed: (Case 18727) Now supports a waituntil date/time which specifies when a report should print.
  • Fixed: (Case 19605) Printing to the selected printer now works for reports that have No Printer checkbox checked in the crystal report file.
  • Fixed: (Case 19718) Python now corrects the product config setting from ITrack Enterprise to ITrackEnterprise
  • Fixed: (Case 19406) We now group_concat on | for parameters to avoid splitting off and ignoring subquery parameters.
  • Fixed: (Case 19766) Email delimiter is now a comma instead of a semicolon in the destination field of the reportqueue table.
  • Fixed: (Case 19484) Printqueue now uses f_set_setting to let the other products know that the Advanced Print Management Server is installed.
  • Added: a bunch of comments to make PrintQueue.py simpler to understand, as well as a convenience method for query error handling.
  • Fixed: (Case 19850) Added some error handling for when queries return no results.
  • Added: (Case 19850) Added a setting emailerroron, which when set to False will turn off email error reporting
  • Fixed: (Case 19850) Allowed not specifying a printer.
  • Fixed: (Case 19878) Fixed another crash

Products:

  • Changed: when deleting a product that is not on any samples or thresholds, the confirmation of deletion dialog will now say its on 0 samples so that the user knows it is safe to delete.
  • Added: (case 8672) Suppliers page next to the ingredient/product management page.
  • Added: (case 8672) the supplier management area now has a detail page and attachments page, similar to product management.
  • Added: 2 permissions for supplier management, which match the product management permissions.
  • Fixed: the product attachments page was not correctly locking itself down if no product was selected.
  • Added: (case 8672) supplier management now has a ingredient list to track which ingredients a supplier provides.
  • Added: supplier attachments now have a due date. The due date can be black, blue, or red based on when the document expires.
  • Fixed: an issue where hitting add product didn't work if no existing product was selected.
  • Added: the ingredient list in supplier management now updates in realtime if the user adds/edits/removes ingredients.
  • Changed: plant-level edit suppliers permission now allows the user to edit attachments/documents on a supplier as well as ingredient lists.
  • Changed: new supplier attachments now default to plant specific documents.

ReportViewer:

  • Added: print queue page now has columns for report type as well as report name.
  • Added: column for the new execution time value.
  • Added: the print status column is now bolded and color coded.
  • Added: notes and error info columns are now multiline edits for easier reading.
  • Added: the user can now edit notes on each queue entry.
  • Added: support for reprinting items in the queue now updates the execution time as well as parameter values for the existing entry.
  • Added: clicking the 'cancel' button (little red x) while a preview job is running now cancels the job completely.
  • Added: cancelling a preview either with the little red x or by closing the screen now updates the print queue with a status of Cancelled.
  • Added: previewing reports now correctly saves the execution time in the repot queue as well as when it was previewed.
  • Added: errors that occur during print preview are now reported with the same error reporting box as all other printing errors. These errors are also saved in the print queue.
  • Fixed: any queued report that is sent to the previewer will now correctly save "Preview" as the destination for the report.
  • Fixed: an issue where reprinting reports by sending them to preview would cause a new queue entry to be created.
  • Changed: the report viewer tab now shows report categories and report names in a tree instead of 2 lists.
  • Added: report categories can now contain multiple levels and are no longer attached to the report type (what button it prints from).
  • Added: buttons for setting which reports are a user's favorites.
  • Changed: deselecting a report now makes various parts of the screen read only.
  • Added: the report and parameter lists now save and load their column order and widths.
  • Added: when reports are first loaded up (or they are reprinted) various pieces of meta-data are loaded for the report, including average execution time, who ran the report last, a well as how often it is run.
  • Added: (case 19808) support for adding reports to the user's favorite reports. All favorite reports show up in a special "* Favorites" area.

Sampling:

  • Fixed: (case 18226) when the user checks or unchecks an analysis to search, it is grouped at the top of the list, making it easier to see which items are checked.
  • Fixed: a bunch of issues where the graphing tab would flicker when showing a new graph, and situations where the address bar and buttons would not be visible.
  • Fixed: cases where the refresh button would not work.
  • Fixed: an issue where all data for all time would be graphed in some situations (the user went to the graphing tab without performing a search or they hit clear). Now, a blank page is shown instead.
  • Added: a wait cursor now appears until the graph is completed. This is helpful for knowing when particularly large graphs are still being rendered.
  • Fixed: an issue where performing the same search more than once would show a blank graph page until the user clicked on it.
  • Added: (case 12785) there is now a work order type dropdown when doing sample searches.
  • Changed: if the graphing web page has a javascript error, that is now suppressed rather than being shown to the user.

Settings:

  • Fixed: an issue where the print queue page on the report viewer screen would incorrectly ignore the 'show printed' checkbox.
  • Added: support for print logging in the report queue.
  • Added: support for mouse buttons in key bindings.
  • Added: doubleclicking a keybinding now allows the user to immediately rebind that action.
  • Added: support for an email auto-complete in the email dropdown when printing reports to email. Currently, the email auto-complete contains all user emails as well as historical emailed reports.
  • Performance: when a user closes a screen, column order is now saved with an INSERT ON DUPLICATE KEY UPDATE instead of REPLACE INTO, which will reduce traffic and disk writes.
  • Added: support for some new features on the report viewer screen.
  • Added: support for report categories.
  • Fixed: (case 19255) an issue where user settings would not save any changes if the user logged out and logged back in before closing the application.

WorkOrders:

  • Added: a new button for copying the currently loaded WO, as long as the user has permission to create new WOs.
  • Fixed: if the WO screen gets saved but no WO is loaded, the user will not get an error that the WO is empty.
  • Added: if the user opens a WO, the edit work orders page is now automatically activated.
  • Added: if the user does not have permission to manage automatic work orders at any plants, the automatic WOs tab is completely hidden.
  • Added: A new 'automatic work orders' page where the user can configure automatically generated WO documents:

Automatic Work Order Scheduling:

  • Added: (case 12126) button to send historical workorders to new schedules.
  • Added: support to remove existing scheduled documents.
  • Added: the user can now add/remove workorders as favorites.
  • Added: checkboxes to control whether the user wants to see open, closed, and non-favorite work orders.
  • Added: whenever a schedule type is chosen, the various schedule parameters will become editable or readonly.
  • Added: support for a new permission to control whether the user can add automatic WO cloning.
  • Added: the historical WO list now sorts favorites at the top.
  • Added: a check to ensure that weekly schedules aren't saved without a day of the week to clone on.
  • Added: a 'next scheduled occurrence column, which shows information about when a schedule will execute next.
  • Added: double-clicking a historical WO will add that item to the scheduled WOs.
  • Added: a button to clone any selected historical documents. This is useful when work orders can't be scheduled regularly. The user can choose to clone the WOs with values or without.
  • Added: a button to execute selected WO schedules to clone the documents immediately.
  • Added: a button to rerun all saved WO schedules immediately. This effectively "Re-runs" all schedule checks that should've been executed in the previous hour. If any WOs are cloned, the user is told and they are given the ability to open the last one. If there are any errors, the user is told. If all WOs were cloned successfully in the last hour, nothing will be created.

Reports

  • Fixed: (case 20012) a bug in Investigation Overview causing the original sample to show twice instead of including any investigation samples.
  • Added: (case 19211) Investigation Overview, a new report that looks at investigations. Original sample is starred.
  • Added: (case 19710) the ability for more fields to be able to grow without cutting off on the Certificate Of Analysis report.
  • Added: (case 19636) a new report for printing LA barcodes on demand, LA Label.rpt. The location and analysis parameters supporti the wildcard * so more than one combination can be selected at a time.
  • Changed: (case 18715) combined Analysis and Category parameters into one on Failed Results report.

Version 1.9

REV 16767-17048 1.9 database version 190

CommonResources:

  • Fixed: (case 15799) if the user deletes a default option value from a work order, it will no longer be replaced by the 'default' value.
  • Added: (case 17193) if the work order type changes, the product/ingredient will now be emptied if the new work order type doesn't support products or ingredients.

Database:

  • Fixed: an issue with a previous update setting workorders to open that were supposed to be closed and vice versa.
  • Fixed: an issue where p_clone_data was throwing a database error when cloning work orders.
  • Added: (case 17044) the user can now subscribe to alerts when investigations are Created, Modified, Opened, or Closed (Resolved).
  • Changed: (case 17420) work order due date is now a date/time instead of just a date. For backwards compatibility, all existing due dates now have a time of 11:59 PM to match previous behavior.
  • Added: (case 17043) preliminary support for subscriptions to alerts on work orders that have expired or are going to expire in a set number of hours.
  • Added: an index to make lookups by due date faster.
  • Added: (case 17385) a new column to alertsubscription that allows a subscription to only be sent if there are required options that are not filled out.
  • Fixed: alertsubscription.active was not being properly respected as a way to disable alerts.
  • Added: (case 17385) alert subscriptions can now be restricted to only when required option values are missing.
  • Added: (case 7828) a new table for creating rules for automatic investigation creation.
  • Added: several columns to the investigation table to track information about new automatically created investigations.
  • Added: f_get_item_in_subtree, which checks to see if a locationid or productid is the descendant of another locationid or productid without dynamic SQL.
  • Added: (case 7828) f_sample_values_updated now looks at the investigationtrigger table to see if any of the modified option values require an automatic investigation to be created.
  • Changed: f_sample_values_updated now no longer updates option value acceptability for option values that were already calculated. This should prevent closed samples from being recalculated from new rules.
  • Added: (case 12969) a permission that controls whether the user can add new work orders (defaults to the same as the user's ability to edit work orders).
  • Fixed: (case 16886) when the user performs right-click graphing and numeric values being graphed are empty, they are no longer graphed as 0. Now, such values are not present in the graph.
  • Changed: (case 17570) the investigation field findings has been renamed to corrective action and a new preventative action field has been added.
  • Added: (case 17716) sample.sourcesampleid, which will track when one sample is cloned from another.
  • Added: (case 17716) p_clone_sample now copies the original sampleid into sourcesampleid, so that we can know when one sample clones to another.
  • Added: (case 15895) recipes now have a batch unit.

Home:

  • Added: (case 17420) due date and date created now display date and time in the work order list.
  • Fixed: work orders that are due today (but have not yet expired) are now properly shown in blue instead of red.

Master:

  • Added: (case 13008) when the application cannot reach the local database during an update attempt, the original MySQL error is now sent out as part of the error report, instead of the current, generic Database error 0 that we currently get.
  • Changed: (case 17194) we disabled some of the COM timeouts in the application, as this seems to make exporting reports from the crystal reports previewer not show erroneous 'server busy' messages.

Products:

  • Added: (case 15895) each recipe can now have a batch unit filled out.

Graphing:

  • Added: support for analysis level acceptability filters (showing samples with at least one option value that is acceptable/marginal/unacceptable).
  • Fixed: when a graph is filtered by the collected by user, the graph will now correctly be filtered.
  • Added: (case 15834) if results were on samples with no location, the location information in the hover text now shows NONE for the location.

Investigation:

  • Added: (case 15708) support for screens sending a specific investigation to the screen to be viewed. If the current set of results has the investigation in question loaded, it will be selected. Otherwise, that item will be loaded first.
  • Changed: the screen icon has been updated from the generic icon.
  • Added: (case 7828) the constraints page now has a list of all rules being used to automatically create investigations.
  • Changed: constraints tab renamed to Rules.
  • Fixed: an issue where changing location wasn't saving the correct value.
  • Added: adding and deleting investigation rules now works correctly.
  • Added: closing the scree with changes to investigation rules now prompts the user to save.
  • Added: support for deactivating investigation trigger rules.
  • Added: the description column for investigation rules now automatically generate in a human-readable string based on the choices made in the other columns.
  • Added: default comments now are now set automatically on new investigation rules. This way the user will know more about why an investigation was created.
  • Changed: the comments and findings fields on the investigation history screen are now 'multi-line' edits, so the user can enter multi-line data more easily.
  • Added: (case 17570) the investigation field 'findings' has been renamed to corrective action, and a new preventative action field has been added.
  • Added: (case 17680) the analysis dropdowns on the investigation history tab are now all plant specific. Other plants' analyses will no longer show up here.
  • Added: (case 17680) the automatic investigation constraints page now only shows plant-specific analyses in the dropdowns.
  • Added: (case 17569) there is now an analysis category column in the investigation history as well as a filter. When the user uses the analysis category to filter, the analysis dropdown is not usable as a filter.
  • Added: (case 17647) investigations now show the sampled by/date of the original sample, and each investigative sample also shows a sampled by/date.

ITSQLFramework:

  • Added: Error reports now have a "Force advanced information" option. If this is set to true, when the error message is displayed, the 'advanced info' checkbox is automatically checked (and hidden). This is useful when code wishes to use the error reporting box as a normal error popup but we can't gaurantee that everyone views advanced info.
  • Fixed: an issue where very long words (like a URL) were not properly resizing the height of the message body in the error message popup.

ITMySQLConnection:

  • Updated: local connection library version updated to version 6.1.5

SamplingHistory:

  • Added: (case 17004) the user can now specify an acceptability filter at the analysis level, rather than just at the option level. Filling this out will filter to just those samples that have at least 1 option value with the chosen acceptability.
  • Changed: various tooltips to be clearer and more concise.
  • Changed: (case 17004) the acceptability default in the filter options has been moved to the new search defaults area. In addition, it now controls just analysis acceptability instead of option acceptability filters.
  • Added: the search defaults area now has a 'show all options' checkbox. When checked, any analysis added as a filter will automatically select all options to be shown in the results. When unchecked, the user must choose options to display manually.
  • Added: right clicking in the analysis/option list now allows the user to quickly show/hide all options for a chosen analysis.
  • Added: graphing pane now supports analysis level acceptability filters.
  • Fixed: (case 17466) an issue where analyses that were not supposed to be shown were being shown in the results.
  • Added: (case 15708) any loaded samples that generated an investigation, or were generated by an investigation will now show an attention icon. Depending on the sample's association to the investigation, one of 2 icons will be shown. Double-clicking either one will open that investigation on the investigation screen.
  • Fixed: an issue where saving changes would not immediately display the updated colorization on unsaved option values or remove the 'save' icon on modified rows.
  • Added: saving samples now refreshes investigation status based on the new automatic investigation creation system.

WorkOrders:

  • Fixed: (case 17532) an issue where changing a value on a sample might set all other option values back to the default values.
  • Fixed: an issue where the user would be unable to edit a new work order if they didn't have permission to edit WOs not assigned to their group, and the default WO type had a group the user didn't belong to.
  • Added: (case 15708) any loaded samples that generated an investigation, or were generated by an investigation will now show an attention icon. Depending on the sample's association to the investigation, one of 2 icons will be shown. Double-clicking either one will open that investigation on the investigation screen.
  • Added: (case 17420) due date now allows the user to specify a time in addition to a date for the WO to be due.
  • Changed: date created now shows time in addition to date.
  • Fixed: an issue where date created was not saving a time, just a date.
  • Fixed: whether the finalize/close WO button is greyed out or not is now refreshed when the document verified checkbox is changed.
  • Added: (case 7828) if the user modifies any option values and saves, the system will now examine all automatic investigation creation rules and see if an investigation needs to automatically be created.
  • Added: on save, investigation status is now refreshed for all samples in case an investigation was created (either automatically or by another user) since the user opened the WO.
  • Added: (case 12969) saving WOs now throws an error if the user is creating a new work order at a plant they don't have permission to create a WO at.
  • Added: (case 12969) if the user has no permission to add WOs at any plant, the work order interface is locked down.
  • Added: (case 15895) in the production page, when a recipe is selected, that recipe's batch unit is now shown.

General/Controls:

  • Fixed: (case 17707) a crash that would be caused when hitting the up arrow in an advanced combo box when nothing was selected.
  • Fixed: an issue where paging combo boxes weren't correctly 'going to a page' during setting initial text.
  • Fixed: (case 17672) an issue where deleting all items from a list could leave dead whitespace in the list when new items are loaded back in.
  • Fixed: an issue where a variable was not initialized, leading to somewhat random behavior on ITDateTimeCtrl's where their style was set to date and time.
  • Fixed: an issue where ITDateTimeSetting::Reset was working inconsistently and could create an COleDateTime that was invalid.

Reports

  • New Report: Choices and Thresholds (case 17854): This is a report that everyone could benefit from if they like the Analysis Management Screen but need to see more than one option at a time. It has a combined parameter that lets you filter by Analysis Category, Name, and Option - wildcard supported.
  • Updated Report: Failed Results (case 17342): Added a parameter option for all plants, changed report type to Production, changed default date range to yesterday-yesterday, removed Acceptability column, swapped two columns' order.

Version 1.8.1

Database:

  • Added: (case 11565) there are now tables for scheduling reports to be run and either saved into a directory, emailed to a recipient, or printed out of a network printer.
  • Fixed: an issue where the event that creates schedule instances would thrown an error if the start date was set to '0000-00-00'.

ITMySQLConnection:

  • Fixed: an issue where errors that happened during StoreMultiple were not being reported in any way (so long as the syntax of the entire query string was correct). Now, if any part of the query set fails, the entire thing fails and it stops grabbing results. This may cause false-positives in some situations where 1/10 queries is allowed to fail, but since each ITSQLResult cannot report the error of an individual query, I think this is the best we can do for now.

ITrack.exe

  • Changed: (case 17194) we disabled some of the COM timeouts in the application, as this seems to make exporting reports from the crystal reports previewer not show erroneous 'server busy' messages.

ReportsExtension:

  • Fixed: an issue where date parameters with no default value might cause an error when previewing or printing.

ReportViewer:

  • Fixed: (case 17162) if the report viewer screen was closed while a report preview was being built, or the user previewed a different report altogether, a crystal error would sometimes appear and it would occasionally keep the report viewer from previewing new reports. Now, we attempt to cancel the current preview and the user must wait for this cancellation process before closing the screen.
  • Fixed: an issue where date parameters might sometimes not display correctly.
  • Added: the report queue tab now works with the new report queue fields. Also, we now display notes and error message on the screen.

Sampling:

  • Added: (case 17176) the user and time of WO approval are now in the 'work order fields' that the user can show on samples' history.
  • Added: (case 17004) the user can now specify an acceptability filter at the analysis level, rather than just at the option level. Filling this out will filter to just those samples that have at least 1 option value with the chosen acceptability.
  • Changed: various tooltips to be clearer and more concise.
  • Changed: (case 17004) the acceptability default in the filter options has been moved to the new search defaults area. In addition, it now controls just analysis acceptability instead of option acceptability filters.
  • Added: the search defaults area now has a 'show all options' checkbox. When checked, any analysis added as a filter will automatically select all options to be shown in the results. When unchecked, the user must choose options to display manually.
  • Added: right clicking in the analysis/option list now allows the user to quickly show/hide all options for a chosen analysis.
  • Added: graphing pane now supports analysis level acceptability filters.
  • Fixed: (case 17466) an issue where filters might apply to options on other analyses.

Sample Graphing:

  • Fixed: an issue where the user might get 'all series must share the same type' error if they were mixing date options with non-date options.
  • Changed: the graph will use a date Y axis if all the options being graphed are dates or times. Otherwise, these series are hidden.
  • Added: the format of the information popup has been changed to be more readable and to include the plant code.
  • Fixed: the format of dates (date/time options only) in the information popup has been changed to be easier to read.
  • Fixed: an error that could occur if the URL contained no option filters.
  • Added: support for analysis level acceptability filters (showing samples with at least one option value that is acceptable/marginal/unacceptable).


Version 1.8

Controls:

  • Fixed: (case 16370) an issue where the application might crash if the user typed something into a dropdown that didn't match an item then clicked outside of the combo.
  • Fixed: (case 16002) an issue where using the mouse to click (confirm selection of) the first suggested now properly selects the item. This was only causing trouble when the user would look items up by something other than the start of the item text.
  • Fixed: a crash that could happen if SetColumnWidth was called on a non-existant column id. This would happen in some scenarios due to resizing before columns were added.
  • Fixed: an issue where combo boxes were not scrolling correctly in windows 10 with the 'scroll inactive windows' windows setting on (which is on by default).
  • Fixed: an issue where clicking on the scrollbar of a combo box could affect how the mouse worked, such that the user could move the application without moving the dropdown window.
  • Added: support for mouse scrolling in combo boxes for any mouse wheel with customized sensitivity.
  • Fixed: an issue where close buttons in a list were sometimes showing in the wrong spot on list controls that hadn't been resized yet.

Graphing:

  • Added: (case 15353) there is now a 5% buffer around the outermost data points in the graph.
  • Changed: (case 13333) filling out only a from or a to value will no longer do an 'exact' search. Now, they will do a range search. So entering a 'from' value of 5 will search for everything equal to or greater than 5. This only applies to range searched option types.
  • Added: (case 15673) support for switching between the AND and OR operation regarding option value filters.
  • Fixed: date/time option filters now work correctly.
  • Changed: date/time options were not graphable previously. Now they should work. Currently, showing thresholds is incompatible with graphing dates.

Analysis:

  • Changed: (case 15289) newly created thresholds now default to Unacceptable instead of Marginal.

Configuration:

  • Changed: (case 14473) the home screen graphing URL and the sampling history page now use global settings instead of plant settings to store these values.
  • Added: (case 15217) work order type configuration now supports setting whether a verification step is required for a particular WO type as well as a default verification user group.

CommonResources:

  • Added: (Case 15331) the Products->Configure Recipes page now has a new column in the ingredients list where the user can specify whether the thresholds are considered 'fixed' or 'per-batch'. This controls whether thresholds on recipe options are calculated against WO totals or against average per-batch values. This functionality only applies to numeric options when batch and production volume is not 0.
  • Added: threshold type defaults to matching the ideal value type (Fixed or Per-Batch). If the ideal value is 'Calculated', the threshold type can be either fixed or per batch.
  • Fixed: a possible crash when launching a tree report dialog.
  • Added: an icon to the inspect value button on the sampling detail page.
  • Fixed: the remove button is no longer clickable when no item is selected.
  • Added: support for a new permission "Can edit work orders assigned to other groups". If the user doesn't have this permission, they cannot edit samples/WOs assigned to user groups that they are not in.
  • Fixed: an issue where the attachments dialog was always editable. Now, the user can only edit attachments on samples they could otherwise modify (all permissions present and sample is still open).
  • Added: The sample detail page now has tooltips for all UI items.
  • Added: (case 14077) the user must now have the permission to delete saved samples in addition to the ability to edit samples in order to delete a sample.

Database:

  • Fixed: an issue where alerts' email body could not exceed 64KB.
  • Added: nightly sample alerts now properly respect restrictions on analysis, plant, group, product, etc.
  • removed: several unused settings.
  • Added: there is now a stored procedure that will clone all data that needs to be cloned for the specified date/time. The hourly event now calls this function.
  • Changed: (case 14473) the home screen and sampling history URL settings have been moved from plant settings to global settings.
  • Added: (case 15331) support for analysis options to have Per-Batch thresholds as well as Fixed thresholds. These control whether thresholds on recipe options are calculated against WO totals or against average per-batch values. This functionality only applies to numeric options when batch and production volume is not 0.
  • Added: (case 15331) option value calculation functions have been modified to support new Per-Batch thresholds.
  • Added: lot number and expiration date to all option values. This will mostly only be used for production work orders.
  • Added: (case 15217) the workorder now has a status field, which can be Open, Sampled, Closed, and Cancelled, similar to sample statuses.
  • Changed: various triggers to match the new workorder status field.
  • Added: (case 15217) support for WO verification to WO types.
  • Fixed: an incorrectly named permission
  • Added: (case 15217) a new permission that controls whether a user can edit work orders that are assigned to other groups. This permission has been auto-granted to all users who could edit work orders previously for minimum impact.
  • Added: (case 15217) a new permission that controls whether a user can verify work orders.
  • Added: (case 5844) most important presage tables now have logging turned on by default, rather than relying on users to ask for it. This will add a certain amount of slowness.
  • Added: (case 14077) a new permission that controls whether a user can delete saved samples from a work order. All users with the permissionn to edit work orders automatically have this permission to minimize disruption.

Home:

  • Changed: support for new WO status changes.

Investigations:

  • Added: (case 12417) all readonly columns now have a slightly gray background to help the user to know what columns can be edited.
  • Added: (case 12417) the investigation detail list now shows the sampling comments and testing comments of the samples in question. These fields can be edited from this screen directly.
  • Changed: (case 12417) the result field now has option labels as well as option values. Also, the investigation only shows options that failed on the original WO. In addition, follow up WOs only show values for options that failed on the original document or that failed on the retest.
  • Added: list column order and widths are now remembered when the screen is closed.

ITMySQLConnection:

  • Fixed: an issue where an error would occur during connection (though it would not be shown to the user). This was causing a small delay on every launch of ITrack. Also, connecting via named pipe should work correctly now.

Login:

  • Added: all groups the currently logged in user is part of are cached for faster group checking. Also added some external functions for other screens to utilize this information.

ReportViewer:

  • Fixed: (case 15785) an issue where key choice parameters were displaying the incorrect value as soon as the user chose a value.
  • Fixed: (case 15785) an issue where date, time, and date/time fields would display default values in a different format than the user's windows setting for date/time format. This was leading to those fields losing their default value.
  • Fixed: (case 16029) entering a date before 1970 will no longer cause date-time pickers in the list to throw an error message that the user cannot clear. The user should now be able to enter any date back to 1601 (limited by the windows date time controls).
  • Added: (case 16246) if the EDocuments extension is not loaded, the report viewer will attempt to continue using dynamic report parameters anyway. This could lead to database errors for some more complex reports, but it should be very rare. If the EDocuments extension could not be found during dynamic report processing, the status bar will now show a warning.
  • Fixed: reports now show in alphabetical order.

Sampling:

  • Fixed: an issue where filling out an option choice would check the option 'use' checkbox for displaying the option in the results, but the option would not be displayed in the Results.
  • Added: after performing a search, when the search pane shrinks, all selected options will be scrolled into view so that its easier to tell what was searched for.
  • Changed: (case 13333) filling out only a from or a to value will no longer do an 'exact' search. Now, they will do a range search. So entering a 'from' value of 5 will search for everything equal to or greater than 5. This only applies to range searched option types.
  • Fixed: an issue where date/time option filters were not being sent to the graph correctly.
  • Added: (case 15673) a new checkbox in the advanced search options that toggles between using AND and OR between analysis option filters and acceptability. Essentially this allows the user to choose between searching for "value between 1-10 AND value unacceptable" or "value between 1-10 OR value unacceptable"
  • Added: tool tips for all controls on the sample search page. Now, the user can hover over any controls to see info about their purpose.

Settings:

  • Fixed: (case 15442) an issue where global settings were not loading correctly. This was causing those values to be overwritten when the user would close the application.

WorkOrders:

  • Removed: (case 15860) closing a WO no longer suggests sending a notification.
  • Added: lot number and expiration date to all steps/ingredients on production work orders. These are optional, and allow the user to enter information for ingredient traceability.
  • Changed: for simplicity, the options in the Set Status dropdown button are hidden for samples when on the recipes page and vice versa.
  • Changed: there is no longer a second apply button in the sampling detail page.
  • Added: (case 15217) there is now a checkbox for marking a work order as verified. Currently this operation can be performed after a document has already been closed, or before.
  • Added: (case 15217) a 'verified by' and 'verified on' fields which are set to the current user and time when a document gets marked as verified.
  • Added: support for a new permission "Can edit work orders assigned to other groups". If the user doesn't have this permission, they cannot edit WOs assigned to user groups that they are not in.
  • Added: support for a new permission "Can verify work orders". If the user doesn't have this permission, they cannot mark a document as verified.
  • Added: work order types that require verification no longer allow the user to close them without verification.
  • Added: new status checkbox "Work Completed" which represents the state where a work order has had all its work completed and all data entered. This state implies the document is ready to be verified, but still allows modification (unlike closed).
  • Fixed: an issue where the user could reopen a WO when they didn't have permission.
  • Fixed: several rare cases where the user might be able to affect a document they didn't have permission to edit. Now a user without permission to edit a WO can only print the document (no saving occurs).
  • Added: icons to several buttons.
  • Fixed: several 'sanity checks' on sample data was being skipped if the document was being closed. They are now performed even if the document is being closed.
  • Changed: if a WO is completely filled out, the user is now asked if they wish to: "Leave WO Open", mark the WO as "Completed", or mark the WO as "Closed". The closed option can only be chosen if the WO is verified or the WO type doesn't require verification. This replaces the old pop-up where the user is asked if they want to close a WO because all data is filled out.
  • Added: the user can now verify work orders that they do not have the ability to edit. This allows creation of users who verify work but do not have the ability to edit said data.
  • Added: if the status of a work order goes from Open to either Work Completed or Closed, the assigned to group will be assigned to the verification group specified on the work order type.
  • Added: verifying and un-verifying WOs works now and sets the verification date and verified by user.
  • Added: The edit work order page now has tooltips for all UI items.
  • Added: the sample schedule page now has tooltips for all UI items.
  • Added: the production page now has tooltips for all UI items.
  • Added: (case 13590) a refresh WO button, which reloads the current work order from the database.


Version 1.7.1 (Hot fix)

CommonResources:

  • Fixed: a minor misspelling.
  • Fixed: the edit default value dialog no longer shows "Recipe Volume" and "Batch Volume" when editing default formulae for sample options.
  • Fixed: (case 15534) an issue where the user could not create default value formulas that involved new (unsaved) analysis options.
  • Added: (case 15218) changing the default value to "" will now automatically check the "Fixed" value radio button. Entering something that looks like a formula will now automatically check the "Calculated" radio box.

Database:

  • Fixed: an issue where the scheduled alerts were not being sent correctly.
  • Fixed: (case 15377) a possible issue where saving a WO might fail with an error.
  • Added: the data clone procedures now log the id of the new document that was created for easier debugging.
  • Removed: a setting that is no longer used.

Sampling:

  • Added: (case 15410) the user can only filter a search by 25 or fewer analysis options. This avoids a database error that can happen if it gets above that value.
  • Fixed: (case 15411) an issue where searches that returned more than one result (or performing a search more than once) could cause the "Show Testing/Sampling Details" checkboxes to be hidden.

Settings:

  • Fixed: GetCompanyCode now properly gets the presage company code from the appropriate setting.
  • Fixed: (case 15442) an issue where changing global or plant level settings and saving would temporarily change the setting, but it would be reset later.

WorkOrders:

  • Fixed: an issue where WOs would show other plants' analyses.



Version 1.7

General:

  • Fixed: (case 14319) an issue where double-left clicking in an edit did not select the entire word that was clicked on.
  • Fixed: lots of minor issues with dropdowns not working as expected.
  • Fixed (list control): (case 14353) if a pop-up happened (or something caused the mouse to move) during WM_ITLC_CELLTEXTCHANGED or WM_ITLC_EDITKILLFOCUS when the user was left clicking somewhere in the list, it was possible that when the modal dialog box was closed, the current mouse position would be used for click handling or drag & drop handling, causing items to get rearranged strangely.
  • Fixed (list control): a minor issue where columns wouldn't always resize to fill the entire list
  • Fixed: an issue where a property page that was initially hidden would have its tab text set to "" when it was first shown.
  • Fixed: an issue that could cause an advanced combo to ignore the first selection change the user made by clicking.
  • Added: (case 14918) the page up/ page down keys now scroll a whole page in all combo boxes.
  • Fixed: a long-standing issue where date-time fields in a list control would not draw the up/down arrows correctly until the user put their mouse over them.

Analysis:

  • Fixed: (case 14514) an issue where the analysis screen would crash when the plant was changed on the analyses tab.
  • Added: (case 12811) support for upcoming recipe features.
  • Fixed: the check threshhold dialog should no longer show inactive products/ingredients in the dropdown.

CommonResources:

  • Fixed: an issue where calcualted values weren't being calculated correctly if they were not the last option on the analysis.
  • Changed: (case 12811) the analysis management page has moved from the Analysis module to the common resources module. This should not affect program behavior.
  • Added: (case 12811) recipes and ingredients now support quantities. Ingredient quantities now allow fixed values, per-batch quantities, and calculated values.
  • Removed: samples can no longer be created for recipes
  • Fixed: the print tags popup no longer has memory leaks.
  • Fixed: the print tags popup now has a layout and text prompts similar to other screens.
  • Added: icons to the buttons in the print tags popup.
  • Changed: (case 14964) some of the work done by the sample list has been moved to a shared interface to benefit the new recipes page.
  • Added: support for 'per batch' default values, which are multiplied by the ratio between the production volume and the batch volume.
  • Added: support for new variables in calculation formulas: batch_volume and production_volume, which are filled out by the corresponding values when performing calculations.
  • Added: (case 13307) many fields from the work order are now visible per sample in the sample results.
  • Added: (case 13307) there is now a 'show work order detail' which shows/hides work order columns in the list.
  • Changed: the sampling and testing comments are now visible no matter even if the user is hiding sampling/testing fields.
  • Added: (case 15329) recipe ingredients and instructions that use a checkbox now default to showing an ideal of "True".
  • Fixed: (case 15329) an issue where boolean ingredients/instrucitons would always show False as their ideal value.
  • Fixed: (case 15159) inactive products/ingredients no longer show in the analysis configuration page or the sample detail page.

Configuration:

  • Added: the Configure Work Order Types page now allows the user to choose a default user group to assign those WOs to.
  • Removed: (case 10566) creating a new user no longer copies over info on the basic information tab
  • Removed: creating a new user now deselects the previously selected user(s) so that changing the new user won't accidentally update other users as well. The user can still multi-select users if they wish.
  • Fixed: (case 14468) an issue where, if all users were deselected, the permissions on the permissions tab were not reset to None. This was a problem because new users were getting the last selected users permissions, which was not an obvious behavior.
  • Added: the connectivity tab is now laid out more like the other tabs.
  • Added: (case 14588) there is now another URL on the graphing page for the home screen graphing URL. The default goes to http://home.presageanalytics.com/graph_advanced.php?userid=...&plantid=...&productcode=...

CrystalReportsExtension:

  • Removed: Edit->Options->Reports. This page has been moved to its own configuration screen because it affects all users, not just the local machine. Some users were accidentally changing reports when they meant to just configure their printers.
  • Added: Configure->Printers. This is a permission-controlled dialog for managing all reports, system-wide.
  • Added: Edit->Printers. Since this is a semi-common user operation, the printers page has been given its own edit dialog. For now, it still appears in edit->options as well.
  • Added: support for retrieving information about a crystal report file loaded from the system. We can read parameter names and types as well as page orientation and desired paper type.
  • Added: the rank column is now present in the Configure->reports dialog.
  • Added: if the user adds new Report(s) from a file (through drag and drop or the add button), the report file is scanned for parameters and paper orientation. This information is auto-populated into the new report.
  • Added: support for managing fixed report parameter values in the configure->reports dialog.
  • Added: the advanced button now has a 'export selected reports' option. This will create a .SQL file with queries that will create the selected reports, parameters, and parameter values on any database. This will only be useful for someone who wishes to manage their own report files (rare) as well as the application support team.

Database:

  • Changed: (case 13327) location code can now be a full 50 characters.
  • Added: (case 14235) new field for tracking default worker group for new WOs of that type.
  • Added: (case 14253) a field for tracking default group per work order type.
  • Fixed: (case 14382) an issue where some WOs would fail to clone because they were too large. This could also affect creating a new WO with many samples on it.
  • Added: (case 14514) to support upcoming changes to recipes, analyses and analysis options have been extended with some extra fields for tracking necessary data.
  • Fixed: WOs without any failures might send out alerts even if the user was subscribed for alerts for failures only.
  • Fixed: an issue where email alerts were thinking that they failed when they had succeeded. Error handling should be somewhat more accurate for both Windows and Linux systems.
  • Fixed: the triggers for sending 'on modified' alerts for samples, values, and WOs weren't being fired correctly when an unacceptable value was entered during the initial save for a WO.
  • Updated: a trigger to remove references to a field that has been removed.
  • Fixed: an issue where alert triggers might fail on large WOs.
  • Added: support for scheduled alerts. These can follow any schedule, for example: a nightly email of all failures that happened that day.
  • Added: alerts can now be deactivated with being deleted.
  • Added: support for the alert type 'Daily Samples', which will send all matching samples that were performed on the given schedule.
  • Added: a weekly overnight event that will ensure all schedules have instances for at least a year into the future.
  • Added: (case 14694) sample.productionvolume, which will store the volume that is going to be produced on by a recipe sample.
  • Added: there is now a workorder type flag for saying whether WOs of that type should show the new recipes page.
  • Removed: logging triggers from areas where they shouldn't exist.
  • Added: analysisoptionvalue.defaultvalue. This will contain the last calculated default value for any option value (or recipe ingredient). This is important for reports that want to show ideal ingredient quantities as well as whether or not values have been modified from the default.
  • Added: a new permission for the configure->reports dialog.
  • Fixed: (case 15128) an issue where nightly scheduled WOs weren't being created.
  • Fixed: an issue where an object that was deleted before an alert could be sent would cause replacement tokens to remain in the alert body. Now, those values will be replaced with empty strings.
  • Fixed: (case 15287) an error that would happen when the user was saving new recipes.

DataManagement:

  • Fixed: an issue where the record terminator wasn't displaying a linebreak correctly. Essentially, tab will now be shown as \t, and newline will be shown as \r\n or \n. Also, an escape character of \ will now be displayed as \\ for consistency.

Graphing:

  • Fixed: (case 14498) an issue where "analysis_option_id[]=" was causing graphing URLs to throw an error.

Home:

  • Added: (case 14588) the embedded web page now navigates to the URL specified in the configuration screen for the home screen graphing URL. This allows personalized graphing templates to be displayed on the home screen. This URL can be customized per plant on the configuration screen.

ITMySQLConnection:

  • Added: support for a new database mode where disconnects are not automatically reconnected, but instead must be manually reconnected.
  • Added: (case 14552) support for a new database mode where the application catches all database disconnections and automatically attempts a fixed number of reconnection attempts before throwing an error (the default reconnection attempt count is 1). This is the new default mode.
  • Added: for legacy support, there is a legacy database mode where reconnects are handled automatically by MySQL. This mode is not transaction safe, and so is being deprecated.
  • Changed: Several low-level database operations have been sped up, including checking to see if a connection is live, as well as disconnecting.
  • Added: all ISoft database error codes have been given formal #'s in the 100 to 200 range to keep them separate from the MySQL database error codes (1000 to 2999)
  • Added: (case 14552) any disconnections (manual, timeout, explicit connection termination on the server side) will cause a new error ("Connection lost during transaction" error # 103) to be thrown on the next query to be run. This feature requires the database connection to be in the new AUTO_RECONNECT mode, which is the default. Also, this only applies to code that explicitly begins transactions. This solves a central issue where bad connections could lead to partial saves being lost due to the implicit ROLLBACK performed by MySQL when a connection is lost. Now, the application will detect this state and return an error so that it can be handled gracefully.
  • Added: the MySQL connection now puts more information in the (optional) log file. This includes notes whenever disconnects were noticed, as well as a note for every auto-reconnect attempt. This makes the log file more readable when debugging operations that spanned multiple reconnects and identifying errors that occurred because of a disconnect in the middle of a transaction.
  • Fixed: code that calls Disconnect directly will no longer cause the application to get into a state where it would not reconnect anymore.
  • Changed: The Reconnect operation now simply calls Disconnect and Connect, to avoid previous issues where it was handled differently.
  • Added: support for hiding the 'retry' button on the query error dialog if the error being reported is that the tranaction was interrupted. This is because, in this case, the entire transaction must be re-run to ensure validity.

ITSQLFramework:

  • Added: when a query error popup happens, the retry button will not be available if the error being reported is that the transaction was interrupted. This is because, in this case, the entire transaction must be re-run to ensure validity.

Locations:

  • Changed: (case 13327) location code can now be a full 50 characters. However, location names still cannot exceed 50 characters, meaning a location with a 50 character code cannot have sub-locations.

Login:

  • Support for the new configure->reports permission.

Master:

  • Fixed: (case 14506) the database updater now correctly parses events and triggers, and should no longer have trouble with versions that end with an EVENT declaration.
  • Added: if ITrack.exe fails to write a setting out to the ini file, it now displays an error in the status bar so that we can debug situations where users cannot seem to write printer choices to their settings file.

Products:

  • Added: the recipes page has been replaced with a page for configuring special recipe 'analyses' more on this to come.
  • Added: the recipe tab now allows the user to add/edit/delete recipes.
  • Added: the edit default formula dialog now shows the special variables "Batch Volume" and "Production Volume" as options to be inserted into any formulae. Batch Volume is the quantity produced in a single, standard batch; production volume is the quantity being produced on a specific WO.
  • Added: the recipes page now allows the user to manage choices and thresholds for all directions and ingredients.
  • Fixed: several tooltips and popups were using inconsistent wording and language. They have been corrected.
  • Fixed: (case 15286) an issue where the category dropdown would show duplicate items in it.
  • Added: the category dropdown now only shows the categories that match the currently selected ingredient/product choice.

ReportViewer:

  • Added: if the user enters an invalid parameter value, when they leave the field, the value will be updated to reflect a valid value. This means entering "ABCDEF" into a number filed will be replaced with the value 0. This fixes an issue where such values were being treated as 0 but the user was not aware.

Sampling:

  • Fixed: (case 14844) an issue where not all choices were visible as options for filter dropdowns on 'choice' options.
  • Added: (case 14846) there is now an "Advanced Filter Options" area that is shown when the user expands the filter area.
  • Added: (case 14846) in the advanced filter options, there is now an option to mass-choose analyses by their analysis category.
  • Added: (case 14457) in the advanced filter options, there is now an option to mass-choose analysis option acceptability. This should make searching for only failed samples (for example) much easier.
  • Added: checkboxes "Show production documents" and "show testing documents" for limiting what types of documents the user can search for.
  • Fixed: an issue where production WOs were not displaying their samples correctly.

Settings:

  • Fixed: (case 14568) an issue where error reports weren't being marked as from Presage correctly.

WorkOrders:

  • Added: the default user group of the current work order type is now used to specify worker group.
  • Fixed: an issue where some defaults from the current work order type might not stick if that WO type was automatically selected (default WO type).
  • Changed: If the WO has a problem (missing data) it will no longer attempt to save the document.
  • Removed: the default analysis type for a WO can no longer be a recipe.
  • Added: (case 14964) a new recipes page to the edit work order area. This area is being built out as a tool for building production work orders.
  • Added: support for a new checkbox in the configure->work order types dialog. Now the user can specify whether or not the recipes page is visible.
  • Added: support for both option to option dependency and calculated ideal volumes for production WOs.
  • Added: the recipes page now resizes to fit the screen.
  • Added: the ingredients list is now invalid when no recipe is selected.
  • Added: the Ideal column is now properly populated with values either from calculations or 'per batch' volumes. These values automatically refresh when the production volume is changed. These values also show the unit now as well.
  • Added: a new recipe will now default the production volume to the batch volume of the selected recipe.
  • Added: the recipes page now has attention icons for recipes just like the samples list.
  • Added: recipe data is now colored similar to the sample data on normal WOs.
  • Added: recipes can be properly loaded/saved/modified.
  • Added: the recipe page now only loads once the user first navigates to that page. This way, loading WOs that don't have recipe data will be faster.
  • Added: (case 14694) there are now columns for last modified by and last modified on so that the user can always see who filled out/modified items on a production WO.
  • Fixed: an issue where unmodified sample values might show as needing calculation (black) even though they had not been modified.
  • Added: recipes now show their status, and it can be modified.
  • Added: all ingredients/directions show the name of the user that last modified them as well as when.
  • Added: the set status button now has options for setting all (or just selected) recipes to the specified status.
  • Added: the hotkeys for setting status for samples now triggers setting status for the recipes if that tab is selected.
  • Added: the remove recipes button now works as intended.
  • Fixed: an issue where deleting multiple recipes at once could lead to displaying old ingredient info.
  • Added: if the user saves a WO with any samples that have no analysis, an error will pop up and tell the user that it is required.
  • Added: if the user saves a WO with any production items that have no recipes, an error will pop up and tell the user that it is required.
  • Changed: the Recipes tab is now called Production, and the wording of many fields, tooltips, and popups have been modified to be clearer and use less ambiguous language.

Version 1.6

Analysis:

  • Changed: the default column for options is now wider, and column order is properly saved for this list when the user resizes columns
  • Added: There is now an edit/test default value button which brings the user into an advanced editing dialog where they can create a formula for default option values.
  • Added: If the user enters a default that looks like a formula (has math symbols), the user will automatically be taken to the edit/test default value dialog.
  • Added: the user must successfully test any formula they enter before it can be saved.
  • Added: the user can choose test values for all other options when testing a calculation.
  • Added: if the user tests a formula, they will now be notified if an option reference hasn't been entered correctly or if the final formula causes a database error. Some of this will be made more user friendly in the future.
  • Added: if the user tests a formula, the test result will be shown to the user (or an error if there was one).
  • Added: support for 'fixed values' for defaults. This allows a value that looks like a formula (but is not) to be stored 'as-is'. This is useful for values that contain math symbols but are not fomulae.
  • Added: double-clicking an option now opens the default value formula to be edited.
  • Fixed: a column tooltip to be more accurate.

Commonresources:

  • Added: if the user changes a field, any dropdowns whose values are dependent on that field will be updated as well. Generally, this will mean that if the current value is no longer allowed, it will be blanked out.
  • Added: (case 13941) support for analysis options that calculate their default value based on other options. These options will continue to have their value updated based on the given formula until the user manually changes the value to a custom value.

Database:

  • Changed: the default column for options no longer has a limited length, this is to facilitate upcoming calculation changes.
  • Added: support for analysis option defaults to specify whether they are fixed values or formulae.

DataManagement:

  • Fixed: an issue where unchanged row count could be negative.
  • Fixed: an issue where "Before Conversion Validation" commands were not being run.

Graphing:

  • Fixed: (case 14305) an issue where grouping date or date/time x axis values by month/week/quarter/year wasn't working.

Master:

  • Fixed: an unnecessary error popup that would occur if the user was sending a message to a screen that was not open.


Version 1.5

Analysis:

  • Fixed: an issue where creating an option, saving, and then trying to delete that option would fail.
  • Fixed: a minor issue with how new 'choice' option values were saved.
  • Added: (case 13825) the analysis editing area now allows 'Choice' options to specify 'required' option values to show that value. What this means is that choice "X" can be set up to only show up as an choice if option "Y" has a value above "Z".
  • Fixed: the product list is now sorted alphabetically instead of by parent/child product.

Database:

  • Added: numbers table now goes up to 16k, which makes many reports easier.
  • Added: some foreign keys on the workorder table that were missing on some databases.
  • Removed: some unused settings that have been moved into a different location.
  • Added: support for dependencies on dropdown choices to option values.
  • Added: (case 13003) there is now a new column: reportparameter.parameterquery, which controls a query that choice parameters will use to populate dropdowns when using report viewer.
  • Fixed: an issue where f_set_setting wasn't working right if 'Global' was passed in as the setting level.
  • Added: (case 14127) the overnight data clone process now has the following features:

1. Logging whether the event ran or not is now based on a global setting and defaults to true. 2. If mysql error 1146 (table missing) happens we have a special error message that gets logged. 3. If any other mysql error happens, we have a general error message that gets logged. 4. Even if event logging is off, if any clone operation fails, an entry is inserted into log_change with the error message in the newvalue column. Here is an example from my tests on devdb: 'Error: Table 'test' not found, skipping clone entry: 1' 5. If any mysql error happens when cloning an item, it attempts to continue with all the other clones.

  • Added: support for edocument building at the database level. This is used in the new alerts system.
  • Added: a database-level alert subscription system. The user can register to receive text/email/popup alerts for additions/changes on workorders/investigations/samples/sample values. The user can restrict what document types, failure levels, and plants they care about as well as the format of the messages they wish to receive.
  • Added: for speed purposes, all alerts to be sent are put in a staging queue, which is read by an event every minute and dispatched to the registered recipients.

CommonResources:

  • Added: support for items in dropdowns being based on other filled-out values.

Configuration:

  • Fixed: (case 13809) an issue where modifying a user record could cause that user's password to become invalid.

Home:

  • Fixed: the plant list is now sorted alphabetically on all tabs.

Master:

  • Changed: messages sent between screens through master are now done in a way that should be faster and allow the calling screen to know whether the message was handled or not.
  • Fixed: an issue with global hotkeys that was causing them to not be called in some corner cases, like before the user had clicked into any screens.

ReportViewer:

  • Added: (case 13003) support for queries that run when the user selects a report parameter, loading all available options from the database. This system supports some of the results being a default choice, as well as behind-the scenes key #'s for faster report support.
  • Added: (case 13003) support for dropdowns whose values are loaded form the database. In addition, the current user, the store they're logged into, as well as other various pieces of information can be used as part of the query, making it so that running reports can use better user defaults in the future.
  • Added: (case 13003) report parameters can now be hidden, as well as visible by readonly.
  • Added: (case 13003) dropdown report parameters now support passing behind the scenes ids to a report for speed purposes, as well as allowing dropdowns that the user can type into (for wildcard support).
  • Added: (case 13003) report parameters can now be marked as required, meaning the user cannot print until they are not empty. The user will be prompted to fill it out or to use the default value (if one exists).

Sampling:

  • Fixed: (case 13724) an issue where performing an 'exact' (no wildcards) proximity or zone search would throw a database error.

Hotfix:

Product:

  • Fixed: the screen now says "Item in use at store X" instead of "Product in use..."

Sampling:

  • Fixed: (case 14257) an issue where the graph that gets generated would show options that the user didn't want to graph. Now, if any options are checked in the search, only those options will be graphed.


Version 1.4.1

Analysis:

  • Added: if the user only has plant level permission to edit analyses, they can no longer:
   1. Change whether analyses or choices are global
   2. Edit the analyses or choices that are marked as global
   3. Edit options on analyses that are global
  • Added: if the user has plant level permission for editing analyses, any new analyses and choices they create will be plant specific instead of global.

Database:

  • Fixed: an issue with the graph template where numbers might sometimes display 100.00999999 instead of 100.01
  • Fixed: an issue where p_get_subtree_by_lookup might throw an error if a product name had a single quote in it.
  • Added: (case 13646) a new function, f_get_ancestor_id, which can find the topmost parent productid or locationid given an specific child productid or locationid.
  • Fixed: an issue where cloned WOs would have the sampling data, testing data, and investigation data of the original (template) item. Now, this information will be cleared out upon being copied.

Home:

  • Added: (case 6000) the work order home page now has the ability to filter by whether the current user is assigned to a WO, whether the current user performed the sample collection on a WO, or both.
  • Added: (case 6000) the sample testing home page now has the ability to filter by whether the current user is assigned to a WO, whether the current user tested the sample, or both.
  • Changed: re-arranged the home page tabs to be more consistent and fit better on smaller screens (leaving more space for the graphing area).

WorkOrders:

  • Removed: (case 6000) the currently unused assign samples to group button.
  • Fixed: (case 12245) an issue where Configure->Work Order Types wasn't properly displaying the configuration option for Product/Ingredient/None.
  • Fixed: an issue where hitting tab inside auto-complete dropdowns wasn't working properly


Version 1.4

Analysis:

  • Added: (case 10634) there is now a button on the analysis management screen that allows the user to recompute the acceptability status of historical sample values. The user can specify a plant (or all), date range (optional), analysis (or all), and location (or all).
  • Added: (case 10634) there is a permission that controls what stores (if any) the user can recompute historical sample values for.
  • Added: (case 10677) a button on the analysis management screen called "Test Thresholds" which allows the user to test the saved thresholds on the current option to see if a particular value would be acceptable or not.
  • Added: (case 10677) there is now a "Inspect Value" button at the bottom of the screen (as well as a right click menu option) which will allow the user to see why a value registered an acceptable/marginal/unacceptable/etc result. The user can tweak the result in this dialog to test other values. This feature allows the user to ask "Why?" a result failed, which can sometimes be confusing if there are many applicable thresholds.
  • Fixed: an issue where the new/empty analysis option might show at the top of the list if the user switched between options and back again.
  • Changed: sample print quantities and testing print quantities are now stored in a special table instead of settings. This is to solve various issues that the previous system caused. All existing setting values have been copied into the new table to make the transition seamless. The old values have been left in settings for now for backwards compatibility with old reports.
  • Fixed: (case 12763) an issue where renaming an analysis (even without saving) would cause the print quantity numbers to sometimes be lost.
  • Performance: (case 13159) if the user loads a different plant on the analysis tab, loading all the print quantities could sometimes take a long time.
  • Added: support for the user hitting configue buttons on the configuration screen to edit analyses or schedules.

CommonResources:

  • Added: WO types now control the default analysis used for new samples
  • Added: WO types now control whether the sampling and testing detail fields are visible and whether they can be hidden/unhidden.
  • Added: the testing comments and sampling comments now show/hide with the "Testing Detail" and "Sampling Detail", respectively.

Configuration:

  • Added: support for the new WO types page.
  • Added: the directory page now has buttons for configuring WO types, analyses, schedules, and products. The user will be taken to the appropriate area when they click these buttons.
  • Removed: the set-up wizard and Help buttons have been removed from the directory page for now, as they are just placeholders.

Database:

  • Fixed: all historical samples with unnecessary precision (6.100000 instead of 6.1) have been corrected. This leads to cleaner graphing and reporting.
  • Fixed: all numerical thresholds with unnecessary precision (6.100000 instead of 6.1) have been corrected.
  • Added: a permission that was missing on some databases controls whether the user can edit locations on configuration.
  • Added: p_refresh_all_sample_acceptability now accepts new input parameters for narrowing down the plant, location, date range, etc to be recomputed.
  • Added: new permission controlling whether a user can perform mass recalculation of sample values at a plant.
  • Changed: (case 12761) the format acceptability function now renames 'Out of Bounds' to 'Invalid', like the software does.
  • Added: when a WO gets cloned, if due date is filled out, the existing due date will be moved forward.
  • Added: (case 12763) a new table (printquantityoverride) which keeps track of the number of copies to print for various reports at various plants.
  • Added: f_get_next_data_clone_occurance, which calculates the next date/time a dataclone will be performed on.
  • Added: v_dataclone, which is a view that shows the contents of the dataclone table, but also selects the next date the dataclone will be triggered on.
  • Added: new permission for whether the user can open the locations screen.
  • Added: (case 12245) a new table for storing WO types.
  • Added: (case 12245) new permission for configuring WO types.

Sample Graphing:

  • Added: (case 6478) the 'color shifting' between analyses of the same acceptability (multiple green series for example) has been tweaked to not repeat a specific hue. Differences between colors are more pronounced if fewer series are graphed. The color 'ranges' have been tweaked to look better and be more distinguishable.
  • Added: (case 10504) if the user filters analysis options by value range or acceptability, the graphed points will now only be the matching results.
  • Removed: thresholds no longer show in the legend, as they often make it hard to read.
  • Changed: data points are now slightly smaller by default for better differentiation.
  • Added: the threshold lines now use triangles as their endpoints to differentiate them from data points.
  • Added: the user can now click on a data series in the legend, and that data series will be hidden/shown on the graph in real-time.
  • Changed; (case 12761) references to Out of Bounds have been changed to Invalid.

List Graphing:

  • Fixed: an issue where right-click list graphing would display fractional numbers as 'rounded' numbers.
  • Fixed: an issue where right-click list graphing would open the graph website twice if the default browser was google chrome.
  • Fixed: (case 13273) an issue where grouping the x axis by value was incompatible with some graph types, like stacked column chart.
  • Changed: if the user is grouping by x axis value, the column headers are interpreted as strings, causing them to be discrete values, instead of continuous variables.
  • Changed: renamed some poorly named variables and added some comments.
  • Added: the graphing template now properly rounds all aggregated values to a similar precision as the input data (this solves issues where $1.50 would display as 1.49999999).
  • Fixed: several issues where aggregation wasn't working correctly, this was breaking stacked bar charts.
  • Added: support for grouping values into date/time ranges like "By Day/Week/Month/Quarter/Year".
  • Tweaked: the layout of the graph to reserve more space for the graph itself.
  • Added: column and stacked column charts now adjust the window's Y axis to better fit the data. This solves an issue where a single negative value could lead to a large amount of wasted space below the 0 line.
  • Fixed: an issue where pie charts wouldn't render because column 0 has to be a string
  • Added: support for the google ChartWrapper class, which enables more real-time chart modifications
  • Added: the user can now click a series in the legend to show/hide it.
  • Fixed: an issue where stacked column charts might draw 'off the top' of the graph.
  • Fixed: grouping results by date range wasn't working for pie charts.
  • Fixed: an issue where pie charts would fail to render because they had negative values.
  • Added: the list graphing dialog now has an option for grouping date values on the X axis. The user can group them by day, week, month, quarter, or year. This option is only available if a date field is selected for the X axis and a graph type is selected that supports aggregation.
  • Added: pie charts can now have any *numeric* column added up in the results.

Sampling:

  • Added: (case 10504) if the user filters results by a particular option's values or acceptability, that information will now be passed to the graph.
  • Removed: in order to make URLs shorter, unused search options will no longer be added to the URL.
  • Added: (case 12606) if the user fills out a filter value, the option's 'use' checkbox will be checked automatically. If the use checkbox is unchecked, the filter values are cleared out automatically.
  • Fixed: an issue where searching by plant could (in some rare cases) find samples at other plants.
  • Added: support for getting the WO type of all returned samples so that the screen can show/hide columns appropriately.

Home:

  • Added: due date to the work order history list. WOs that have a due date within one day will be blue. Those that are past due are red.
  • Added: (case 12245) both the WO history and the sampling pages have a WO type dropdown for filtering by the WO type. This dropdown remembers the user's last choice. Also, there is now a sortable WO type column in the list so that the results can be tracked by this new attribute.

Investigation:

  • Fixed: an issue where new investigations were saving a date but no time.
  • Fixed: an issue where hitting apply on the investigations screen could possibly throw a database error regarding the work order # of some of the investigations on the screen.

Locations:

  • Added: support for the "Open Screen" permission. Also, the Configuration->Can Configure Locations now controls what plants' locations the user can edit on this screen (if any).
  • Added: button icons and other minor UI improvements.

Login:

  • Fixed: an issue where which plants the user had access to could become incorrect when some of the user's permissions were changed.

WorkOrders:

  • Added: the notification emails now support showing the user who collected the samples.
  • Changed: removed a reference to a deprecated database function and replaced it with the correct one.
  • Changed: the default 'maximum # of items to load into auto-complete dropdowns' has been changed from 100 to 300 to avoid issues where long location lists couldn't be browsed.
  • Added: (case 12245) a new configuration page for adding/editing/managing work order types.
  • Added: the work orders screen now has a dropdown for work order type. To fit this in, the date controls were moved to their own area.
  • Added: the configure->Work Order Types page now no longer lets the user change work order type fields if the user doesn't have global permission. A user with plant level permission can still control which types are available at their plant.
  • Added: (case 12245) support for choosing a work order type for each work order.
  • Added: (case 12245) the presence (and default value) of the due date field is now controlled by the current WO type.

Hotfixes:

Database:

  • Added: (Case 10792) products can now be marked as ingredients or products, which controls what WO type(s) they show up on.

Product:

  • Added: (case 10792) there is now a set of radio buttons where the user can switch between viewing/editing products and ingredients.
  • Changed: wording of several fields to better fit the fact the screen can involve both products and ingredients.

Sampling:

  • Added: (case 10792) the product dropdown for a particular sample is now limited to either all products or all ingredients, depending on the WO type of the selected sample.

WorkOrders:

  • Added: (case 10792) the product dropdown will now contain all products or all ingredients, depending on the selected WO type.


Version 1.3

General:

  • Fixed: an issue where combo sorting was case insensitive, but the auto-suggest list was case sensitive.
  • Changed: auto-suggest dropdown lists are no longer sorted, even if the primary combo list is. This makes it so that auto-suggested strings are always in 'fitness' order (how well they match the input.
  • Added: advanced combo boxes now default to 'find input anywhere' when auto-suggest/auto-complete is turned on. This means results are matched no matter where the input is found in the string.
  • Fixed: sometimes icon cells in an ITListCtrl would not automatically redraw when the screen changed what icons were being displayed in the cell.
  • Fixed: dead whitespace in the list controls is finally fixed. The previous fix didn't account for situations in which the scrollbars were currently visible but were about to disappear (due to client space increasing).
  • Fixed: a drawing issue where clicking in a field (causing a Scroll in the list) might not redraw the 'close buttons' on the items, leaving what looked like 2 sets.
  • Fixed: (case 12012) Items half-way on the screen did not redraw correctly. This fixes an issue where items that were only partially visible were not being properly redrawn, causing checkboxes to not toggle their state if they were halfway on the screen.
  • Fixed: (case 12012) This should fix an issue where the list allowed items to be only partially visible vertically.
  • Fixed: an issue where, if a list had a footer control and hidden columns, some of the columns might not redraw correctly, and there were more columns than necessary.
  • Added: if the user resizes a column by dragging a column header, the footer columns are now resized in real-time. This makes matching things up simpler.
  • Removed: pretty much completely eliminated flickering that would happen in list footers when they were resizing.
  • Fixed: an issue where hiding/showing/deleting/adding columns while the user had scrolled horizontally would cause the header tooltips to be misaligned.
  • Fixed: if a list control is hidden when it is initialized, the footer will also start out hidden.

Graphing website:

  • Fixed: the severity class retrieved for a particular result now considers the plant when getting the default severity class.
  • Fixed: renamed f_format_acceptibility to f_format_acceptability (misspelled)
  • Fixed: an issue where thresholds might show .000000 at the end of a whole number value in the legend.
  • Added: (case 6478) all graphed series (both thresholds and data series) have their colors set based on the acceptability of the result. Green for acceptable, orange for marginal, red for unacceptable, and blue for out of bounds. If multiple analyses are being graphed at the same time, the colors are shifted slightly for each series of data to make them easier to tell apart.
  • Fixed: an issue where selecting "ALL" from the analysis dropdown might not show all analyses.
  • Added: (case 6478) the 'color shifting' between analyses of the same acceptability (multiple green series for example) has been tweaked to not repeat a specific hue. Differences between colors are more pronounced if fewer series are graphed. The color 'ranges' have been tweaked to look better and be more distinguishable.

Analysis:

  • Fixed: an issue where the analysis option ordering wasn't saving if the user switched analyses and then switched back.
  • Fixed (case 12371) an issue where renaming an analysis wouldn't move over the print quantities at the same time, causing the values to fall off the analysis.
  • Added: (case 10130) there is now a permission for each of the 4 tabs on the analysis screen. If the user is set to permission level "None", the corresponding page will not appear. A user with level "Plant" will be limited to editing information just at their plant(s). The schedules tab requires global permission because those objects are shared between plants.

CommonResources:

  • Added: (Case 10263) there is now a permission that controls what plant(s) the user can edit sample tag #'s at (if any).
  • Fixed: an issue where numeric analysis option values might save with unnecessary precision (6.100000 instead of 6.1). This was making some reports look messy. This will only correct data moving forward.

Configuration:

  • Added: (case 11879) user account names can now be edited in user configuration. New (unsaved) users can now be deleted as well (saved users are just de-activated).
  • Added: (case 11879) when the user hits apply in user configuration, they will now be presented with a more user friendly error if there are duplicate user account names.
  • Changed: minor UX tweaks to make user configuration easier and more consistent with other screens.
  • Added: (case 11614) the configure users page now limits which users can be edited based on the current user's permissions. Essentially, users will only be able to administrate their own plant(s) now.
  • Added: new user accounts will automatically inherit the current plant that the administrator user is logged into.
  • Fixed: an issue where a user who didn't have permission to edit plants, users, groups, or locations might still be able to edit them on the configuration screen. Now, if the user doesn't have permission, those pages are missing and the button on the Directory page is greyed out.
  • Changed: a user now needs global permission to edit groups, since they are shared across all plants.
  • Fixed: the icon was missing on the Configuration menu option.

Database:

  • Fixed: another misspelled function name in the database.
  • Added: (case 10263) a new permission for editing tag #'s on WO samples. This new permission defaults to on for anyone who can edit WOs.
  • Added: (case 12276) workorder.due (due date), which defaults to NULL (no due date).
  • Added: ( case 10130) 4 new permissions for the analysis management screen.
  • Fixed: all historical samples with unnecessary precision (6.100000 instead of 6.1) have been corrected. This leads to cleaner graphing and reporting.
  • Fixed: all numerical thresholds with unnecessary precision (6.100000 instead of 6.1) have been corrected.

Investigations:

  • Fixed: an issue where sending a sample to be investigated from the WO screen (before doing any searches) might cause a crash or bad samples to be loaded.
  • Changed: clicking search when unsaved investigations are present will now prompt the user to save. All other save prompts have been standardized.
  • Fixed: an issue where a user with "None" for the permission "Configuration"->"Can configure investigations" was still allowing the user to edit global defaults.
  • Changed: several settings in the alerts page have had their scope changed to "Hidden" since they contain sensitive data.
  • Fixed: a crash when starting a new investigation.

ITMySQLConnection:

  • Performance: removed a bit of unnecessary meta-data that was being stored with every query result set.

Locations:

  • Fixed: (Case 12299) an issue where the locations screen might crash if the user sent locations to be visualized.
  • Added: (case 12451) there is now an "Animate" button on location visualization, which plays through the samples in the currently displayed order.

Login:

  • Fixed: a possible crash/error that could happen if the application was launched without database access.

Master:

  • Changed: (case 11921) it was possible that ITrack didn't have any valid database connection, but it tried to get the local versionlist anyway, which would stop the update process. Now, if that happens, the system acts the same as if no database connection is present and attempts to continue. This should help prevent a state where an installation cannot be used and cannot get updates.
  • Added: when the user hits "reset updates", they will now be put into a mode where we force the download of updates. This ignores some things that would normally stop update downloading, including lack of access to the local database or lack of database extension.

Products:

  • Added: support for a new permission that controls whether the user can mark products as in use at their plant(s).

SettingsFramework:

  • Fixed: an issue where, if the database could not be reached, or there was no database extension loaded, updates would not be applied when Presage was closed.
  • Added: (case 12371) support for a new 'rename setting' operation used by the analysis screen.

WorkOrders:

  • Fixed: a minor issue where, during printing, a dropdown might reappear in the list after a message box popped up.
  • Fixed: (case 12026) an issue where the user could print a tag or testing tag for an item by right clicking on it before it was saved. Now, the user will be prompted to save the item if it has been modified.
  • Fixed: some performance issues that could cause loading, clearing, or saving a WO to take slightly longer than necessary. Another side effect is that the list of samples might flicker and the user's selection would be cleared.
  • Fixed: (case 12011) an issue where changing the plant of a WO might not correctly remove all samples at other plants.
  • Removed: (case 12164) clicking on a sample option no longer automatically puts the option's default into the sample.
  • Added: (case 12164) marking a sample as sampled now automatically fills out all default values into the sample.
  • Added: (case 12276) there is now a due date at the top of the screen next to the scheduled date.

Update 7/2/2014

Locations:

  • Fixed: an issue that was keeping the search for samples button from working.
  • Fixed: (case 10855) an issue where locations might show the wrong plant's default severity class (display issue only).
  • Fixed: (case 11273) an issue where configuring locations at a plant with no default severity class might cause a crash.

Database:

  • Fixed: an issue where p_clone_data might create a clone with a 'date scheduled' other than the user expected.
  • Added: (case 11549) a new permission controlling when someone can edit samples on the sample history screen. This permission defaults to everyone with the permission to edit work orders.
  • Added: (case 11550) a new permission controlling what plants a user can search on the sample history screen. This permission defaults to the open screen permission level.
  • Changed: p_get_subtree now accepts a string instead of an integer for its primary value. This allows the user to pass in a comma separated list instead of a single value. All previous queries will keep working as per usual.
  • Fixed: p_get_subtree will no longer return ids that were passed in that are invalid or duplicate.
  • Added: (case 11270) new stored procedure, p_get_subtree_by_lookup, which is like p_get_subtree, but it will find all results in the table that match a wild-card enabled string on a specified column, and then get the subtree that fits all matches. This is a lot faster than running a query to get all matches, then running p_get_subtree for each result separately and then merging the results.

Commonresources:

  • Added: (case 11404) analysis option value columns will now size themselves automatically to fit the data type contained in that column.

Login:

  • Fixed: (case 11581) an issue where the data management screen wasn't respecting the "Can open screen" permission for that screen.
  • Added: support for adding the transaction list to Presage.

Sampling:

  • Added: (case 11270) there is now a product dropdown the user can use to search samples by product.
  • Changed: the user can no longer perform a search with no plants selected.
  • Added: various UI elements are greyed out if the user doesn't have permission to them at all.
  • Added: the location auto-complete field now allows the user to type from the middle by default. All previous users will not be affected, but can change this preference in settings under "Auto-Complete".

Graphing:

  • Fixed: an issue where handleWildcards was only replacing the first instance of a wildcard.
  • Added: server-side support for product_id and product_name parameters. product_name supports wildcards. In either case, all child products will also be searched.
  • Added: client-side support for product_id and product_name URL parameters.

ReportViewer:

  • Added: date, time, and datetime fields now have the 'none' checkbox on the left, allowing the user to pass blank dates to reports, for situations were optional dates are desired.

Settings:

  • Fixed: an issue where report parameter choices were not being loaded correctly.


Update 4/15/2014

Analysis:

  • Changed: the layout and text of the columns in the analysis option values list have been adjusted to be more human readable.
  • Fixed: an issue where extra empty thresholds were being inserted.
  • Added: a new column in the choice/threhold list, 'Global'. Global thresholds apply to all plants. Non-global thresholds apply to only the current plant. The global column now defaults to checked.
  • Added: switching whether a threshold has a product or severity class now switches whether a threshold can be global.
  • Added: the product column is now populated with the products that apply to the current plant.

CommonResources:

  • Fixed: an issue where the WO screen might show the wrong analysis options if more than one analysis shared the same name.
  • Added: (case 10513) support for showing only checked options in the search results.
  • Added: the sample detail list now has a column for product, which is populated with all valid products for the sample's plant.
  • Fixed: (case 10750) the choice dropdowns for samples now limit the options based on the plant of the sample, the severity class of the location (or the default severity class if there is no location), the product of the sample (if any), and all parent products of that product.

Product:

  • Fixed: crash that would happen if you opened the screen with an empty product list.
  • Added: (case 10778) saving a product with an empty name field will now result in an error popup.
  • Fixed: (case 10778) a crash error that could occur when adding a product underneath a product that was not 'in use' at the current plant.
  • Added: (case 10775) hitting the add button will now add a sibling instead of a child product.

Sampling:

  • Changed: (Case 10466) when searching analyses, all options are now unchecked by default.
  • Added: (case 10513) only analysis options that are checked will show in the search results.

INI updates:

  • Fixed: the urls that control the manual, credits, and changelog are now presage specific.
  • Changed: (case 5938) the homepage for ITrack Online is now http://www.presageanalytics.com/.

Database:

  • Updated: the plantid of existing analysisoptionchoice entries should now be filled out.
  • Added: sample.plantid. This tracks the plant a sample was taken at. This was required because location is now optional on samples, which was the only gauranteed way to find plantid before. The initial value of this field has been set based on location or workorder.
  • Added: new function, f_find_applicable_thresholds. This function will create a TEMPORARY TABLE TEMP_applicable_thresholds and fills it with all entries from analysisoptionchoice, remarking on each whether it applies to the specified parameters and otherwise, why not. This will be very useful for showing what constraints are applicable to an analysis value.
  • Added: new function, f_check_applicable_thresholds. This function calls f_find_applicable_thresholds to get all thresholds that apply to the parameters, then does type specific casting in order to check to see which (if any) of the applicable constraints are violated by the value specified. This will be very useful for showing 'why' a value is coming up "Unacceptible" or "Marginal", etc.
  • Changed: f_get_value_acceptability no longer calculates directly, but instead calls f_check_applicable_thresholds and returns the 'worst' violation.
  • Added: f_get_value_acceptability now accepts a productid and plantid as arguments. This is required because the threholds now have more restrictions (global/plant specific, and per product or global).

WorkOrders:

  • Added: support for products in the sample list.


Update 4/3/2014

  • Added: (case 10778) saving a product with an empty name field will now result in an error popup.
  • Fixed: (case 10778) a crash error that could occur when adding a product underneath a product that was not 'in use' at the current plant.

Update 3/31/2014

CrystalReportsExtension:

  • Changed: (Case 10612) if the user prints a report with 'advanced options', the printer dialog that pops up now has a quantity field on it, which will be used to override the number of copies to print.

Database:

  • Added: the sample table now has an optional reference to the product table for when samples begin to be collected for products.
  • Added: the analysisoptionchoice can now have a reference to a product, allowing thresholds to be product specific.
  • Changed: products are now global, except there is the ability to specify which plants each product is "In Use" at.
  • Changed: p_get_location_subtree has been generalized into p_get_subtree, which can return a group_concat of primary keys of any simple hierarchical table.
  • Added: support for product attachments.
  • Added: permission for modifying products.

Products:

  • Added: "Show inactive products" checkbox, which filters the product tree to just active products.
  • Added: add/delete buttons to the bottom of the screen similar to the add/delete buttons on the location interface.
  • Added: Similar to deleting analyses and locations, the system now checks to see if deleting a product is 'safe' (IE if its currently in use on saved samples or analyses). 'Unsafe' deletes require a permission to complete.
  • Added: the product detail page now fills data out as the user selects products, and changing values is updated in the tree immediately.
  • Added: there is now a "Show this product at the current plant" checkbox, which is a per-plant setting controlling whether a specific plant wishes to see the specified product in its product list.
  • Added: saving products now properly updates, creates, and deletes products.
  • Fixed: hitting the refresh/reset button now correctly reloads data from the database, discarding changes.
  • Added: there is now a column for whether each product is in use at the current plant. This will switch automatically as the user switches plants.
  • Added: The "show inactive products" now remembers the user's last choice.
  • Added: permission for whether user can modify products. The user must have global permission to add/edit/delete products.
  • Added: product attachments are now functional. The attachments tab now displays the number of attachments loaded for the currently selected product.
  • Added: adding and removing products now works as expected.
  • Added: new products inherit many options from the parent Product.
  • Added: the category dropdown now shows all previously entered product categories.
  • Fixed: an issue where deleting a product would delete all child products, no matter what the user chose.

CommonResources:

  • Fixed: an issue where the WO screen might show the wrong analysis options if more than one analysis shared the same name.



Update 3/19/2014

Analysis:

  • Fixed: (case 10522) an issue where changing plant in the analysis screen wouldn't refresh the options in the severity class dropdown for thresholds.
  • Added: there are 2 new columns in the analysis list which allow the user to control how many copies of the sample tag and testing tag get printed out when printing WOs. These settings are plant-specific so each plant can have different quantities for the same analysis.
  • Changed: the apply and reset buttons have been re-arranged to match the apply and cancel button order in most windows applications.
  • Changed: the pop-ups that happen when the user is going to delete an analysis are now more consistent and show the number of samples and scheduled locations that will be deleted always.

CommonResources:

  • Added: (case 10609) the user can now print a quantity of tags other than 1. The last reprint quantity is remembered, so reprinting the same number of tags in the future is easy.

Database:

  • Removed: some (now) unused fields from the analysis table.
  • Fixed: the version of f_get_next_day_of_week that was released previously was out of date.
  • Added: a new permission for allowing access to the product management screen.
  • Added: (case 10551) table for storing product information.

Product:

  • Added: (case 10551) a new 'product management' screen, wherein the user can manage products, ingredients, and recipes.
  • Changed: the attachments button has been removed and replaced with an attachments page.
  • Added: the plant dropdown is now filled with plants.
  • Added: opening the screen now properly loads all products into the product tree, but the user cannot edit them yet.

Sampling:

  • Added: (case 10187) the plant auto-complete dropdown now only shows the user options for the set of plants that are selected.
  • Changed: this screen is now called "Sampling History" in the main menu.

WorkOrders:

  • Fixed: an issue where new work orders were saving the date, but not the time they were created.