Presage/Recent Application Changes

From ISoft Wiki
< Presage
Revision as of 12:25, 7 April 2015 by Uislamova (talk | contribs)
Jump to navigationJump to search

Presage Changelog

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.

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.

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.

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.

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.