KanoaMES v1.14
Release Date - 1/8/25
Implementation Guidance
This release package has been tested against Ignition 8.1.50.
The minimum required version of Ignition is 8.1.33
- kanoaMES_1_14_1.modl
- ApexCharts-signed 1.0.17.modl
- BIJC_Calendar_Component_v1.8.1.modl
Summary
We skipped a release version because who wants to update to a software version called 13 and as much as we wanted to continue with updates to the 1.12 release, there are enough significant changes to warrant a new version number.
- Over a 104 clickup tasks addressed in this release.
- Added support for batch, discrete and continuous processes.
- Added inheritable OEE Thresholds to support Enterprise level OEE scoring.
- Added 'downtime by item' analysis.
- Added kanoa logger feature. Provides a method of logging that won't get lost in the weeds along with all the other gateway messages.
- Added image management functions and views.
- Added support for downtime category hierarchy.
- Asset Configuration UI get an updated look and a significant performance improvement on load
- Added the materialized assetTypeHierarchy_MAT table to improve overall sql query performance
- A bunch of improvements have been made to KanoaQuality since introducing version control in 1.12.
Module Versioning
- 1.14 is our first release that is supported on both the 8.1 and 8.3 platforms. To that end, the module name has changed from 'Kanoa MES' to 'Kanoa MES (8.1) or 'Kanoa MES (8.3)'. The version numbering will be identical between 8.1 and 8.3 because under the hood, they are the same.
Automated Testing
This is first release that has undergone automated testing using Playwright and Git Actions. Special shoutout to our newest hire Kennedy for his work on this.
Installer
Our Hawthorn installer has undergone some changes to speed up the installation process.
- Move checking if we need to create changeset table to outside of processChangeLog()
- Schema creation and update has been refactored to break it into smaller packets for each functional area of the application.
- Database schema installer is now idempotent.
New Widgets Added
The hawthorn installer now also handles dashboard and widget installation using the import function, so you can expect a bunch of new widgets and dashboards to be added with each new release. In this release, we've added a number of widgets and dashboards created for our ProveIt showcase at ICC this year...
- Production Loss
- Utilization
- Item State Bar Chart
- Event Notification
- Performance Reasons
- Scrap Reasons
- Lot Bar Chart
- Lot Quantity Bar Chart
System function intellisense and documentation
- All 643 of our system functions have been reviewed and re-written to standardize and correct any mistakes in the documentation and examples given. A big shout out to Nicole for taking that on!
- As part of that process, we did discover some system functions that deviate from the standard in terms of return values and they have been modified. We have fixed all instances in the kanoaAPP and tags that use these functions, but if you have overridden any views that called them, you'll need to modify them. Fear not, we have created a handy utility built into the application that will allow you to search through all projects, scripts and tags for a list of keywords we have identified as having changed.
Keyword Search Utility
As we prepare the platform to support manufacturing processes such as batch and continuous as well as discrete, we had to make some refactoring choices that may affect existing installs where certain views have been overridden. If this is a first time install, then install away. If you are updating an existing install, you can use the keyword search utility to search for a list of keywords we have identified as having changed.

