March 8, 2022 — 1.2208 Service Update

Production Tenant Features

eCommerce Functionality

  • Campaigns: Campaigns allow you to design marketing strategies across your site by coordinating product displays on the storefront along with promotions. Campaigns consist of a set of discounts and page variations that can be enabled during a particular time frame, allowing for seasonal promotions and storefront user experience to be more designed and managed as one event.
  • Quick Edits User Permissions: Permission behaviors have been defined to allow certain users to utilize the Quick Edits feature. Users only need to have a role that includes the following read/update permissions for products and categories: Product Update, Product Read, Publish Product Changes, Product Category Read, and Product Category Update. This will allow them to use the Quick Edit menu in the Catalog > Products page.
  • Discounts & File Manager UI Updates: Some UI adjustments have been made to both the reworked Discounts and File Management pages. Green is now used for highlighting action buttons instead of blue and the button styling across pop-ups is more consistent with the rest of KCCP.

Order Management & Fulfiller Functionality

  • Pick Wave Updates: The Fulfiller UI’s pick waves page has been edited to better reflect options that were carried over from the previous version of OMS. Previously, the page displayed the option for a “special” pick wave type that was not supported in KCCP. This option has been removed and the remaining options have been renamed to be clearer:
    • Normal = All Item Shipments (Includes Single and Multiple Item Shipments)
    • Single = Single Item Shipments
    • Multiple = Multiple Item Shipments 
  • Additionally, the back-end logic for generating pick waves has been updated so that similar line items will be grouped together across shipments. This behavior will be extended to the Fulfiller UI in the future. For example, if 5 shipments have 1 quantity of Product 123, the pick sheet will show one parent row for Product 123 with a quantity of 5 and display child rows beneath it for each individual shipment that has a quantity of 1. This makes picking items more efficient and the sheet easier to reference.
  • Unique Shipment Notes: Internal notes can now be added to a specific shipment via the Shipment API, in a similar manner and validation to order notes. These do not persist across child shipments – they are only associated to the shipment they were originally created on, and will not be displayed at the order level either. The ability to view and edit these notes will be added to the Order Admin and Fulfiller UIs in an upcoming release. The existing functionality to add a note to a shipment that is applied to its order remains unchanged – this “Add Note” option is actually an order note and not visible on the shipment.

    The Shipment API now supports new calls for POST .../shipments/{shipmentId}/notes to create a new note on a shipment, and PUT and DELETE calls for .../shipments/{shipmentId}/notes/{noteId}. This data will be saved and returned in a shipmentNotesobject from a GET Shipment call. The request to create/update a note should define the note text, the username, and role of the user creating the note as shown below. The timestamp will be automatically recorded. These endpoints and schemas will be available in the API documentation after the production release.
    { 
        “noteText”: “Sample Note Text”,
        “role”: “Superadmin”,
        “username”: “Kibo 123”
    }
  • Shipments in Solr Update: In Version 1.2202, shipments were added to Solr indexing to improve shipment query performance. This process has been switched from opt-in to opt-out, meaning that queries will be made through this index by default. If you wish to opt out of this indexing while making GET Shipments API call, you must provide the ?bypassSearchIndex=true query parameter in the endpoint. When set, this will retrieve results directly from the database instead of through Solr.

Translated OMS Functionality

  • Credit Cards in TLogs: All types of transaction logs will now return the actual last four digits of a credit card number, instead of the token, for clients upgraded from the previous version of OMS who use the ccLastFour field added to the Order API in Version 1.2146. Previously, these four digits were only the last four digits of the cardNumber field, which was actually the card token. For eCommerce and eCommerce+OMS implementations, these token digits were the same as the actual last four digits of the card. But for Order Management-only implementations, the token was often different. Thus, the ccLastFour field allows the actual last four digits to be specified during the order import process, and the logs will display this value (if provided) instead of the token. See the translated Order Import API.

