9.3.1.0 Release Notes

November 1, 2019

New Theme

B2B Oriented Theme
Shopper Experience


With Znode 9.3.1, Znode clients will have the option to use the old B2C theme or the new B2B theme.

The new theme is built taking the B2B business and B2B customers (shoppers) into consideration. This theme is comparatively fast, has a modern UI and is more user-friendly than the previous B2C theme. Therefore it will attract more target audiences (shoppers) on the web-store.

Important:

  • “B2C theme” and “B2C data” terminology will now be used for Maxwell’s Fine Foods theme and B2C default data (which includes Fine Foods catalog, Nut Wholeseller catalog, etc) respectively.

  • Apart from the B2C data script, a new data script is available for B2B data so that Znode clients can choose the data script they want to use.

  • No upgrade script for B2B data is released with Znode 9.3.1, therefore only the new projects will be able to use the B2B data script. The upgrade script will be available in the coming releases.

  • The following code side changes which affect the theme have been made available in B2B and B2C themes:

    • Breadcrumb - The Home icon will display as initial navigation

    • Quick Order - Product description will not be displayed when the product is searched

    • Loader - B2B theme loader is available in B2C theme as well



New Features

[ZPD-6783] - New Account Verification

Administration / Shopper Experience


The new account verification feature allows admin users to enable mandatory verifications for the newly created accounts.


To enable/disable account verification, a new setting User Registration Method has been introduced on the Stores & Reps >> Stores >> Manage Store page in the Znode admin application. There are 3 options available for User Registration Method field:

  • Self Registration With No Email Verification

    • When this option is selected and saved, customers (shoppers) will be able to register and immediately able to login to the web store without requiring to verify their account.

  • Self Registration With Email Verification

    • When this option is selected and saved, customers (shoppers) will be able to register but will not be able to login unless they verify their account using the verification link sent to their email address.

  • Self Registration With Admin Approval

    • When this option is selected and saved, customers (shoppers) will be able to register but will not be able to login unless any admin user verifies their account.


[ZBT-361] - Login To See Pricing 

Administration / Shopper Experience


A new setting Login To See Pricing is introduced on the Stores & Reps >> Stores >> Manage Store >> Additional Attributes page in the Znode admin application. 


This setting allows admin users to enable/disable the pricing displayed to the guest customers (shoppers) on the web-store depending on the value selected.


To enable or disable this setting on the web store, publishing the Store Settings is mandatory.


Important: The behavior of this setting can be seen only on the B2B theme.



[ZBT-361] - Stock Levels Of Products On Product Listing Page 

Administration / Shopper Experience


A new setting Display Stock Levels From Default And All Warehouses is introduced on the Stores & Reps >> Stores >> Manage Store >> Additional Attributes page in the Znode admin application. 


This setting allows admin users to either display total inventory from all the warehouses associated with the respective store for every product on the product listing page OR to display default warehouse’s inventory and total inventory from all the warehouses associated with the respective store.
To enable or disable this setting on the web store, publishing the Store Settings is mandatory.


Important: 

  • The behavior of this setting can be seen only on the B2B theme.

  • For Configurable and Grouped products, inventory levels will not be displayed on the PLP irrespective of value saved and published for “Display Stock Levels From Default And All Warehouses”


[ZBT-337] - Sales Reps

Administration


Admin users will now have the ability to create a new type of admin user known as Sales Rep who will have a system-defined role Sales Rep from the Admin >> Admin Users page and also from the new Stores & Reps >> Sales Reps page.


The Sales Reps or the Sales Representatives will be users who will help customers (shoppers) in placing the orders to ensure a smooth sales process.


Important:

  • For the initial phase, Sales Reps access levels will be exactly the same as the normal Admin user’s access levels.

  • A new UI is created for Add/Manage Sales Rep page and the same UI is considered for Add/Edit Admin User page. Therefore since First Name and Last Name is mandatory for Sales Rep, therefore it will now be mandatory for Admin User as well.


[ZBT-358] - QR/Barcode Scanner 

Administration / Shopper Experience


Admin users will now have the ability to add a UPC code while adding/editing products. Also, a QR/Barcode scanner has been introduced in the B2B and B2C themes so that customers (shoppers) can scan the QR/Barcode to find the respective product which has a UPC code associated to it.


[ZBT-369] - Obsolete Products 

Administration / Shopper Experience


Any product which is no longer used or produced by any manufacturing company is considered as an obsolete product. 


Admin users will now have the ability to mark such products as Obsolete and add product suggestions while editing products, which customers (shoppers) can choose when they view the obsolete product’s page on the web-store.


Important:

  • When a product is obsolete, customers (shoppers) will not be able to purchase those products.

  • When a child product is obsolete but the parent product is not then customers (shoppers) will be able to purchase the parent products. Therefore it is recommended to mark the parent and child products both as obsolete.








Enhancements


[ZBT-302/ZBT-303] - Order Templates 

Shopper Experience


Order Templates was an old Znode feature that was removed in one of the previous releases. This feature is now enhanced and is introduced in the new B2B theme.


These templates can be used by the customers (shoppers) who place the same orders at regular intervals of time. Customers (shoppers) can create Order Templates by adding products and quantities to the template and can directly add the required Order Template to cart for placing the order.



[ZBT-300] - Pending Orders 

Shopper Experience


In the B2C theme, there is a separate section to display the Pending Order History and Pending Order Approval History.


In the B2B theme, only a single section known as Pending Orders is added to display the Pending Order History and Pending Order Approval History.


Customers (shoppers) will be able to identify whether a pending order approval is requested or is sent for approval using a new column Order Type. The value of Order Type will be Approval Requested when an order approver sees a pending order and the value will be  Pending For Approval when a customer (shoppers) who has requested an approval sees the pending order.





[ZBT-311] - Update Default Address From Account Dashboard

Shopper Experience


