Release Date: April 23, 2021
Highlights
Release Information
Znode 9.6.4 release includes a new feature, major performance enhancements, and some minor bug fixes.
The highlights of this release are:
- Hangfire support for scheduled jobs
- Cache Eviction improvements
- Usage of Output Cache instead of Donut Cache for child actions
- Removal of Clear Cache call from the change locale flow
- Performance enhancement changes for Login, Cart, and Checkout pages of the web store
- Performance enhancement changes for the Dashboard, Manage User, and Manage Order screens of the admin application
Breaking Changes
Please refer to this Breaking Changes Document for more information.
New Feature
[ZPD-12855/ZLMC-1802] - Hangfire Support For Scheduled Jobs
Commerce
Znode now supports the Hangfire framework that helps to create, process, and manage the scheduled background jobs. The main advantages of using Hangfire with Znode are:
- It can manage scheduled jobs from its own DB therefore tracking the source from where the job is being executed becomes easy
- It removes Znode’s task scheduler exe dependency to manage background jobs
- Znode’s task scheduler exe is not supported by the Azure server
Enhancements
[ZPD-14130] - Cache Eviction
Shopper Experience
Znode provides a robust and extensible cache eviction framework that can be customized to efficiently evict data as needed within the application. The Cache Eviction code has been further optimized so that it can be customized easily to efficiently evict data, especially from multi-server environments.
[ZPD-14101/ZLMC-2209] - Removal Of Clear Cache Call From Change Locale Flow
Shopper Experience
Earlier, when a locale was changed from the web store, the cache memory of the web-store server used to get cleared because of which the average time required to access the data for the first time after changing the locale used to increase.
With this release, after changing the locale, the cache memory of the web-store server will not get cleared, thereby providing faster access to the cached data.
[ZPD-14131/ZLMC-2236] - Usage Of Output Cache Instead Of Donut Cache
Shopper Experience
Output Cache is now used instead of Donut Cache for the below actions:
- HomeContent
- TopLevelList - category list
- footer content
- CategoryContent
- BriefContent
- ContentPageContent
- DetailsContent
This change will prevent any rare scenarios in which certain sections of the Category pages could display blank data.
[ZPD-13812] - Performance: Add Product To Cart Operation
Shopper Experience
Earlier, few unnecessary calls used to get initiated when a product was added to the cart. Such identified calls are removed. This has not only enhanced the performance but has also reduced the time required to add products to the cart.
[ZPD-13686] - Performance: Cart Count
Shopper Experience
A stored procedure will now be called instead of initiating 2 unnecessary calls to get the count of products available in the Cart. This enhancement has reduced the time required to fetch the count of products available in the Cart.
[ZPD-14064] - Performance: Remove Items From Cart
Shopper Experience
When a line item or all line items from a Cart are removed, then instead of deleting line items from the database, a dummy Cart ID will be assigned in the respective tables so that the time required to perform removal of line items is reduced. This change will increase the performance of the Cart screen.
Important: Since this enhancement does not remove original line items from the database, therefore it will be important for project teams to execute deletion scripts after regular intervals so that unnecessary data can be removed from the database.
[ZPD-13718] - Performance: Changes In Payment API Header For Checkout Page
Shopper Experience
An unnecessary Ajax call that was used to get the Payment API Header on the Checkout page has been removed. This enhancement has improved the performance of the Payment Methods section of the Checkout page.
[ZPD-13538] - Performance: Shipping Methods Section On Checkout Page
Shopper Experience
The code for the Shipping Methods section of the Checkout page has been optimized. This enhancement has improved the performance of the Shipping Methods section of the Checkout page and has reduced the time required to fetch the relevant shipping methods.
[ZPD-13879] - Performance: Select Shipping Operation
Shopper Experience
An unnecessary call used to get initiated when a Shipping Method is selected from the Checkout page. This identified call has been removed to improve the performance of the Shipping Method selection operation.
[ZPD-13540] - Performance: Payment Methods Section On Checkout Page
Shopper Experience
The code for the Payment Methods section of the Checkout page has been optimized. This enhancement has improved the performance of the Payment Methods section of the Checkout page and has reduced the time required to fetch the relevant payment methods.
[ZPD-13660] - Performance: Login Page
Shopper Experience
The code for the Login functionality has been optimized. This new implementation has increased the performance of Login operation and reduced the time required to log in to the account.
[ZPD-13978/ZPD-13844] - Performance: Manage Order Screen
Administration
The code for the Manage Order screen has been optimized to enhance the performance of the Manage Order screen operations and to reduce the time required to update the changes.
[ZPD-13764] - Performance: Admin Dashboard
Administration
Earlier multiple calls used to get initiated to fetch the data on the Dashboard screen of the admin application. The number of calls initiated to fetch the data are reduced. This has not only enhanced the performance but has also reduced the loading time of the Dashboard screen.
[ZPD-13946/ZLMC-2127] - Performance: Edit Products
Administration
The code for associating the variants for configurable products has been optimized. This has reduced the time required for associating variants with configurable products.
[ZPD-13922] - Performance: Manage User Screen
Administration
The code for the Manage User screen has been optimized to enhance the performance of the Manage User screen operations and to reduce the time required to save the changes.
[ZPD-13966/ ZLMC-2134] - New Supported File Extensions
Administration
Admin users will now have the ability to upload files with any of the following extensions for product attributes of type File:
- .dwg
- .bin
- .file
- .tar
- .gz
- .rfa
Issues Resolved
[ZPD-14299/ZLMC-2225] - Admin - An email template macro spelling was incorrect and therefore was corrected.
[ZPD-14160/ZPD-14352/ZLMC-2328] - Admin - When + sign was used in the Username field to create an admin user, the list pages used to break when the respective admin user used to log in to the admin application.
[ZPD-14085] - Web Store - Even after selecting a value for In Hands Date and Shipping Constraint fields on the Checkout page, still the values were not getting saved after placing the order.
[ZPD-14001/ZLMC-2153] - Whenever DB entities were called, the logs were always tracked.
[ZPD-13340] - Admin & Web Store - In some scenarios when the Remove Saved Cart Line Item button was clicked, a continuous loader used to get displayed.
[ZPD-14011/ZLMC-2155] - The products passed as parameters were not getting deleted when tried to delete them.
[ZPD-13772] - The response parameter data types were not consistent for 'shoppingcarts/getshoppingcart' API.
[ZPD-13968/ZLMC-2133] - Admin - The uploaded image was not getting displayed in the Image media attribute on the Edit Media screen.
[ZPD-13594/ZLMC-1989] - Admin - When changes were made to General Settings from the Manage User screen for a user account that is associated with any Account, then the overridden User Profiles used to get removed and the Account’s User Profiles used to get associated with the user account.
[ZPD-13987/ZLMC-2144] - SMTP emails did not work when SSL was enabled.
Important: The following methods are marked as obsolete as they are not required:
- SendEmail(both overloads)
- DeleteAttachedFile
- BuildEmailMessage
- SendMailByPortalId
[ZPD-13892] - Admin and Web Store - When a “/” sign was added after a keyword for Brand SEO then the Brand page of the web store used to break.
[ZPD-13814] - Admin and Web Store - The content of CMS pages that were published to the preview environment were also getting displayed on the production environment when any other CMS page was published to the production environment.
[ZPD-11143/ZLMC-1464] - The UserListModel method of the UserClient.cs file used to take a lot of time for execution.
[ZPD-13418/ZLMC-1954] - Admin - The New/Modified Past Days field of the ERP Connector Settings field used to accept character values instead of just numeric values.
[ZPD-13969/ZLMC-2132] - Admin - After uploading files in File Type Attribute from Add/Edit Product screen, the files were not visible in the Edit Product screen when the files were uploaded.
[ZPD-13762/ZLMC-2047] - Admin - Allow Multiple File field only used to get displayed on the Edit Attribute screen and not only the Add Attribute screen.
[ZPD-12707] - Web Store - The inventory validation message for bundled products was considering the inventory value from the child product on the Cart page.
[ZPD-13711/ZLMC-2021] - Admin - The product bulk update used to fail when the value with more than the required size was added. This has been made configurable so that it can be managed based on the project requirements.
[ZPD-13535] - Web Store - In some scenarios and deadlock used to occur on the Order Receipt page.
Note: This change has also increased the performance as few calls are reduced.
[ZPD-14036/ZLMC-2127] - Admin - The application is used to allowing users to navigate to the Payments tab without selecting a shipping option while creating an order.
[ZPD-13090/ZLMC-1866] - Web Store - The complete Wishlist icon image was getting displayed because of insufficient spacing.
[ZPD-14216/ZPD-14032] - Web Store - Categories from the store's catalog were displayed on the web store instead of the user profile’s catalog.
[ZPD-14218] - Web Store - Categories from the store's catalog were displayed on the web store instead of the Account’s catalog when a locale was changed before the user login.