Production Sandbox 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.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsWhen a single shipment package collection included multiple tracking numbers, all shipments on the order would not be displayed in the Order Admin, though they were in the Fulfiller UI. This has been fixed so that more than one tracking number does not cause errors and the shipments can be viewed in Admin.
Targeted for Production TenantsThe Partial Pickup Ready email was triggered instead of the Order Pickup Ready email when some items on BOPIS or Curbside shipments were declined and canceled. The intention of these emails was for Partial Pickup to be triggered when some items were being transferred to be picked up later, but in this scenario the canceled items will not be available for pickup later. Thus, the fulfiller behavior has been updated to send Order Pickup Ready notifications in this case.
Targeted for Production TenantsThe Fulfiller UI’s Prepare for Shipment section displayed all courier options in Kibo’s system even if they were not enabled for that fulfiller. This has been fixed so that only the enabled couriers will be available for selection during shipping.
Targeted for Production TenantsA fix was previously made for shipping addresses in Version 1.2202, in which the second address line was not displayed in the Fulfiller UI’s customer information. However, additional “undefined” text labels were being displayed after the fix was implemented. These have been removed so that the address is shown properly.
Targeted for Production TenantsIt was possible for two or more users to fulfill the same shipment at the same time via the Fulfiller UI (or one user modifying the shipment in two tabs), causing an issue where the label and tracking number were generated but then removed. The UI has been updates to handle this scenario and ensure that changes are not overwritten by multiple users and tracking numbers cannot be removed from a fulfilled shipment.  
Targeted for Production TenantsPay With Amazon was unable to be installed to a particular implementation’s production tenant, as attempting to do so resulted in an undefined error instead. This was due to the tenant having a large number of sites, and the application has now been installed for them by Kibo Engineering.
Targeted for Production TenantsThe unit of measurement selection in the Order Routing filter settings was not saving – if miles were selected, it would be reset to kilometers after opening the filter again. This has been fixed so that the option can be properly configured.
Targeted for Production TenantsA particular implementation was experiencing null errors at the production variation level when exporting order data. This has been corrected so that orders can be successfully exported.
Targeted for Production TenantsDuplicate Ready for Pickup emails were being sent for shipments that included assembly. This was due to the first email being sent after stock validation when assembly was not yet complete, and then the second email being sent after the assembly was completed and the shipment moved into Ready for Pickup. This has been fixed so that the email is only triggered when assembly is complete and the shipment moves into Ready for Pickup.
Targeted for Production SandboxesThe 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 SandboxesWhen 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 SandboxesThe 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 SandboxesWhen 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.


Restricted Content

Internal Release Notes

Production Tenant Features

Client-Facing Updates

  • Campaigns (CAM-1): Campaigns allow you to design marketing strategies across your site by coordinating product displays on the storefront along with promotions. Campaigns consist of a set of discounts and page variations that can be enabled during a particular time frame, allowing for seasonal promotions and storefront user experience to be more designed and managed as one event.
  • Quick Edits User Permissions (CAT-1054): Permission behaviors have been defined to allow certain users to utilize the Quick Edits feature. Users only need to have a role that includes the following read/update permissions for products and categories: Product Update, Product Read, Publish Product Changes, Product Category Read, and Product Category Update. This will allow them to use the Quick Edit menu in the Catalog > Products page.
  • Discounts & File Manager UI Updates (CAT-1113 and CAT-1191): Some UI adjustments have been made to both the reworked Discounts and File Management pages. Green is now used for highlighting action buttons instead of blue and the button styling across pop-ups is more consistent with the rest of KCCP.
  • Pick Wave Updates (FFMT-2531 and FFMT-493): The Fulfiller UI’s pick waves page has been edited to better reflect options that were carried over from the previous version of OMS. Previously, the page displayed the option for a “special” pick wave type that was not supported in KCCP. This option has been removed and the remaining options have been renamed to be clearer:
    • Normal = All Item Shipments (Includes Single and Multiple Item Shipments)
    • Single = Single Item Shipments
    • Multiple = Multiple Item Shipments 
  • Additionally, the back-end logic for generating pick waves has been updated so that similar line items will be grouped together across shipments. This behavior will be extended to the Fulfiller UI in the future. For example, if 5 shipments have 1 quantity of Product 123, the pick sheet will show one parent row for Product 123 with a quantity of 5 and display child rows beneath it for each individual shipment that has a quantity of 1. This makes picking items more efficient and the sheet easier to reference.
  • Unique Shipment Notes (FFMT-2485): Internal notes can now be added to a specific shipment via the Shipment API, in a similar manner and validation to order notes. These do not persist across child shipments – they are only associated to the shipment they were originally created on, and will not be displayed at the order level either. The ability to view and edit these notes will be added to the Order Admin and Fulfiller UIs in an upcoming release. The existing functionality to add a note to a shipment that is applied to its order remains unchanged – this “Add Note” option is actually an order note and not visible on the shipment.

    The Shipment API now supports new calls for POST .../shipments/{shipmentId}/notes to create a new note on a shipment, and PUT and DELETE calls for .../shipments/{shipmentId}/notes/{noteId}. This data will be saved and returned in a shipmentNotesobject from a GET Shipment call. The request to create/update a note should define the note text, the username, and role of the user creating the note as shown below. The timestamp will be automatically recorded. These endpoints and schemas will be available in the API documentation after the production release.
    { 
        “noteText”: “Sample Note Text”,
        “role”: “Superadmin”,
        “username”: “Kibo 123”
    }
  • Shipments in Solr Update (FFMT-2935, COM-5118, and CHAR-3552 ): In Version 1.2202, shipments were added to Solr indexing to improve shipment query performance. This process has been switched from opt-in to opt-out, meaning that queries will be made through this index by default. If you wish to opt out of this indexing while making GET Shipments API call, you must provide the ?bypassSearchIndex=true query parameter in the endpoint. When set, this will retrieve results directly from the database instead of through Solr.
  • Credit Cards in TLogs (CHAR-3258): All types of transaction logs will now return the actual last four digits of a credit card number, instead of the token, for clients upgraded from the previous version of OMS who use the ccLastFour field added to the Order API in Version 1.2146. Previously, these four digits were only the last four digits of the cardNumber field, which was actually the card token. For eCommerce and eCommerce+OMS implementations, these token digits were the same as the actual last four digits of the card. But for Order Management-only implementations, the token was often different. Thus, the ccLastFour field allows the actual last four digits to be specified during the order import process, and the logs will display this value (if provided) instead of the token. See the translated Order Import API.