Customers (shoppers) will have the ability to update their default billing/shipping address just by selecting an available address option from the Address dropdown from their Account Dashboard page on the web-store.


Important: This change is available only in the B2B theme.




[ZBT-359] - Voice Search 

Shopper Experience


Znode’s Voice Search feature now uses the Google Speech API to recognize the speech and search products and is now supported by Chrome and Firefox browsers


[ZBT-368] - Product Comparison 

Shopper Experience


Product Comparison was an old Znode feature that was removed in one of the previous releases from the B2C theme. This feature is now enhanced and is introduced in the new B2B theme.


Customers (shoppers) will now have the ability to compare a maximum of 4 products at a time using the Product Comparison feature.


Admin users can enable/disable this comparison feature from the Stores & Reps >> Stores >> Manage Store >> General page.




[ZPD-4722] - Display Order of Footer Contents 

Administration


Admin users will now have the ability to set the display order of Store Media, Help Section, Store Info and Payment Gateway options displayed on the Footer section of the web store.


The display order of the said options can be managed from the CMS >> Store Experience module.


[ZPD-5642] - New System Defined Attributes and Group

Administration


The below product attributes and groups are used/hardcoded in some modules or in theme and therefore they are made system defined so that no user is able to delete them even by mistake:


Product Attributes:

  • GalleryImages

  • FreeShipping

  • ShippingCostRules

  • ShippingInformation

  • ShipSeparately


Product Group:

  • Product Details


[ZPD-6795/ZPD-7391] - Performance: Publish

Administration / Commerce


When a catalog was published, a product attribute XML used to get generated with the details of all the attributes. This used to happen after every catalog publish.


Therefore to increase the performance of the Publish process and to reduce the publish completion time, now whenever a catalog will be published, the application would update the values of only the product attributes which were changed in the generated product attribute XML from second publish onwards.


[ZPD-7464/ZPD-7420/ZPD-7465/ZPD-7391] - Performance: Cart & Checkout pages 

Shopper Experience / Commerce


The code of the Cart, Checkout, and Order processing areas have been optimized to a larger extent. This has not only increased the performance of the Cart and Checkout pages but has also reduced the order processing time.


[ZPD-7205] - Performance: Log4Net Batch Logging 

Commerce


Earlier, generated logs used to immediately get saved in MongoDB simultaneously as they were generated. This continuous process used to sometimes slow down the response time of the web request.


Therefore, to enhance the performance of Log4Net Logging, a BufferingForwardingAppender is introduced which stores a certain number of logs in-memory, and saves them in MongoDB once the buffer-size reaches the given limit.


[ZPD-6756/ZLMC-678] - Sort By Price Enhancement 

Shopper Experience


Earlier Sort By Price sorting option used to sort only the products which were available on the selected page (from the pagination option) and not all the available products under the product list.


With this release, the Sort By Price feature will sort all the products which will be available on all the pagination pages of the product listing.

Important: This behavior of this feature has been changed (as mentioned above) only for the scenarios when the Catalog level setting “Display Pricing And SEO Detail Of Products From Index” is turned on.

[ZPD-6449/ZLMC-594] - Default Attribute Value Import

Administration


With this release, admin users will have the ability to import the default values of the attributes using the Import feature.



[ZPD-6779/ZLMC-688] - Clear Cache feature for the default store

Administration


In the Znode admin application, admin users can associate stores with multiple URLs. Earlier, whenever Clear Cache action was initiated, it used to clear the cache of all the stores whose URLs were present within the store module. 


This process used to consume a lot of time. Therefore the code for Clear Cache action has been modified only for the default URLs saved under the store module. Therefore now whenever this action will be initiated, the cache of the store(s) hosted only on the default URL(s) will get cleared.


[ZPD-6426/ZLMC-580] - Performance: Product Feed Generation

Administration


The product feed generation process used to take a long time with large product data.

The code for this process has been optimized to a larger extent which will not only increase the performance but will also reduced the product feed generation time.


[ZPD-7060/ZLMC-746] - Performance: Product Export

Administration


The product export process used to take a long time with large product data.

The code for this process has been optimized to a larger extent which will not only increase the performance but will also reduced the product export time.



[ZPD-7264] - Secondary User For PayFlow

Administration / Commerce


PayFlow Payment Gateway provides the provision of primary and secondary users where the primary user has all the access levels and the secondary user has limited access levels.


Earlier in Znode, only the provision of adding the primary user was available when creating a PayFlow payment method.  


With this release, a new field User is introduced for PayFlow gateway, which allows admin users to associate a secondary user to the payment method.



[ZPD-7402] - Performance: Admin - Product List

Administration


The product list page of the Znode admin application has been optimized to a higher extent. This has not only increased the performance but also has reduced the loading time of the product list page.



[ZPD-7407] - Performance: Admin - Inventory List

Administration


The inventory list page of the Znode admin application has been optimized to a higher extent. This has not only increased the performance but also has reduced the loading time of the inventory list page.



[ZPD-7415/ZPD-7141] - Performance: Admin - Order List

Administration


The order list page of the Znode admin application has been optimized to a higher extent. This has not only increased the performance but also has reduced the loading time of the order list page.



[ZPD-7337/ZPD-7209] - Product Page Code Optimizations

Shopper Experience


The code of the individual product page for configurable products has been optimized to a larger extent. This has increased the performance of the Configurable Product Page on the web store.


Also, the order in which the attributes will be displayed on the Configurable Product Page on the web store will now depend on the display order of attribute values saved from Product Attributes module for the respective attributes.


[ZPD-7699/ZPD-7641/ZPD-7424/ZPD-7381/ZPD-7367] - Provider Engine Code Optimizations

Commerce


The code of the Provider Engines (Promotion, Shipping and Tax modules) has been optimized to a larger extent. This has increased the performance of the Provider Engines.

 

