June 14, 2019
New Features
Add New Customer Feature In Gift Card
Administration
An Add New Customer feature is introduced in Gift Card module which allows admin users to create a new customer (shopper) account and associate it to the respective Gift Card from this module itself.
To implement this functionality,
Changes were made in
GetGiftCard method of GiftCardService Class
GetCustomerName method of GiftCardService class
Following new methods were added
GetCustomerName and AddCustomerSuccessCallback in giftCard.ts file.
Facets Of Variants On Product Listing Page
Shopper Experience
Earlier, the facets of only the parent products (of type configurable or bundle or grouped) used to get displayed on the product listing page of the web store.
With this release, the facets of the child products (of parent type configurable or bundle or grouped) will also get displayed on the product listing page of the web store.
To implement this functionality,
A new class ProductAttributeMapper was added in the project Znode.Libraries.Search
Changes were made in the following methods:
GetAllProducts method of class SearchProductService
SaveInSearchForCatalogCategoryProductsForProduction method of class CatalogService
SaveInSearch method of class PublishHelper
Flag Based Preview For CMS
Administration / Commerce
Admin users will now be able to manage the preview feature independently for CMS module on a flag basis.
This feature will work in conjunction with the global preview feature:
When the global preview is on and CMS based preview is off, the in-line preview feature will be turned off for only the CMS module.
When the global preview is off and CMS based preview is on, the in-line preview feature will be turned off globally.
When both the global preview and CMS based preview are off, the in-line preview feature will be turned off globally.
To implement this feature,
A new flag IsEnableCMSPreview was added in appSettings of Web.config file.
A new method GetPreviewURL was added in ContentController file
Changes were made in
ZnodeAdminSettings file
EditContentPage method
GetTemplateWidgets method
Display Order
Administration & Shopper Experience
A display order feature has been introduced in the following modules:-
Display Settings module
A display order functionality has been added for New Arrivals, Home Specials, and Brands configuration widgets so that the products and brands configured in these widgets get displayed in the sequence of display order set for them, on the web store.
To implement this feature,
Display order columns were added in ZnodeCMSWidgetBrand and ZnodeCMSWidgetProduct DB tables
Changes were made in AssociatedCMSOfferPageProduct and ZnodeCMSWidgetBrand XMLs
Edit Product module
A display order functionality has been added for You May Also Like Products so that the products associated in this section will be displayed in the sequence of display order set for them, on the web store for the respective products.
To implement this feature,
Display order column was added in ZnodePimLinkProductDetail,
Changes were made in View_ManageLinkProductList, Znode_GetPublishProductbulk and Znode_GetPublishProductbulk stored procedures.
Date-Time Filter In Log Viewer
Administration
A large number of application logs are generated and saved in the Application Logs module of Znode application on a regular basis. Therefore a date-time filter has been introduced in the Application Logs module which will allow admin users to filter the logs using custom or predefined date-time range options.
To implement this filter, changes were made in the following files:
LogMessageAgent.cs
AdminEnum.cs, Admin_Resources.resx
ResourcesConstants.cs
ZnodeDateRangePicker.ts
_DateTimeRangePicker.cshtml
Enhancements
Search Optimization
Shopper Experience
The web store search feature has been optimized to a larger extent. This enhancement will provide more relevant search results experience to the customers (shoppers) while browsing through the web store.
To optimize the search functionality,
An autocomplete_search_analyser was added in SetAnalyzers method of ElasticSearchIndexer class
Changes were made in SuggestTermsFromExistingIndex method of ElasticSuggestions class
Important:-
To optimize the search, index related changes are done. Therefore to get the latest changes, existing index deletion will be necessary.
Gift Card Enhancements
Administration & Shopper Experience
With this release, not only the registered customers (shoppers) but also the guest customers (shoppers) will be able to use the Gift Card feature for placing the orders.
Also, any customer (shopper) having a Gift Card number will have the ability to use the Gift Card even when the Gift Card is not associated to their account.
To implement these enhancements, changes were made in
GetUserId method of ZnodeShoppingCart file
SaveReferralCommissionAndGiftCardHistory and AddToGiftCardHistory methods of ZnodeCheckout file
PostSubmitOrderProcess method of IZnodeShoppingCart file
SaveReferralCommissionAndGiftCardHistory method of IZnodeCheckout
AddToGiftCardHistory method of ZnodeOrderFulfillment
UpdateGiftCard, AddToGiftCardHistory methods of ZnodeOrderHelper
Default Products In Catalog
Administration
A new filter Show Active Products has been introduced in the Manage Catalog module.
When this filter is enabled, only active products will get displayed on the Manage Catalog page and when it is unchecked, both active and inactive products will get displayed.
To implement this functionality, changes were made in the following files:-
Catalog.ts
AssociatedCategoryList.cshtml
Admin_Resource.resx
ZnodeConstant.cs
CatalogAssociationViewModel.cs
CatalogController.cs
IcatalogAgent.cs
CatalogAgent.cs
Performance: Recently Viewed Products
Administration
Earlier, recently viewed products were fetched and displayed from the database, due to which the recently viewed products section used to take 5-6 seconds of time to load the recently viewed products on the web store.
With this release, the products viewed by the shoppers will get stored in the session and from there they will be fetched and displayed on the web store.
To implement this enhancement, changes were made in
GetRecentlyViewProducts of Product Controller file
GetRecentProductList, GetProduct, UpdateRecentViewedProducts methods of ProductAgent file
GetRecentProductList of IProductAgent file
UOM property was added in ProductViewModel file
RecentViewModel
ZnodeConstant file
GetActiveProducts method of PublishProductClient file
GetActiveProducts method of IPublishProductClient file
PublishProductEndpoint
RecentViewProductModel
RecentViewProductResponse
WebApiConfig
GetActiveProduct method of ProductController file
Issues Resolved
[ZPD-5602] - Due to shopping cart session, some code site properties were misbehaving.
To resolve this issue, changes were made in the following methods of CartAgent.cs class:-
AddToCartProduct
GetCart
UpdateQuantityOfCartItem
MapAddToCartToShoppingCart
[ZPD-5722] - Web store - Mime Type of media files were not sent in Azure storage, due to which files default content-type used to get added in Azure Portal and therefore images saved in Azure did not get loaded.
To resolve this issue, changes were made in AzureAgent.cs of ZnodeMimeMapping.cs file.
[ZPD-6037] - Admin - The do not track inventory condition was not getting displayed even when this condition was set for the products.
To resolve this issue, changes were made in
GetAssociatedUnAssociatedConfigureProducts of ProductService.cs file
Znode_GetPimProductAttributeInventory stored procedure.
[ZPD-5922] - Admin - When a tax is deleted, the orders associated with the tax also used to get deleted.
To resolve this issue, changes were made in Znode_DeleteTaxClass stored procedure.
[ZPD-2020] - Admin - Incorrect order total was getting displayed when a product was returned. This was because return shipping was not bound when displaying the result on order history.
To resolve this issue,
the following new methods were added:
BindShippingCostOfReturnItem, GetReturnLineItemList methods of OrderAgent.cs
BindOrderAmount method in OrderService.cs
Changes were made in the following methods:
UpdateOrderLineItemDetails and GetReturnLineItem methods of OrderAgent.cs
IsReturnShipping and SaveHistoryAndUpdateOrderState methods of OrderService.cs
ReturnOrderLineItemModel.cs
[ZPD-4549] - Admin - The Save button was not working on Stores & Reps >> Stores >> Manage Store >> Approval Management.
To resolve this issue, changes were made in Store.ts and GetPortalApprovalManagement.cshtml files.
[ZPD-5129] - Admin - When the cache was on then also the price, inventory and promotion changes were not getting replicated immediately.
To resolve this issue, the changes were made in the following
Methods:-
UpdatePromotion
UpdateSKUInventory
UpdateSKUPrice
Files:-
Promotion Service
Inventory Service
Price Services
[ZPD-5476/ZLMC-318] - Admin - Default currency changes were not getting reflected in the logged in user session.
To resolve this issue,
A DefaultGlobalSetting key was removed from the session using session helper
Changes were made in the StoreAgent file
[ZPD-5536/ZLMC-341] - Admin - A cancel button was missing on the Add/Edit Attribute >> Locales page.
To resolve this issue, changes were made in _DefaultValue.cshtml and ProductAttribute.ts files.
[ZPD-5539/ZLMC-343] - Admin - An extra call was written in the code for blank search because of which if the user clicks the search icon without adding any keyword, still the loader used to appear on the Products list page.
To resolve this issue, changes were made in FilterButtonPress method of ProductAttribute.ts file.
[ZPD-5778] - Admin - Payment was not getting captured even when the Credit Card Authorization was off from Amazon Pay payment method.
To resolve this issue, changes were made in SubmitOrder method of Checkout Agent class.
[ZPD-5779/ZLMC-356] - Web store - A success message was getting displayed even when the coupon condition was not met on the Cart page.
To resolve this issue, changes were made in ShowCouponsMessages method of Cart.ts file.
[ZPD-5842] - Admin - The Orders >> Create Order >> Payment page was accepting expired credit card because the date validation was not getting applied correctly.
To resolve this issue,
A new method ValidateCreditCardExpiryDate was added
Changes were made in SetCreditCardValidations method of Admin side Order.ts file
A key ValidationEnterValidDate was added in the Admin resource file.
[ZPD-5864] - Admin - After a Product Key was added for a downloadable product, users were not able to add another key again.
To resolve this issue, changes were made in AddDownloadableProductKeyResult method of Inventory.ts file.
[ZPD-5868/ZLMC-443] - Admin - Indexes were not getting created for preview store when indexes were created manually.
To resolve this issue, a new method InsertCreateIndexDataByRevisionTypes was added.
[ZPD-5871] - Web store - Order Summary title was not getting displayed on the Cart page when the promotion was applied.
To resolve this issue, changes were made in Checkout.ts file.
[ZPD-5895] - Web store - Order total was getting updated when the Cart page was refreshed.
To resolve this issue, a new method RemoveShippingTaxFromCart was added in CartAgent.cs class.
[ZPD-5896] - Web store- Users were not able to set different shipping and billing addresses from the Checkout page.
To resolve this issue, changes were made in UpdateWebStoreAccountAddress method of WebStore Service file.
[ZPD-5910/ZLMC-448] - Web store - Product & Color filters did not work on category pages after page 1.
To resolve this issue, changes were made in GetPreviousAppliedFacetFilters method of Search.ts file.
[ZPD-5914] - Admin- CMS - Validations were not getting displayed when the blank Content block was saved.
To resolve this issue, changes were made in SaveMessageForPortal method of Content.ts.
[ZPD-5916/ZLMC-451] - Admin - While creating an order, products were getting added in the cart without clicking on ‘Add Selected Items To Cart’.
To resolve this issue, changes were made in GetActiveProduct method of Order.ts file.
[ZPD-593/ZLMC-4551] - Web store - Robots.txt view was getting rendered instead of text view.
To resolve this issue, changes were made in WebstoreConstants.cs and HomeController.cs files.
[ZPD-5932] - Admin - AUTOMATIONERPCONNECTOR SCHEDULER’s Start Time and End fields were showing inappropriate options.
To resolve this issue, changes were made in Global.scss file.
[ZPD-5933/ZLMC-456] - Admin - No validation message was getting displayed on PIM >> Product Attributes >> Edit Attribute when the value was saved with Code field empty.
To resolve this, changes were made in media-manager.scss and site.css files.
[ZPD-5934/ZLMC-457] - Admin - The UI of Swatch Text and Swatch Image columns on PIM >> Product Attributes >> Edit Attribute was improper.
To resolve this, changes were made in media-manager.scss file.
[ZPD-5937] - Admin - The updated address was not getting reflected on the Manage Order page.
To resolve this issue, changes were made in UpdateCustomerAddressAndCalculate method of OrderAgent.cs file.
[ZPD-5939/ZLMC-462] - The DELETE statement conflicted with the REFERENCE constraint in the Znode_DeleteOrderById stored procedure and therefore changes were made to resolve this issue.
[ZPD-5940] - Admin - When there were no files in Media Explorer, the application showed an error when the Media Explorer page was opened.
To resolve this issue, changes were made in GetTreeNode method of MediaManagerServices files.
[ZPD-5945] - Admin - Users were not able to leave the Cache Management page when Save was clicked with empty Full Page Cache Duration field.
To resolve this issue, changes were made in CacheManagement.cshtml view.
[ZPD-5949] - Web store - Gift Card was not getting removed from the Checkout page. To resolve this issue, changes were made in _shoppingCart.cshtml and _CartReview.cshtml views of Checkout.ts file.
[ZPD-5950] - Admin - Console errors were getting generated on all the list pages when they were refreshed.
To resolve this issue, changes were made in ZnodeDateRangePicker.ts file.
[ZPD-5955/ZLMC-466] - Admin - The Store Name filter was not working properly in all the Advanced Reports.
To resolve this issue, changes were made in LastIndexOf method.
[ZPD-5956/ZLMC-468] - The length of transactionid was small and was therefore increased in znodeomsorderdetails table for Amazon Pay payment method.
[ZPD-5957/ZLMC-470] - Web store - All the published products were not getting displayed in the SiteMap. T
o resolve this issue, changes were made in GetProductFeedDataFromSQLAndMongo and AddDataToDataSet methods of ZnodeProductFeed.
[ZPD-5958] - Admin - Edit Display Settings icon was not getting displayed in the admin application when a new admin user logs in.
To resolve this issue, entry for EditCMSWidgetCategory, EditCMSAssociateProduct, EditCMSWidgetBrand methods were added in the DB.
[ZPD-5977] - Admin - Invalid currency was getting displayed on Add New Gift Card page.
To resolve this issue, changes were made in GiftCard.ts file and CreateEdit.cshtml view.
[ZPD-5984] - Admin - Invalid status was getting displayed when the category was published from the catalog.
To resolve this issue, changes were made in GetPublishCategoryProduct method of CatalogService.cs
[ZPD-5986] - Admin - Users were not able to save the admin account details from Customers >> Users >> Edit User module when admin was associated to all the stores. To resolve this issue, changes were made in ValidationForUser method of Account.ts file.
[ZPD-5987] - Web store - Cart count was getting displayed even when the user was logged out of the web store.
To resolve this issue, changes were made in GetCartCount method of CartAgent file.
[ZPD-5988] - Admin - Edit Product link was not getting displayed when a new admin user logged in to the application.
To resolve this issue, an entry for EditAssignLinkProducts method was added in the database.
[ZPD-5999] - Web store - Guest users were not being able to place the order valid Credit Card details.
To resolve this issue,
A property AspNetUserId was added in AddressViewModel
An AspNetUserId property was set in ToModel method of UserAddressMap class
An AspnetUserId check was added in UserAgent class
[ZPD-6001] - Admin - The Orders list page was displaying the negative value in Total column for all those orders where a product(s) was returned.
To resolve this issue, changes were made in UpdateOrderShippingCost method of OrderService file.
[ZPD-6002] - Web store - Users were not being able to add a grouped product to cart if one grouped product was already available with the maximum quantity in the cart. To resolve this issue, changes were made in CheckInventory method of ProductAgent.cs file.
[ZPD-6006] - Web store-Shipping and Billing addresses were not getting updated properly on the Checkout page.
To resolve this issue, changes were made in Checkout.ts, CheckoutController.cs, AddressViewModel.cs and _EditAddress.cshtml files.
[ZPD-6012] - Web store - The individual product (configurable product or product with add-ons) page was getting loaded again and again even when a variant or an add-on was not selected.
To resolve this issue, changes were made in BindAddOnProductSKU method of Product.ts file.
[ZPD-6014] - Admin & Web store - Autoplay Hover Pause was not working for banners. To resolve this issue, changes were made in WebStoreWidgetService.cs file and _Slider.cshtml view.
[ZPD-6017] - Web store - On the Checkout page, the data was getting displayed in the billing address section when a user clicked on Add Address and then on the Back button without entering any information.
To resolve this issue, changes were made in _EditAddress.cshtml file.
[ZPD-6025] - Web store - The application was not allowing users to uncheck the ‘Set as default’ field for the billing address. This was because the disabled property of checkbox was not set in the shipping address.
To resolve this issue, the disabled class was set for the checkbox and changes were made in _EditAddress.cshtml
[ZPD-6026] - Web store - Shipping methods were not getting loaded after shipping address was updated.
To resolve this issue, changes were made in UpdateAddress method of CheckoutController.cs file.
[ZPD-6036] - Admin - Transaction ID was not getting displayed after the order was placed using Paypal Express.
To resolve this issue, changes were made in OrderAgent.cs class.
[ZPD-6031] - Admin - The personalized attribute of a parent configurable product was not getting displayed while creating an order.
To resolve this issue, changes were made in the following files:
OrgerAgent.cs
PublishProductService.cs
IPublishProductService.cs
PublishProductController.cs
PublishProductCache.cs
IPublishProductCache.cs
PublishProductEndPoint.cs
PublishProductClient.cs
IPublishProductClient.cs
WebApiConfig.cs
[ZPD-6035] - Web store - After facets were applied on the Category page, if forward navigation was clicked, it used to redirect user to the PDP of the product whose product count was 1.
To resolve this issue, changes were made in
ZnodeConstant.cs file
GetCategoryProducts method of WidgetDataAgent.cs
RedirectToPDP method of ProductListViewModel.cs
[ZPD-6047] - Web store - After selecting Amazon Pay as the payment method, users were able to place an order, but the payment was not getting deducted from the Amazon Pay account.
To resolve this issue, changes were made in ChangeSubmitOrderButtonText method of Checkout.ts file.
[ZPD-6081/ZLMC-490] - Admin - Related Products were not getting displayed on the web store.
To resolve this issue changes were made in Znode_GetPublishSingleProduct stored procedure.