Release Notes 9.2.1.10

From Znode Knowledge Base
Jump to: navigation, search

Enhancements

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. To implement this enhancement, changes were made in the following files:

  • _Payflow.cshtml
  • Payflowcustomerprovider

solid black circle

Performance: Checkout Process

Shopper Experience

The code related to the Checkout process of the web-store has been optimized to a higher extent. This has increased the performance of the checkout process and the Checkout page.

To implement this enhancement, changes have been made in the following:

  • SetLoginUserProfile method of UserAgent.cs file
  • GetPortalApprovalDetails method of PortalService file
  • GetPortalApproverDetailsById call from CalculateShipping method of CartAgent file
  • ImageHelper file
  • SetTrackingUrl, GetPaymentDetails, GenerateOrderNumber and UpdateChangedAddressWithCart methods of CheckoutAgent file
  • GetSaveCreditCardCount method
  • GetOrderDetails method of OrderService file
  • GetPortal method in ZnodeShippingHelper file
  • SetOrderDiscount method
  • CustomerShipping method
  • Updated SetOrderData method

Performance: Log4Net 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.

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

  • Znode.Engine.Admin - log4net.config
  • Znode.Engine.Api - log4net.config
  • Znode.Engine.webstore - log4net.config

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.

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

  • Znode_ManageProductList_XML
  • Znode_GetOrderByPagingProduct
  • Znode_GetPimProductAttributeInventory
  • Znode_GetProductsAttributeValue_newTesting


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.

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


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.

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

Issues Resolved

[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-7303/ZLMC-838] - There was no Import Validation Logic to handle improper characters in Price List CSV and was therefore added by making changes in the Znode_ImportPriceList stored procedure.


[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:

  • ddSEODetials 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


[ZPD-7387] - Web store - Sort By Price sorting option used to sort only the products available on the same page of the PLP page. This issue has been resolved for a scenario when Index based settings are turned on at Catalog level. To resolve this issue, changes were made in the following:

  • SaveProductInMongo method of PublishHelper.cs file
  • FullTextSearch, GetZnodeSearchRequest and GetSearchResponse methods of GetSearchResponseSearchService file
  • ElasticSearchRequest.cs file
  • IZnodeSearchRequest file
  • GetAllProducts and SetElasticProduct methods of SearchProductService.cs file

Important - This issue still exists for scenarios when Index based setting is off at the Catalog level.