Also, the order in which the attributes will be displayed on the Configurable Product Page on the web store will now depend on the display order of attribute values saved from Product Attributes module for the respective attributes.

Issues Resolved

[ZPD-6201] - Web store - Order total was getting changed whenever changes were made in the client-side script or in the HTML file.

[ZPD-7412] - Znode_GetAccountListWithAddress SP used to break  in some scenarios.

[ZPD-6753/ZLMC-677] - Web store - When shipping and tax calculation requests used to get received at the same time, the shipping and taxes calculated for one order used to get associated with a different order.

[ZPD-6930] - Admin & Web store - After publishing a product(s), the customer (shopper) reviews used to get removed from the product page of the web-store.


[ZPD-5823/ZLMC-426] - Web store - USPS shipping did not use to work if there was space in the SKU of the products. 


[ZPD-6158/ZLMC-506] - Web store - Customers (shoppers) were able to change the order amount from the browser console.


[ZPD-6408/ZLMC-575] - Admin - The payment status of orders used to show Captured even when the payment capture was failed.


[ZPD-7002/ZLMC-734] - Admin & Web store - When Enable Persistent Cart settings were enabled, Global.asax -> SessionStart used to misbehave. 


[ZPD-7064/ZLMC-747] - Web store - Duplicate products used to get displayed in the search results when an invalid keyword(s) was searched.


[ZPD-7077/ZLMC-713] - Admin - Unnecessary errors were getting generated in the Application Logs.


[ZPD-7115/ZLMC-772] - Admin - Errors were getting generated when image generation was in process.


[ZPD-7138/ZLMC-777] - Admin - Additional views were not getting removed even after removing them from the Edit Product page.


[ZPD-7158] - Admin - After publishing a catalog if any child or parent category is updated and the catalog is again published, then the updated parent and child categories do not use to get displayed in a parent-child relation on the web-store.


[ZPD-7177/ZLMC-791] - Web store - The discounted shipping price with Percent Off Shipping With Carrier promotion, did not use to reflect in the Cart section of the Checkout page.


[ZPD-7187/ZLMC-793] - Web store - Some categories were not getting generated in the Category sitemap XML


[ZPD-7188] - Web store - Address section of the Checkout page used to get disappeared when only the zipcode was added and saved in the address section.


[ZPD-7192/ZLMC-796] - Admin - Order list page used to take a long term to load the available orders.


[ZPD-7193/ZLMC-795] - Admin - Time out error used to get displayed when Advanced Coupon Usage Report was generated.


[ZPD-7197] - Admin - Even after adding an attribute in the Searchable Fields section of Search Profile, still the validation message to add at least one attribute used to get displayed on the page.


[ZPD-7299/ZLMC-811] - Web store  - There was a spelling mistake in the validation message of Reset Password functionality.


[ZPD-7303/ZLMC-838] - There was no Import validation logic available to handle improper characters in Price List CSV.


[ZPD-7342/ZLMC-851] - Web store - Order History pagination alignment was not proper in the mobile view.


[ZPD-7386] - Admin - Admin users were not being able to change the order status as Return for ordered items.


[ZPD-7398] - Web store - Customers (shoppers) were not being able to update the default address from the Address Book section when default shipping and default billing addresses were the same.


[ZPD-7404] - Admin - The position of images used to get changed after saving the product from the Edit Product page.


[ZPD-7151/ZLMC-781] - Web store - The additional cost (from the AdditionalCost property in ZnodeShoppingCartItem) was not getting added in the order total when an order was placed.


[ZPD-7340] - Znode_GetCatalogProductSEODetail SP used to take a lot of time for execution and most of the time, it used to time out.


[ZPD-7184] - Admin - Catalog Publish process used to stop on 50% when large Catalog had large data. 


[ZPD-7191] - Admin - The label "Enable Persistent Cart" was incorrect and was therefore renamed to "Enable Cart Redirect".


[ZPD-6579/ZLMC-629] - Admin - Error message used to get displayed when General- Custom report was generated.


[ZPD-7282] - Earlier for every entity, a new instance used to get generated in Mongo. This process was time taking. 


[ZPD-6480/ZLMC-601] - Web store - After products are added to cart if any product(s) goes out of stock, no message used to get displayed on the cart page and checkout page. Also, when the customer (shopper) tries to checkout, the page used to continuously load in a loop.


[ZPD-6832] - Admin - Even after canceling the order, the payments were not getting refunded in the Payflow account.


[ZPD-7001/ZLMC-733] - Admin - On initiating a store publish action, the application used to display an error. 


[ZPD-5498/ZLMC-328] - Amazon Pay - Incorrect Seller ID was getting displayed at Amazon Pay payment gateway’s end.


[ZPD-5594/ZLMC-358] - Admin - Search with special characters used to display invalid results on the Products list page.


[ZPD-5764/ZLMC-410] - Admin - After adding multiple products in Percentage Off Product promotion, the search in Associate Products popup used to stop searching for products by SKU. 


[ZPD-6171/ZLMC-510] - When no file is available on the specified patch and the Product Refresh is triggered path, an incorrect message used to get displayed.


[ZPD-6410/ZLMC-573] - Admin & Web store - While placing an order from the web store, if the admin user unchecks the Add In Address book option, then the respective Manage Order page in the admin application used to display the empty address in Edit Shipping Address popup.


[ZPD-6544/ZLMC-627] - Admin - Due to multiple clear cache calls, SPP Content blocks used to take a good amount of time to get published.


[ZPD-6568/ZLMC-635] - Admin - The Advanced Order report used to display incorrect data when the 12 AM - 11:59 PM start time and end time was selected.


[ZPD-6678/ZLMC-662] - Web store - When a configurable product was viewed, the child product of the respective product used to get displayed on the Recently Viewed Products widget.


[ZPD-6715] - Admin - Incorrect notification message used to get displayed when a customer (shopper) was created from the Edit Account module.


