March 22, 2022 — 1.2210 Service Update

Production Tenant Features

eCommerce & Order Management Functionality

  • Shipment Notes in Fulfiller UI: The internal shipment notes that can now be added to shipments via API (per Version 1.2206) are now displayed when viewing shipment details in the Fulfiller UI. These notes are only displayed on the shipment that the note was applied to, not any child shipments or at the order level in the Order Admin. You cannot create or edit notes in the interface.
  • Campaigns UI Updates: A few adjustments have been made to the Campaigns feature added in Version 1.2206. The cancel button font size has been increased to match the other buttons on the page, the cancel button on pop-ups now uses the correct styling, the master and child catalog list in the header is displayed in the proper font size, and the calendar pop-up for selecting the start/end dates of a campaign is now sized better.
  • Multiple Partial Capture: The behavior for capturing payment when a customer places multiple orders at once (such as in the case of multiship) has been improved. When one order gets captured and the other does not, a credit on the captured order will be performed with the gateway of the capture associated to that order. In other words, this ensures that the correct capture is always referenced when crediting and performing a credit will not prevent the other order(s) from being captured later. Additionally, multiple orders can now be auto captured at once with the same authorization when the "Force Capture on First Shipment Capture" payment setting is enabled. In this case, a totalCount is provided in the custom data when making the capture call to indicate how many captures will be performed under that authorization.

Search Functionality

  • Search Settings UI Updates: Additional updates have been made to the Search UI:
    • The Search Redirects page title has been changed to “Search Term Redirects.”
    • The _ta (type ahead) analyzer option is being removed from Site Search and a migration has been performed so that functionality is not broken by clients updating fields/analyzers that were allowed but should not have been. It is still valid for Product and Category Suggest.
    • The Search Settings header now says "Search Configurations" when editing a configuration or after clicking Search Configurations in the navigation menu.
    • The Merchandizing Rules page now has a new layout.
    • The bury values on the configurations table of the Search Settings page now has the proper styling to match the bury values on the campaigns table.

Production Sandbox Features

eCommerce & Order Management Functionality

  • Pickup SMS Updates: The default SMS template of the Ready for Pickup notification did not include the external order ID or the store's number, address, and phone number. This template has been updated along with the Ready for Pickup Reminder and Partial Ready for Pickup notifications as well.
  • API Performance Optimization: Some updates have been made to the Catalog and Product APIs to improve performance, specifically by adjusting how internal audit logs were tracking changes.