Internal Updates

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

  • VAMP-1236: Mozu.Location has been updated to better handle exceptions.
  • CHAR-3586: Optimizations have been made to address NPE vulnerabilities in transaction logs.
  • CHAR-3580: The Order Routing Suggestion Log API schema has been updated so that it will properly be displayed in API docs once the new version is pushed.
  • CHAR-3449: A new S3 bucket has been created for uploading pre-filtered query data, allowing for better troubleshooting of transaction logs going forward.
  • CAT-1184: A new tenant attribute, “DisableProductIndexing,” can now allow DevOps and Support to disable indexing for a tenant to avoid putting unnecessary load on Search and SQL functions. When enabled, the Solr index will not be updated whenever a product changes.
  • FFMT-2838: Ace Hardware’s shipments from Classic OMS are being set to Reassigned when they go live on KCCP. This is listed with Internal Updates as it only affects Ace and no other clients.
  • CAT-1138: A new tenant attribute, OverrideSiteInventoryQuantity, has been created to mitigate performance issues with large amounts of inventory, in which the catalog will assume positive aggregate site stock rather than relying on cached site inventory tables. 

Production Sandbox 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.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusJIRA TicketsResolution
Targeted for Production TenantsCOM-4688 (reported by Ace Hardware)When a single shipment package collection included multiple tracking numbers, all shipments on the order would not be displayed in the Order Admin, though they were in the Fulfiller UI. This has been fixed so that more than one tracking number does not cause errors and the shipments can be viewed in Admin.
Targeted for Production TenantsFFMT-3027 (reported by Ace Hardware)The Partial Pickup Ready email was triggered instead of the Order Pickup Ready email when some items on BOPIS or Curbside shipments were declined and canceled. The intention of these emails was for Partial Pickup to be triggered when some items were being transferred to be picked up later, but in this scenario the canceled items will not be available for pickup later. Thus, the fulfiller behavior has been updated to send Order Pickup Ready notifications in this case.
Targeted for Production TenantsFFMT-2992The Fulfiller UI’s Prepare for Shipment section displayed all courier options in Kibo’s system even if they were not enabled for that fulfiller. This has been fixed so that only the enabled couriers will be available for selection during shipping.
Targeted for Production TenantsFFMT-2938 and FFMT-3042A fix was previously made for shipping addresses in Version 1.2202, in which the second address line was not displayed in the Fulfiller UI’s customer information. However, additional “undefined” text labels were being displayed after the fix was implemented. These have been removed so that the address is shown properly.
Targeted for Production TenantsFFMT-2751It was possible for two or more users to fulfill the same shipment at the same time via the Fulfiller UI (or one user modifying the shipment in two tabs), causing an issue where the label and tracking number were generated but then removed. The UI has been updates to handle this scenario and ensure that changes are not overwritten by multiple users and tracking numbers cannot be removed from a fulfilled shipment.  
Targeted for Production TenantsCOM-4859 (reported by Jelly Belly)Pay With Amazon was unable to be installed to a particular implementation’s production tenant, as attempting to do so resulted in an undefined error instead. This was due to the tenant having a large number of sites, and the application has now been installed for them by Kibo Engineering.
Targeted for Production TenantsCHAR-3952 (reported by Wickes)The unit of measurement selection in the Order Routing filter settings was not saving – if miles were selected, it would be reset to kilometers after opening the filter again. This has been fixed so that the option can be properly configured.
Targeted for Production TenantsCAT-1225 (reported by Company C and Eastland Shoe)A particular implementation was experiencing null errors at the production variation level when exporting order data. This has been corrected so that orders can be successfully exported.
Targeted for Production TenantsFFMT-3069 (reported by Ace Hardware)Duplicate Ready for Pickup emails were being sent for shipments that included assembly. This was due to the first email being sent after stock validation when assembly was not yet complete, and then the second email being sent after the assembly was completed and the shipment moved into Ready for Pickup. This has been fixed so that the email is only triggered when assembly is complete and the shipment moves into Ready for Pickup.
Targeted for Production TenantsCHAR-3572LocationSync threw errors when a tenant doesn’t exist, so the location update event will be skipped in this scenario.
Targeted for Production TenantsCHAR-3506The inventory cron caused Kubernetes worker nodes to fill up, due to large amounts of inventory records in memory being written as one batch. They will be broken into smaller batches in the future, but for this update a mechanism has been introd122uced to clean up unused files.
Targeted for Production TenantsCHAR-2484An inventory redistribution job took down a production sandbox tenant, but optimizations have now bene made so that the job can run for multiple tenants with larger inventory sets at once.
Targeted for Production SandboxesSU-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 SandboxesSU-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 SandboxesFFMT-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 SandboxesCOM-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.