[ZPD-7165/ZLMC-787] - Web store - The category list page used to display the facets of products that were not available in the category.


[ZPD-6747/ZLMC-675] - Admin - Publishing store with CMS changes was changing the view template of another store.


[ZPD-6924/ZLMC-711] - Admin - A label Disable Capture was confusing and was therefore changed to “Display Capture In OMS”. 


[ZPD-6986/ZLMC-729] - Web store - The updated Robot tag and Canonical URL were not getting displayed on the desired content pages on the web-store.


[ZPD-7004/ZLMC-408] - The product details displayed on the cart page did not use to load in the same sequence always.


[ZPD-7015] - Web store - The same product variants were getting displaying multiple times in the Recently Viewed Products section.


[ZPD-7040] - Admin - Znode admin application did not use to work properly with the Chrome 76 version.


[ZPD-7061] - Admin - Multiple error logs were getting generated from the GetKeywordSearchSuggestion method in the Application logs.


[ZPD-7063/ZLMC-745] - Admin - Duplicate categories were getting displayed when the same categories were associated twice with the Catalog.


[ZPD-7067/ZLMC-744] - Admin - The updated catalog name did not use to get displayed when the Catalog list page was refreshed.


[ZPD-7086] - Web store - Configurable product images were not getting displayed in the Recently Viewed Products section.


[ZPD-7087/ZLMC-760] - Admin - Admin users were unable to save the shipping entities when the shipping method was created from the Extension Engine.


[ZPD-7097/ZLMC-762] - Admin - Site search did not use to work in after upgrading to Znode 9.2.1.7 patch.

[ZPD-7098/ZLMC-763] - Admin - A TinyMCE script was broken due to which admin users were not able to change the attribute family of products.


[ZPD-7114] - Admin - After associating products to category, error message used to get displayed in case of a large number of products.


[ZPD-6679/ZLMC-668] - Admin & Web store - Previously, the tax used to get calculated on the discounted subtotal amount. This implementation broke due to another implementation


[ZPD-7166/ZLMC-784] - If the Server name and DB instance name is different then the Import and Publish process used to fail. 


[ZPD-7504] - The log messages for MongoDB operations were not proper and were therefore changed through MongoRepository.cs file.


[ZPD-7150/ZLMC-780] - Admin - Swatch Images were not getting generated through Generate Image Scheduler.


[ZPD-7259/ZLMC-810] - Username was not getting displayed in the Account Activation email notification sent to the customer (shopper).


[ZPD-7266/ZLMC-771] - Web store - No products were getting displayed on the PLP of the web store when filters were removed on Page 2 of PLP.


[ZPD-7290/ZLMC-825] - Web store - Invalid validation message used to get displayed on the Checkout page when an incorrect address was added by the customers.


[ZPD-7292/ZLMC-822] - Web store - Apart from the applied promotion name, other promotions with similar names were getting displayed on the Order page.


[ZPD-7316/ZLMC-845] - Admin - Sitemap XML generation process did not use to display any loading sign or the success notification message.


[ZPD-7317/ZLMC-844] - Admin - NULL entries for SEO details used to get saved in the DB.


[ZPD-7343/ZLMC-850] - Admin - Import process used to hang with large data and while the import was in progress, admin users were not able to update the details of products.


[ZPD-7406] - Web store - Incorrect discounted amount used to get displayed on the Cart page for grouped products and add-ons.


[ZPD-7411] - Web store - Elements of profile base catalog were not getting displayed on the web-store due to the previously cached content.


[ZPD-7413] - Admin - Admin users were not being able to save the updated roles and access rights.


[ZPD-7437/ZLMC-870] - Web store - When a shipping method is changed, the shipping method or the loader did not use to show up immediately.


[ZPD-7438/ZLMC-869] - Web store - The Subtotal and Total amounts were not getting updated when the product quantity was updated.


[ZPD-7476] - Web store - Invalid and unwanted search validation messages were getting displayed on the web-store.


[ZPD-7498/ZLMC-887] - The Orders/GetOrderDetailsForInvoice API endpoint did not use to return all of the desired details for bundled products because of some missing properties.


[ZPD-6742/ZLMC-673] - Web store - Customer credit card was not getting charged because the order was not getting captured at Authorize.Net’s end and was getting captured at Znode’s end.


[ZPD-7384] - Web store - When customers used to upload the PO attachment through the Checkout page, internally, this process used to break.


[ZPD-7430] - Web store -When full page caching is on, the navigation, sorting and facets did not use to work properly.


[ZPD-7388] - There was a hardcoded value to display the default number of products on the PLP page.

Implementation Details

[ZPD-6783] - New Account Verification

Please refer to the Technical Document for more information


[ZBT-361] - Login To See Pricing

Please refer to the Technical Document for more information


[ZBT-361] - Stock Levels Of Products On Product Listing Page

Please refer to the Technical Document for more information


[ZBT-337] - Sales Reps

Please refer to the Technical Document for more information


[ZBT-358] - QR/Barcode Scanner

Please refer to the Technical Document for more information


[ZBT-369] - Obsolete Products

Please refer to the Technical Document for more information


[ZBT-302/ZBT-303] - Order Templates

Please refer to the Technical Document for more information


[ZBT-300] - Pending Orders

Please refer to the Technical Document for more information


[ZBT-311] - Update Default Address From Account Dashboard

Please refer to the Technical Document for more information


[ZBT-359] - Voice Search

Please refer to the Technical Document for more information


[ZPD-4722] - Display Order of Footer Contents

Please refer to the Technical Document for more information


[ZPD-5642] - New System Defined Attributes

Please refer to the Technical Document for more information


[ZPD-6795/ZPD-7391] - Performance: Publish

Please refer to the Technical Document for more information


[ZPD-7464/ZPD-7420/ZPD-7465/ZPD-7391]- Performance: Cart & Checkout pages