Fulfiller Functionality 

  • Default Buttons for Custom BPMs: Adjustments have been made to the fulfillment process buttons in custom BPM flows to allow them to better support different BPMs. These buttons now use generic verbiage by default ("Return to Previous Step" and "Proceed to Next Step") which means they will always correctly represent that steps that they navigate the user to. These buttons may be customized in the FFUI theme to edit this text as needed.
  • Advanced Filter Update: The Advanced Filter on the search bar of the Fulfiller UI now returns an exact match of the term entered using the search syntax. For example, entering "Smi" as the customer last name will only return results for "Smi" and not include "Smith."

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsThe Search Settings page did not refresh the page title when navigating between the Configurations and Merchandizing Rules menu links, as those topics share a combined page. Additionally, both of these links would be highlighted in the navigation menu when viewing the page regardless of which one was clicked. Both of these issues have been fixed so that the page title and navigation menu accurately reflect what the user clicked.
Targeted for Production TenantsWhen viewing the Products page, "Search Schema" would be displayed in the Search tab of KCCP's navigation menu instead of "Schema." This has been fixed so that the correct label is displayed.
Targeted for Production TenantsThe Curbside tab was being displayed on the Fulfiller UI dashboard for implementations that did not have curbside enabled and thus had no shipments in that section. This has been corrected so that the tab is not shown if Curbside Pickup is disabled for that location and tenant.
Targeted for Production TenantsWhen updating a customer account via the Update Account Contact API, the isPrimary field value was not reliably saved. This has been fixed so that this value is properly updated and the right value will be returned with that contact information.
Targeted for Production SandboxesThe ApplyHandlingAdjustment API call did not distribute order level handling to the orderItem level, causing a mismatch between the order and shipment totals. This has been fixed so that handling is properly distributed and those totals will be equal.
Targeted for Production SandboxesThe KCCP application was not always showing the proper resolution for the current device, because there were different fields for "tablet" and "mobile" that were not supposed to be flagged at the same time. The logic behind this has been updated so that it will properly handle iPad and other tablet cases by automatically setting the mobile flag to false.
Targeted for Production SandboxesThe Inventory page of the Admin UI did not show some expected products, and searching for that product code resulted in an error stating that no results were returned. This has been corrected so that affected products can now be managed in the Inventory UI.
Targeted for Production SandboxesThe tender total was not being calculated properly in transaction logs when the interaction type was "AUTHORIZEANDCAPTURE" as those interactions were not being added up. This has been fixed so that TLogs will accurately include the values from those transactions when adding up captured totals.
Targeted for Production SandboxesIntermittent validation errors were experienced when adding or removing discounts on a campaign, and attempting to delete a discount from the Discounts page after experiencing this error was not possible as the button would be disabled. This has been fixed so that discounts can be successfully managed for campaigns without this occasional error.
Targeted for Production SandboxesA security issue regarding EntityLists being exposed through the storefront has been corrected. This change means that you must update any entities that require storefront access by updating your EntityList to set the isVisibleInStorefront field to true.
Targeted for Production SandboxesFedEx Cross Border occasionally displayed an error after clicking Generate Documents in the Prepare for Shipment step, even though the documents were actually generated in FedEx's system. This prevented any further attempts to re-generate the documents. This has been fixed so that this error will not be erroneously experienced and the fulfillment step will be able to be completed. All stuck shipments have also been progressed.
Targeted for Production SandboxesThe stringBarcode field of the Get Shipment API call, used for the FedEx long tracking number in some implementations, was being returned as empty even though tracking had been added to that shipment. This was due to the Fulfiller UI not saving this value correctly to the shipment data, which has now been fixed.
Targeted for Production SandboxesSome return receipts and Get Return API responses displayed the incorrect subtotal and tax amounts, which was due to different tax loss amounts between states such as when an order was picked up in Texas and returned in California. The calculation of these values has been improved so that the values will be consistently correct even across states.
Targeted for Production SandboxesSandbox and pre-production sites occasionally experienced errors when loading category and product pages, with the message "our software encountered an error it couldn't resolve." This has been corrected so that these pages will successfully load.
Targeted for Production SandboxesAfter the 1.2208 release, selecting a product size on the storefront's product details page made all other sizes unselectable which prevented shoppers from changing their size or other product option selections. This has been fixed so that selecting a product option will not disable the other options and the shopper can successfully switch between options.


Restricted Content

Internal Release Notes

Production Tenant Features