As this new utility has only just been added, it cannot be run prior to updating the module. Hopefully you are updating a development environment. If you are directly updating a production environment (not recommended) then you should check your custom projects, views, scripts and tags from within the ignition designer. For future updates, this utility can be used prior to updating.
Here is a list of changes and views that have been touched. Search for the following keywords.
- 'oeeType' - Was replaced with 'oeeEnabled'
- 'system.kanoa.item.addItemUnit' - Now return a tuple
- 'system.kanoa.asset.addAssetType' and 'system.kanoa.asset.updateAssetType' - Now return a tuple
Any references within the kanoaAPP project will have already been updated, so you are really only looking for references to these keywords in projects, view and scripts that have overridden view or custom stuff.
Feel free to submit a support ticket if you would like help with updating from a previous version. As always we recommend you install on a dev server prior to deploying to production.
Changes
Ops
- Added params for lotOperationIdList and lotOperationList to system.kanoa.lot.getLotEvents()
- Operations scheduling color coding doesn't work if config param is not set. This is fixed.
- Added 'downtime by item' analysis to the kanoa/mes/analytics/downtimeApex view and kanoa/core/dbp/widgets/analytics/assetDowntimeBarChart dashboard widget.
- Modified kanoa/mes/asset/overview/assetSummary/assetSummary view to correctly calculate aggregate OEE scores by time weighting production runs.
- Added system.kanoa.image functions for image manipulation.
- Added system.kanoa.file functions for file management.
- assetOEE UDT Work Order Change Script references an invalid tag. This is fixed.
- assetOEE UDT State change script for contiguous downtime events messes with last running state. This is fixed.
- system.kanoa.asset.adjustTimeForSite() has been removed.
- system.kanoa.utilities.getGatewayTimeZoneOffset() has been deprecated and all widgets now point to system.kanoa.date.getGatewayTimeZoneOffsetMins().
- New view kanoa/mes/analytics/enterpriseOEE has been added that calculates and show OEE scores for every level of an enterprise.
- Inheritable OEE thresholds has been added.
- 'Input Materials' tab has been removed from Item Configuration. This has been replaced by Trace.
- Add Batch capability. Assets can now be set with the process type of 'Batch' and standard rates can be set to 'Batch time in mins'. OEE Performance is then calculated as Batch time / runtime.
- Asset Import doesn't add items. This is fixed.
- Added logger view to App.
- When duplicating an asset, we also need to duplicate the sort order. This is fixed.
- updateShiftEvents() throwing exception if enterprise was set to 'oeeEnabled' and then disabled. This has been fixed.
- Added support for downtime category hierarchy.
- Updated scheduling to support batch processes.
- Add unique constraint to stateEvent and counterEvent. Fix for mqtt backflush.
- Saving a new dynamic attribute doesn't work in attribute editor. This is fixed.
- Specify some default dashboard on installation instead of a blank screen. Welcome dashboard is now displayed.
- Scheduler shows orders that cannot run on an asset if asset has no item links. This is fixed.
- Added new function system.kanoa.schedule.calcEventDuration() that calculates the expected duration it will take to complete a production run for a given item
- Asset selection is no longer cleared after making a change to an asset's configuration.
- assetShiftOOEGraph widget was not filtering out non-production mode events skewing the oee calculation. This is fixed.
- Added system.kanoa.order.addProductionOrderState().
- ModeDataEditor allows setting a modeEvent in the future. We now prevent future dates from being set.
- Unable to view actual qty in Production Orders table. This is fixed.
- The Add buttons on the Production Details counts screen stop working after the first button press. This is fixed.
- Cannot add counts if no counts exist in count Editor widget. This is fixed.
- When making a new enterprise, we get an unnecessary Toast message and the Asset Tree does not refresh automatically. This is fixed.
- Dynamic Attributes editor isn't working. This is fixed.
- Shift Scheduling - Exception thrown when saving recurring shift. This is fixed.
- system.kanoa.item.updateItemAttribute() fails. This is fixed.
- Import dashboard creates copies of old dashboards, but they are missing widgets. This is fixed.
Quality
- Added system.kanoa.quality.image functions for quality check image capture and storage.
- When duplicating a check sheet, the new check sheet doesn't get a Status. This is fixed.
- Can't delete a check sheet if it's been used. This is fixed.
- Check Item Triggers get cleared out every time you revise a check sheet
- QDS Test Fail Actions - Issue Check Sheet should limit its options to Released checks. This is fixed.
- Can't delete a check sheet if it's been used. This is fixed.
- Cannot add comments to a check item. This is fixed.
- Gateway Admins and users with configureQuality can now schedule a checksheet in draft or in revision.
- Cannot disable checksheets that are released. You can now.
- When 'Items' are enabled for a checksheet, you can select any item regardless of what was configured. We now limits the item options when scheduling.
- Quality sheets in non-Released status can be triggered. This is fixed.
- No way to revise images in check sheets. This is fixed.
- Duplicating a check item changes the name of the check item, but if you continue duplicating it will re-use the new name. This is fixed.
- Cannot put a checksheet back into revision if it has a trigger check. This is fixed.
- Any file can be attached to a check sheet as an image. Files are now limited to images.
- Images associated to quality tests aren't easily accessible when reviewing the test or data. You can now view images by double clicking on the check item in the analysis details view.
- Import check sheet is failing if a check sheet as a trigger check item. This is fixed.
- Automatic tests aren't given a "taken on" or "taken by" date, or a shift. This is fixed.
- Checksheet configuration will accept invalid tolerances/range values. We now validate tolerances.
- You can "trick" the Quality Check Sheets to let you revise a check that's released. This is fixed.
- Cannot link an item with an itemSet if that item is already linked with another itemSet. This is fixed.
- Check Details - Most recent record doesn't get a timestamp in Row View and doesn't appear in Column View. This is fixed.
- Checksheet not obeying Timed Interval settings if delay is not set. This is fixed.
- Quality - Shift heatmap throws error if no shifts are defined. This is fixed.
Trace
- detectCycle() function error in traceGraph when a lotOperationEvent has two output events and the lot was new. This is fixed.
1.14.2 Release - 11/15/25
Ops
- Double click edit is not working on orders config. This is fixed.
- Order coloring by status in operations schedule view did not work if no due date was set. This is fixed.
- Items do not show up if no item classes have been created. This is fixed.
- Install error on mesSchema_lot:[mes].[lotOperation]:6. This is fixed.
- Updated order tab viewer to prettify workOrder meta data.
- 'Close/Confirm' in Attribute Detail Editor still deletes link record. This is fixed.
- Added assetTypeHierarchy_MAT table to improve sql query performance.
- Duplicating an asset duplicates the Sort Order, causing a conflict. This is fixed.
- Renaming 'site' to 'Site' for assetTypes breaks timezone selection. This is fixed.
- system.kanoa.asset.addAssetType() and system.kanoa.asset.updateAssetType() now return a tuple.
- Asset types now have a reservedBySystem bit to prevent editing of required asset types (site and line).
- Added system.kanoa.order.updateProductionOrderState() and system.kanoa.order.deleteProductionOrderState() functions.
- Added ability to configure order states from the UI.
- Order states now have a reservedBySystem bit to prevent editing of required states.
- Shift Scheduling - Custom weekly recurrence not working correctly for weekend shift starting after 8pm. This is fixed.
- Special characters are no longer allowed in the asset name. This is because the ignition tag path does not support special characters like a comma.
Quality
- Export / import quality sheet doesn't create json correctly if there is an apostrophe in the picklist values. This is fixed.
- Occasionally cannot change version on check sheet. This is fixed.
Trace
- Similar Lot nodes are shown a separate when they should be the same if the last input event from a lot node, is also the same one a new lot operation is outputting to, but starting as an output. This is fixed.