Please refer to the Technical Document for more information


[ZPD-7205] - Performance: Log4Net Batch Logging

Please refer to the Setup Document for more information


[ZPD-6756/ZLMC-678] - Sort By Price Enhancement

Please refer to the below Technical Document for more information


[ZPD-6449/ZLMC-594] - Default Attribute Value Import

To implement this functionality, changes were made in Znode_ImportValidatePimProductData stored procedure and Znode_ImportAttributeDefaultValue stored procedure was added.


[ZPD-6779/ZLMC-688] - Clear Cache feature for the default store

To implement this enhancement changes were made in the GenerateCacheUrlAndCall,ClearCache,ReInitializeCacheForLogConfiguration and GetActiveDomain methods of ClearCacheHelper file.


[ZPD-6426/ZLMC-580] - Performance: Product Feed Generation

To improve the performance and to reduce the generation time of the product feeds, the code written in the Znode_GetProductFeedList stored procedure has been optimized to a larger extent.


[ZPD-7060/ZLMC-746] - Performance: Product Export

to improve the performance and to reduce the time required for exporting, changes were made in:

  • GetAllProductList method of ExportAgent file

  • GetExportProductList method of ProductAgent and IProductAgent files

  • ProductExportChunkSize method of ZnodeAdminSettings file

  • Web.config file


[ZPD-7264] - Secondary User For PayFlow

To implement this enhancement, changes were made in the following files:

  • _Payflow.cshtml

  • Payflowcustomerprovider


[ZPD-7402] - Performance: Admin - Product List

To implement this enhancement, changes were made in the following stored procedures:

  • Znode_ManageProductList_XML

  • Znode_GetOrderByPagingProduct

  • Znode_GetPimProductAttributeInventory

  • Znode_GetProductsAttributeValue_newTesting


[ZPD-7407] - Performance: Admin - Inventory List

To implement this enhancement, changes were made in the Znode_GetSKUInventoryList stored procedure.


[ZPD-7415/ZPD-7141] - Performance: Admin - Order List

To implement this enhancement, changes were made in the Znode_GetOmsOrderDetail stored procedure and ZnodeUserPortal table.


[ZPD-7337/ZPD-7209] - Product Page Code Optimizations

Please refer to the below Technical Document for more information


[ZPD-7699/ZPD-7641/ZPD-7424/ZPD-7381/ZPD-7367] - Provider Engine Code Optimizations

Please refer to the below Technical Document for more information


[ZPD-6201] - Web store - Order total was getting changed whenever changes were made in the client-side script or in the HTML file. 

To resolve this issue, changes were made in SetShoppingCartDetails method of ZnodeCheckout.cs file.

[ZPD-7412] - Znode_GetAccountListWithAddress SP used to break  in some scenarios and was therefore fixed by updating the code in the SP


[ZPD-6753/ZLMC-677] - Web store - When shipping and tax calculation requests used to get received at the same time, the shipping and taxes calculated for one order used to get associated with a different order.

To resolve this issue, changes were made in ZnodeShippingManager.cs and ZondeTaxManager.cs files


[ZPD-6930] - Admin & Web store - After publishing a product(s), the customer (shopper) reviews used to get removed from the product page of the web-store.

To resolve this issue, changes were made in the IProductMongo.cs file.


[ZPD-5823/ZLMC-426] - Web store - USPS shipping did not use to work if there was space in the SKU of the products. 

To resolve this issue, changes were made in BuildRateRequestXml and BuildRateRequestInternationalXml methods of the USPSAgent.cs file.


[ZPD-6158/ZLMC-506] - Web store - Customers (shoppers) were able to change the order amount from the browser console.

This issue was fixed with [ZPD-6201].


[ZPD-6408/ZLMC-575] - Admin - The payment status of orders used to show Captured even when the payment capture used to get failed.

To resolve this issue, changes were made in the following files:

  • DoExpressCheckoutPayment

  • ZnodeEnum

  • ZnodePaymentStatus method of GatewayResponseModel

  • PaymentStatusId method of PaymentModel

  • ZnodeCheckout


[ZPD-7002/ZLMC-734] - Admin & Web store - When “Enable Persistent Cart” settings were enabled, Global.asax -> SessionStart used to misbehave.

To resolve this issue, 

  • Changes were made in the following files:

    • GetCartCount method of CartAgent.cs

    • GetReturnUrlAfterLogin method of .UserAgent.cs

    • Session_Start method of Webstorehelper.cs

  • cartCountAfterLogin method was added in CartAgent.cs file



[ZPD-7064/ZLMC-747] - Web store - Duplicate products used to get displayed in the search results when an invalid keyword(s) was searched.

To resolve this issue, changes were made in GetResultFromSuggestions method of SearchService.cs file.


[ZPD-7077/ZLMC-713] - Admin - Unnecessary errors were getting generated in the Application Logs.

To resolve this issue, changes were made in the GetDynamicProperty method of ObjectExtension.cs file.


[ZPD-7115/ZLMC-772] - Admin - Errors were getting generated when image generation was in process.


[ZPD-7138/ZLMC-777] - Admin - Additional views were not getting removed even after removing them from the Edit Product page.

To resolve this issue, changes were made in the Znode_GetPimProductAttributeValues SP


[ZPD-7158] - Admin - After publishing a catalog if any child or parent category is updated and the catalog is again published, then the updated parent and child categories do not use to get displayed in a parent-child relation on the web-store.

To resolve this issue, changes were made in Znode_GetPublishCategory stored procedure.


[ZPD-7177/ZLMC-791] - Web store - The discounted shipping price with Percent Off Shipping With Carrier promotion, did not use to reflect in the Cart section of the Checkout page.

To resolve this issue, changes were made in the Calculate method of ZnodeShoppingCart.cs file.