Client-Facing Updates

  • Shipment Notes in Fulfiller UI (FFMT-3007): The internal shipment notes that can now be added to shipments via API (per Version 1.2206) are now displayed when viewing shipment details in the Fulfiller UI. These notes are only displayed on the shipment that the note was applied to, not any child shipments or at the order level in the Order Admin. You cannot create or edit notes in the interface.
  • Campaigns UI Updates (CAM-283, CAM-282, CAM-277, and CAM-276): A few adjustments have been made to the Campaigns feature added in Version 1.2206. The cancel button font size has been increased to match the other buttons on the page, the cancel button on pop-ups now uses the correct styling, the master and child catalog list in the header is displayed in the proper font size, and the calendar pop-up for selecting the start/end dates of a campaign is now sized better.
  • Multiple Partial Capture (COM-4767, COM-4766 and fixes CHAR-3132's outstanding issue): The behavior for capturing payment when a customer places multiple orders at once (such as in the case of multiship) has been improved. When one order gets captured and the other does not, a credit on the captured order will be performed with the gateway of the capture associated to that order. In other words, this ensures that the correct capture is always referenced when crediting and performing a credit will not prevent the other order(s) from being captured later. Additionally, multiple orders can now be auto captured at once with the same authorization when the "Force Capture on First Shipment Capture" payment setting is enabled. In this case, a totalCount is provided in the custom data when making the capture call to indicate how many captures will be performed under that authorization.
  • Search Settings UI Updates: Additional updates have been made to the Search UI:
    • (SU-2028) The Search Redirects page title has been changed to “Search Term Redirects.”
    • (SU-2159, SU-2043) The _ta (type ahead) analyzer option is being removed from Site Search and a migration has been performed so that functionality is not broken by clients updating fields/analyzers that were allowed but should not have been. It is still valid for Product and Category Suggest.
    • (SU-2181) The Search Settings header now says "Search Configurations" when editing a configuration or after clicking Search Configurations in the navigation menu.
    • (SU-2153 and SU-2225) The Merchandizing Rules page now has a new layout.
    • (SU-1943) The bury values on the configurations table of the Search Settings page now has the proper styling to match the bury values on the campaigns table.

Internal Updates

The following enhancements are internal-only and not exposed to clients.

  • FFMT-2975: Additional back-end work was done to support the 1.2206 fix that prevents multiple users from editing the same shipment at once, which had resulted in tracking numbers being removed from the shipment.
  • COM-5396: To reduce downtime, single customer account retrieval calls now avoid accessing the temp table.
  • CHAR-3610: Annotations have been added to container tests to indicate which containers are used, so that only the appropriate ones for the test are started.
  • CHAR-3609: Tests that verify whether database connection pools are being re-used were disabled due to failures, which have now been investigated so that the tests may be used.
  • CHAR-3530: Testing was done to verify that APIs implement all required auth checks for KCCP services, ensuring that unauthorized access is not possible and the appropriate headers for authentication must always be provided for security purposes.
  • CHAR-3492: Some logs from the API Transform service were missing correlation IDs, so enhancements have been done to ensure that this service always logs correlation identifiers.
  • CHAR-3468 and CHAR-2857: The inventory_log table has been cleaned and performance tests performed. Previously, the size of this log caused slow refresh jobs for implementations with a very large amount of records.
  • CAT-1224: Product indexing has been optimized to improve performance of the product services.
  • CAT-1168: Mozu.ShippingAdmin localization has been improved.

Production Sandbox Features

Client-Facing Updates

  • Pickup SMS Updates (COM-2920, requested by Cost Plus World Market and PGA): The default SMS template of the Ready for Pickup notification did not include the external order ID or the store's number, address, and phone number. This template has been updated along with the Ready for Pickup Reminder and Partial Ready for Pickup notifications as well.
  • API Performance Optimization (CAT-1248): Some updates have been made to the Catalog and Product APIs to improve performance, specifically by adjusting how internal audit logs were tracking changes.
  • Default Buttons for Custom BPMs (FFMT-3096): Adjustments have been made to the fulfillment process buttons in custom BPM flows to allow them to better support different BPMs. These buttons now use generic verbiage by default ("Return to Previous Step" and "Proceed to Next Step") which means they will always correctly represent that steps that they navigate the user to. These buttons may be customized in the FFUI theme to edit this text as needed.
  • Advanced Filter Update (FFMT-3052): The Advanced Filter on the search bar of the Fulfiller UI now returns an exact match of the term entered using the search syntax. For example, entering "Smi" as the customer last name will only return results for "Smi" and not include "Smith."

Internal Updates

The following enhancements are internal-only and not exposed to clients.

  • VAMP-1452: Some JavaScript errors were encountered when using the Discount Folders dropdown introduced from merging a branch, which have now been fixed.
  • TECH-651: Some features including SiteBuilder and Search Configuration were not working with the custom en-AE locale. Support has been extended to these elements.
  • TECH-420: An internal API has been created to manage the supported tenant types on developer accounts in AppDev.
  • CHAR-3645: The translated Change Gift Information API was never actually built. This has now been created so the documented API can be used to update gift details.
  • CHAR-3613: The pending items handler sometimes caused never-ending cycles to occur when inventory was out of sync. This process has been improved to reduce this in the future and improve pending item performance.
  • CHAR-3464: Inventory update events have now been fully implemented so that they will properly update the cache to reflect a new inventory quantity after changes are made.
  • CAT-1246: The Mozu.Events retry logic has been updated to change retry delays by queueing the next execution date for 5 minutes, 1 hour, 6 hours, 24 hours, and 24 hours again.
  • CAT-1110: QA has now been completed on the Bulk PriceListEntries API that allows updating 5000k price entries at a time.
  • I18N-794 and I18N-777: Improvements have been made to the Mozu.Content and AdminUser APIs to support localization.
  • Various schema and database builds have also been created: TECH-599, TECH-551, TECH-550, TECH-549, and TECH-546.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusJIRA TicketResolution
Targeted for Production TenantsSU-2244 and SU-2236The Search Settings page did not refresh the page title when navigating between the Configurations and Merchandizing Rules menu links, as those topics share a combined page. Additionally, both of these links would be highlighted in the navigation menu when viewing the page regardless of which one was clicked. Both of these issues have been fixed so that the page title and navigation menu accurately reflect what the user clicked.
Targeted for Production TenantsSU-2167When viewing the Products page, "Search Schema" would be displayed in the Search tab of KCCP's navigation menu instead of "Schema." This has been fixed so that the correct label is displayed.
Targeted for Production TenantsFFMT-2066The Curbside tab was being displayed on the Fulfiller UI dashboard for implementations that did not have curbside enabled and thus had no shipments in that section. This has been corrected so that the tab is not shown if Curbside Pickup is disabled for that location and tenant.
Targeted for Production TenantsCOM-4345 (reported by City Furniture)When updating a customer account via the Update Account Contact API, the isPrimary field value was not reliably saved. This has been fixed so that this value is properly updated and the right value will be returned with that contact information.
Targeted for Production SandboxesCOM-5450 (reported by City Furniture)The ApplyHandlingAdjustment API call did not distribute order level handling to the orderItem level, causing a mismatch between the order and shipment totals. This has been fixed so that handling is properly distributed and those totals will be equal.
Targeted for Production SandboxesCOM-5351 (reported by Francesca's)The KCCP application was not always showing the proper resolution for the current device, because there were different fields for "tablet" and "mobile" that were not supposed to be flagged at the same time. The logic behind this has been updated so that it will properly handle iPad and other tablet cases by automatically setting the mobile flag to false.
Targeted for Production SandboxesCOM-5080 (reported by Jelly Belly)The Inventory page of the Admin UI did not show some expected products, and searching for that product code resulted in an error stating that no results were returned. This has been corrected so that affected products can now be managed in the Inventory UI.
Targeted for Production SandboxesCHAR-3612The tender total was not being calculated properly in transaction logs when the interaction type was "AUTHORIZEANDCAPTURE" as those interactions were not being added up. This has been fixed so that TLogs will accurately include the values from those transactions when adding up captured totals.
Targeted for Production SandboxesCAM-309Intermittent validation errors were experienced when adding or removing discounts on a campaign, and attempting to delete a discount from the Discounts page after experiencing this error was not possible as the button would be disabled. This has been fixed so that discounts can be successfully managed for campaigns without this occasional error.
Targeted for Production SandboxesCOM-3329A security issue regarding EntityLists being exposed through the storefront has been corrected. This change means that you must update any entities that require storefront access by updating your EntityList to set the isVisibleInStorefront field to true.
Targeted for Production SandboxesFFMT-3157 (reported by AM Retail)FedEx Cross Border occasionally displayed an error after clicking Generate Documents in the Prepare for Shipment step, even though the documents were actually generated in FedEx's system. This prevented any further attempts to re-generate the documents. This has been fixed so that this error will not be erroneously experienced and the fulfillment step will be able to be completed. All stuck shipments have also been progressed.
Targeted for Production SandboxesFFMT-3148 (reported by AM Retail)The stringBarcode field of the Get Shipment API call, used for the FedEx long tracking number in some implementations, was being returned as empty even though tracking had been added to that shipment. This was due to the Fulfiller UI not saving this value correctly to the shipment data, which has now been fixed.
Targeted for Production SandboxesCOM-5322 (reported by Ace Hardware)Some return receipts and Get Return API responses displayed the incorrect subtotal and tax amounts, which was due to different tax loss amounts between states such as when an order was picked up in Texas and returned in California. The calculation of these values has been improved so that the values will be consistently correct even across states.
Targeted for Production SandboxesCAT-1329 (reported by Home Hardware and Proactiv)Sandbox and pre-production sites occasionally experienced errors when loading category and product pages, with the message "our software encountered an error it couldn't resolve." This has been corrected so that these pages will successfully load.
Targeted for Production SandboxesCAT-1317 (reported by Francesca's and Giant Tiger)After the 1.2208 release, selecting a product size on the storefront's product details page made all other sizes unselectable which prevented shoppers from changing their size or other product option selections. This has been fixed so that selecting a product option will not disable the other options and the shopper can successfully switch between options.
Targeted for Production SandboxesTECH-633The import process caused null references in the Admin UI when mapping mismatched attribute product types.
Targeted for Production SandboxesCHAR-3527MySQL syntax errors were experienced due to a setting in the schema initializer class that did not check whether an index existed before attempting to query it. 
Targeted for Production SandboxesCAT-1311 and CAT-1313The Get Product For Indexing process was bypassing the cache for API Extensions, causing substantial load, and was not using a secondary connection string.