[ZPD-7187/ZLMC-793] - Web store - Some categories were not getting generated in the Category sitemap XML

To resolve this issue changes were made in Znode_GetCategoryFeedList SP


[ZPD-7188] - Web store - Address section of the Checkout page used to get disappeared when only the zipcode was added and saved in the address section.

To resolve this issue changes were made in _BillingShippingAddress.cshtml


[ZPD-7192/ZLMC-796] - Admin - Order list page used to take a long term to load the available orders.

To resolve this issue, changes were made in Znode_GetOmsOrderDetail SP


[ZPD-7193/ZLMC-795] - Admin - Time out error used to get displayed when Advanced Coupon Report was generated. 

To resolve this issue, changes were made in ZnodeReport_GetCouponFiltered and ZnodeDevExpressReport_GetCouponFiltered SPs.


[ZPD-7197] - Admin - Even after adding an attribute in the Searchable Fields section of Search Profile, still the validation message to add at least one attribute used to get displayed on the page.

To resolve this issue, changes were made in AddAttributes method of Search.ts


[ZPD-7299/ZLMC-811] - Web store - There was a spelling mistake in the address validation message and was therefore fixed by making changes in the WebStore_Resources.Designer.cs and WebStore_Resources.resx files


[ZPD-7303/ZLMC-838] - There was no Import validation logic to handle improper characters in Price List CSV.

To resolve this issue, changes were made in Znode_ImportPriceList stored procedure


[ZPD-7342/ZLMC-851] - Web store - Order History pagination alignment was not proper in the mobile view.

To resolve this issue, changes were made in _GridPager.cshtml


[ZPD-7386] - Admin - Admin users were not being able to change the order status as "Return" for ordered items.

To resolve this issue, changes were made in ManageShoppingCart.cshtml


[ZPD-7398] - Web store - Customers (shoppers) were not being able to update the default address from the Address Book section when default shipping and default billing addresses were the same.

To resolve this issue,

  • Changes were made in SetBillingShippingFlag method of Webstoreaccountservice file

  • New property IsAddressBook was added in AddressModel


[ZPD-7404] - Admin - The position of images used to get changed after saving the product from the Edit Product page.

To resolve this issue, changes were made in Znode_GetProductsAttributeValue_newTesting stored procedure.


[ZPD-7151/ZLMC-781] - Web store - The additional cost (from the AdditionalCost property in ZnodeShoppingCartItem) was not getting added in the order total when an order was placed.
To resolve this issue, changes were made in the following files:

  • ZnodePortalCart.cs

  • ReturnOrderLineItemModel.cs

  • SetOrderLineItems method of ZnodeCheckout.cs

  • BindOrderData of OrderService.cs

  • GetReturnLineItem and GetCustomCartItem methods of OrderAgent.cs


[ZPD-7340] - Znode_GetCatalogProductSEODetail SP used to take a lot of time for execution and most of the time, it used to time out. To resolve this issue, the changes have been made in the SP to reduce the time required for execution.

[ZPD-7184] - Admin - Catalog Publish process used to stop on 50% when large Catalog had large data. 
To resolve this issue, 

  • Changes were made in the following files:

    • GetProductCountByQuery, GetCategoryCountByQuery, CopyAssociatedProductsToMongo and SetPublishStatus methods of PreviewHelper.cs file

  • Following were added:

    • GetPublishProductCountByQuery and GetPublishCategoryCountByQuery methods were added in PreviewHelper.cs file

    • GetEntityListCount method in MongoRepository.cs

[ZPD-7191] - Admin - The label "Enable Persistent Cart" was incorrect and was therefore renamed to "Enable Cart Redirect".

To resolve this issue, changes were made in the following files:

  • Admin_Resources.Designer.cs

  • ResourcesConstants.cs

  • site.css

  • global.scss

  • CreateEdit.cshtml


[ZPD-6579/ZLMC-629] - Admin - Error message used to get displayed when General- Custom report was generated.

To resolve this issue, changes were made in the web.config file.


[ZPD-7282] - Earlier for every entity, a new instance used to get generated in Mongo. This process was time taking. 
To resolve this issue, now, a single instance will get created for all the existing or new entities in MongoClient and Log4Mongo. 
To implement this, changes were made in MongoConnectionHandler.cs and packages.config files. Also, DropDatabase method was removed from MongoConnectionHandler.cs file.


[ZPD-6480/ZLMC-601] - Web store - After products are added to cart if any product(s) goes out of stock, no message used to get displayed on the cart page and checkout page. Also, when the customer (shopper) tries to checkout, the page used to continuously load in a loop.

To resolve this issue, changes were made in SubmitOrder method of CheckoutAgent.cs file.


[ZPD-6832] - Admin - Even after canceling the order, the payments were not getting refunded in the Payflow account.

To resolve this issue, changes were made in UpdateOrder and VoidRefundPayment methods of OrderAgent.cs file.


[ZPD-7001/ZLMC-733] - Admin - On initiating a store publish action, the application used to display an error. 

To resolve this issue, changes were made in the Znode_GetPublishProductbulk stored procedure.


[ZPD-5498/ZLMC-328] - Amazon Pay - Incorrect seller Id was getting displayed at Amazon Pay payment gateway’s end.

To resolve this issue, changes were made in,

  • SetOrderReferenceDetails method of AmazonPayProvider.cs file

  • SetAmazonPayDetails method of CheckoutAgent.cs file

  • SetAmazonPayDetails method of ICheckoutAgent.cs file

  • SubmitAmazonOrder method of CheckoutConroller.cs file

  • AmazonPayPayment method

  • Checkout.ts file


[ZPD-5594/ZLMC-358] - Admin - Search with special characters used to display invalid results on the Products list page.

To resolve this issue, an HttpUtility.HtmlDecode was added in textbox value of _FilterPopover.cshtml


[ZPD-5764/ZLMC-410] - Admin - After adding multiple products in Percentage Off Product promotion, the search in Associate Products popup used to stop searching for products by SKU. 

To resolve this issue, changes were made in AssociatedProductsList XML.


[ZPD-6171/ZLMC-510] - When no file is available on the specified patch and the Product Refresh is triggered path, an incorrect message used to get displayed.

To resolve this issue, changes were made in

  • ProductRefresh method of ZnodeMockERPConnector.cs file

  • TriggerTaskScheduler method of TouchPointConfigurationAgent.cs

  • TriggerTaskScheduler method of TouchPointConfigurationController.cs file

  • ResourceConstant.cs

  • ERP_Resources.cs

  • ERP_Resources.Designer.cs


[ZPD-6410/ZLMC-573] - Admin & Web store - While placing an order from the web store, if the admin user unchecks the “Add in Address book” option, then the respective Manage Order page in the admin application used to display the empty address in Edit Shipping Address popup.

To resolve this issue, 

  • Changes were made in:

    • ZnodeOmsOrderDetail table

    • ZnodeOmsOrderShipment table

    • AddressHelper file

  • Following were added:

    • GetorderdetailsById method in IOrderAgent interface and OrderAgent file

    • FromBillingShipping, omsOrderId and omsOrderShipmentId properties in AddressModel file

    • UpdateOrderAddress method in IOrderClient interface and OrderClient file


[ZPD-6544/ZLMC-627] - Due to multiple clear cache calls, SPP Content blocks used to take a good amount of time to get published.

To resolve this issue, changes were made in CopyEntityWithinMongo, CopyEntityFromSQLToMongo, SaveGlobalMessageToMongo and PublishIndividualCMSEntity methods of GlobalMessageService file.


[ZPD-6568/ZLMC-635] - Admin - The Advanced Order report used to display incorrect data when the current date and 12 AM - 11:59 PM start time and end time was selected.

To resolve this issue, changes were made in ZnodeDevExpressReport_GetOrderDetails stored procedure.


[ZPD-6678/ZLMC-662] - Web store - When a configurable product was viewed, the child product of the respective product used to get displayed on the Recently Viewed Products widget.

To resolve this issue, changes were made in UpdateRecentViewedProducts method of ProducAgent.cs file.


[ZPD-6715] - Admin - Incorrect notification message used to get displayed when a customer (shopper) was created from the Edit Account module.

To resolve this issue, changes were made in _AddCustomerAsidePanel.cshtml


[ZPD-7165/ZLMC-787] - Web store - The category list page used to display the facets of products that were not available in the category.

To resolve this issue, changes were made in IsSkipCacheQueryStringExists method of ZnodePageCache.cs file


[ZPD-6747/ZLMC-675] - Admin - Publishing store with CMS changes was changing the view template of another store.

To resolve this issue, changes were made in the DeleteAllCMSEntitiesFromMongo method of PreviewHelper.cs file.


[ZPD-6924/ZLMC-711] - Admin - A label “Disable Capture” was confusing and was therefore changed to “Display Capture In OMS”. 

To change the label, changes were made in the Admin resources file.


[ZPD-6986/ZLMC-729] - Web store - The updated Robot tag and Canonical URL were not getting displayed on the desired content pages on the web-store.

To resolve this issue, changes were made in the GetSEOAndLocaleDetail method of ContentPageService.


[ZPD-7004/ZLMC-408] - The product details displayed on the cart page did not use to load in the same sequence.

To resolve this issue, changes were made in BindProductDetailsV2 and BindProductDetails methods of ZnodeShoppingCart.cs file.


[ZPD-7015] - Web store - The same product variants were getting displaying multiple times in the Recently Viewed Products section.

To resolve this issue, changes were made in :

  • PublishProductModel

  • ProductViewModel

  • GetProduct and UpdateRecentViewedProducts methods of ProductAgent file

  • GetPublishProduct and GetDefaultConfiurableProduct methods of PublishProductService file


[ZPD-7040] - Admin - Znode admin application did not use to work properly with the Chrome 76 version.

To resolve this issue, changes were made in the tinymce.js library.


[ZPD-7061] - Admin - Multiple error logs were getting generated from the GetKeywordSearchSuggestion method in the Application logs.

To resolve this issue, changes were made in the GetZnodeSearchRequest method of SearchService.cs file.


[ZPD-7063/ZLMC-745] - Admin - Duplicate categories were getting displayed when the same categories were associated twice with the Catalog.

To resolve this issue, changes were made in GetAssociatedCategories method of CMSWidgetConfigurationService file.


[ZPD-7067/ZLMC-744] - Admin - The updated catalog name did not use to get displayed when the Catalogs list page was refreshed.

To resolve this issue, changes were made in the UpdateCatalogResult method of the Catalog.ts file.


[ZPD-7086] - Web store - Configurable product images were not getting displayed in the Recently Viewed Products section.

To resolve this issue, changes were made in

  • GetPublishProduct and GetProductImagePath methods of PublishProductService.cs file

  • GetImageHttpPathSmall method of ImageHelper.cs file


[ZPD-7087/ZLMC-760] -Admin - Admin users were unable to save the shipping entities when the shipping method was created from the Extension Engine.

To resolve this issue, changes were made in SetShippingOption method of Shippings.ts file



[ZPD-7097/ZLMC-762] - Admin - Site search did not use to work in after upgrading to Znode 9.2.1.7 patch.

To resolve this issue, changes were made in the GetZnodeSearchRequest method of SearchService.cs file.


[ZPD-7098/ZLMC-763] - Admin - A TinyMCE script was broken due to which admin users were not able to change the attribute family of products.

To resolve this issue, changes were made in the tinymce.js library.


[ZPD-7114] - Admin - After associating products to category, error message used to get displayed in case of a large number of products.

To resolve this issue, changes were made in the SaveCategoryInMongo method of the CategoryService file.


[ZPD-6679/ZLMC-668] - Admin & Web store - Previously, the tax used to get calculated on the discounted subtotal amount. This implementation broke due to another implementation and was therefore fixed by making changes in the following files:

  • ZnodeCartPromotionAmountOffOrder.cs

  • ZnodeCartPromotionManager.cs

  • ZnodeCartPromotionPercentOffOrder.cs

  • ZnodeTaxSalesTax.cs

  • ZnodeProductBaseEntity.cs

  • ZnodeShoppingCartItem.cs

  • Web.Config

  • ZnodeCartPromotionType.cs


[ZPD-7166/ZLMC-784] - If the Server name and DB instance name is different then the Import and Publish process used to fail. 

To resolve this issue, changes were made in the following stored procedures:

  • Znode_ImportData

  • Znode_GetPublishProcessStart



[ZPD-7504] - The log messages for MongoDB operations were not proper and were therefore changed through MongoRepository.cs file.


[ZPD-7150/ZLMC-780] - Admin - Swatch Images were not getting generated through Generate Image Scheduler.

To resolve this issue, changes were made in the GetImageList method of the ImageHelper file.


[ZPD-7259/ZLMC-810] - Username was not getting displayed in the Account Activation email notification sent to the customer (shopper).

To resolve this issue, changes were made in the SendAccountActivationEmail method of the UserService file.


[ZPD-7266/ZLMC-771] - Web store - No products were getting displayed on the PLP of the web store when filters were removed on Page 2 of PLP.

To resolve this issue, changes were made in the following:

  • GetFilterResult and RemoveFacet methods of Search.ts

  • GetZnodeSearchRequest method of SearchService file


[ZPD-7290/ZLMC-825] - Web store - Invalid validation message used to get displayed on the Checkout page when an incorrect address was added by the customers.

To resolve this issue, changes were made in the WebStore_Resources  file.


[ZPD-7292/ZLMC-822] - Web store - Apart from the applied promotion name, other promotions with similar names were getting displayed on the Order page.

To resolve this issue, changes were made in the following:

  • GetCouponPromotionMessages method of ZnodeOrderHelper.cs file

  • SetOrderCoupons method of ZnodeShoppingCart.cs file


[ZPD-7316/ZLMC-845] - Admin - Sitemap XML generation process did not display any loading sign or the success notification message.

To resolve this issue, changes were made in List.cshtml file.


[ZPD-7317/ZLMC-844] - Admin - NULL entries for SEO details used to get saved in the DB.

To resolve this issue, changes were made in the following:

  • AddSEODetials method of SEOService.cs file

  • GetPublishProductForSiteMap method of PublishProductService.cs file

  • CreateSEODetails method of SEOSettingAgent.cs file

  • Admin_Resources.Designer.cs file


[ZPD-7343/ZLMC-850] - Admin - Import process used to hang with large data and while the import was in progress, admin users were not able to update the details of products.

To resolve this issue, changes were made in the following stored procedures:

  • Znode_GetImportTemplateLogs

  • Znode_ImportPimProductData


[ZPD-7406] - Web store - Incorrect discounted amount used to get displayed on the Cart page for grouped products and add-ons.

To resolve this issue, changes were made in the GetCartSubTotal method.


[ZPD-7411] - Web store - Elements of profile base catalog were not getting displayed on the web-store due to the previously cached content.

To resolve this issue, a new method ValidatePageCache was added on OnActionExecuting.


[ZPD-7413] - Admin - Admin users were not being able to save updated roles and access rights.

To resolve this issue, changes were made in RoleAgent.cs file.


[ZPD-7437/ZLMC-870] - Web store - When a shipping method is changed, the shipping method or the loader did not use to show up immediately.

To resolve this issue, changes were made in the following:

  • ShippingOptions method of Checkout.ts file

  • _ShippingOptions.cshtml file


[ZPD-7438/ZLMC-869] - Web store - The Subtotal and Total amounts were not getting updated when the product quantity was updated.

To resolve this issue, changes were made in Cart_shoppingCart.cshtml file.


[ZPD-7476] - Web store - Invalid and unwanted search validation messages were getting displayed on the web-store.

To resolve this issue, changes were made in the CategoryContent method of the CategoryController file.


[ZPD-7498/ZLMC-887] - The Orders/GetOrderDetailsForInvoice API endpoint did not use to return all of the desired details for bundled products because of some missing properties.

To resolve this issue, changes were made in the FormalizeOrderLineItems method of the ZnodeOrderHelper.cs file.


[ZPD-6742/ZLMC-673] - Web store - Customer credit card was not getting charged because the order was not getting captured at Authorize.Net’s end and was getting captured at Znode’s end.

To resolve this issue, changes were made in the following:

  • BindOrderData method of OrderService.cs file

  • SubmitOrder and CapturePayment methods of CheckoutAgent.cs file

  • OrderViewModel.cs file


[ZPD-7384] - Web store - When customers used to upload the PO attachment through the Checkout page, internally, this process used to break.

To resolve this issue, a new method  GetAppHeader was added in the CheckoutAgent.cs file and was used (instead of AjaxHeadersModel) in the GetAjaxHeaders action of CheckoutController.


[ZPD-7430] - Web store -When full page caching is on, the navigation, sorting and facets did not work properly.

To resolve this issue, changes were made in the following:

  • IsSkipCacheQueryStringExists method of ZnodePageCache.cs file

  • CategoryContent method of CategoryController.cs file.



[ZPD-7388] - There was a hardcoded value to display the default number of products on the PLP page. 

To resolve this issue, a key was added in the web.config file using which developers will be able to set the value for the default number of products displayed on the web-store.

To implement this issue, changes were made in the following:

  • DefaultPageSizeForPLP key was added in ZnodeWebstoreSettings file

  • GetSearchProperties method of CategoryController file

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.