New Feature
Highlight Data Import
Administration
With this release, admin users will have the ability to import Highlights from the Import module of the Znode admin application.
To implement this new feature,
Changes were made in Znode_ImportValidatePimProductData stored procedure
A new stored procedure Znode_ImportHighlight was added
Important: For importing highlights, it is important to add default values for highlight which needs to be imported.
Enhancements
Performance: Index Creation
Administration / Shopper Experience
Earlier when an admin user used to publish a catalog having a large number of products (more than 1 lakh), the products used to display one by one on the web-store as the indexing used to progress.
With this release, the product listing page will display the last published products until the current publish and indexing process is in progress. As soon as the publish and indexing process is completed, all the published products with the latest publish version will get displayed on the web-store.
To implement this,
Following were added:
UpdateIsPublishedFlag and CheckIndexCreationSucceed methods in CatalogService.cs
IsPublishSuccess property in VersionEntity.cs
Changes were made in the following:
GetVersionId and GetLatestVersionId methods of PreviewHelper.cs class
Publish, CreateMongoVersion, CreateNewMongoVersion, PreviewCatalog, AssociatedPortalCreateIndex, PreviewCatalog and PublishCatalogForPreview methods of CatalogService.cs
GetCatalogVersionId and GetCatalogVersionId methods of BaseService.cs
GetCatalogVersionId of PublishProductHelper.cs
GetVersionIdmethod of SearchProductService.cs
Important: It is important to first publish the complete catalog so that a new property column can be added in Mongo DB.
API Token Expiration
Commerce
An API Token Expiration feature in Task Scheduler is used to access Znode API from Task Scheduler.
With this release, an additional parameter token will be passed in API Token Expiration while creating the task scheduler. This parameter token will be used as one of the headers while calling the Znode API.
To enhance the existing feature,
Following were added:
CheckTokenIsInvalid and GetToken methods in BaseScheduler.cs
Changes were made in the following:
SyncCallApi, SendSchedulerActivityLog, SetSchedulerParameters, GetEXEParameterForPublishCatalog, SetProductFeedParameter methods of ERPTaskSchedulerService.cs
CallSearchIndexer method of SearchService.cs
GenerateImages method of PortalService.cs
InvokeMethod, GetPublishProductCount,GetPublishCategoryData, GetPublishProductData, GetMediaConfiguration and GetDisplaySettings methods of ImageHelper.cs
ERPTaskScheduler.cs
ImageHelper.cs
ProductFeedHelper.cs
PublishCatalogHelper.cs
Indexer.cs
Issues Resolved
[ZPD-5883] - Admin, Web store & Payment Gateway - Due to concurrent orders for a particular product having a limited quantity in stock, the payment used to get deducted for both the orders and one of the orders used to get lost because the order was captured and the quantity is checked post payment.
To avoid this situation, the inventory is allowed to get deducted below 0 quantity, so that the order can be captured in the application.
To resolve this issue,
Following were added:
OrderInventoryManageHelper class
ManageExistingOrderLineItems method in OrderService class
Changes were made in the following:
SubmitOrder method of ZnodeCheckout class
PreSubmitOrderProcess method of ZnodeShoppingCart class
Znode_UpdateInventory stored procedure
[ZPD-6401] - Admin - On the Catalog list page, when a user tries to search any keyword using the global search, an object reference error message used to get displayed. This was because the newly added checkbox was inside in filter Component div.
To resolve this issue, changes were made in CatalogAgent.cs and AssociaatedCategoriesList.cshtml files.
[ZPD-6409/ZLMC-574] - Admin - Users were not being able to add products to order from Create Order module, because while creating an order, if the user adds two or more variant SKUs, then the application used to get the cart quantity of the main product rather than the variant product. This issue occurred only in the admin application.
To resolve this issue, changes were made in OrderAgent.cs file.
[ZPD-6413] - Web store - Changes made in the Shipping and Billing Addresses were not getting saved from the Checkout page.
To resolve this issue,
A new javascript method OnAddressSelectionCancel was added in Checkout.ts file
Changes were made in the following files:
_EditAddress.cshtml
CheckoutAgent.cs
CheckoutController.cs
[ZPD-6425/ZLMC-581] - After a store is copied, the Publish State ID was getting saved as NULL in ZnodeShippingPortalTable.
To resolve this issue, changes were made in Znode_CopyPortal stored procedure.
[ZPD-6453] - Admin, Web store & Payment Gateway - Orders placed using PayPal were not getting saved in Znode but were getting saved at PayPal’s end.
To resolve this issue changes were made in _TotalTable.cshtml file.
[ZPD-6479/ZLMC-600] - Admin - If an order is placed adding some products and one (or more) of the products (available in the order) is disabled, then, if a user tries to publish the disabled product, the application does not publish it and when a user tries to open the Manage Order screen of the respective order, the application shows an error.
To resolve this issue, changes were made in SetParentLineItemDetails of ZnodeShoppingCart class.
[ZPD-6526] - Admin - Multiple SEO details were getting created after a Store was copied multiple times.
To resolve this issue, changes were made in Znode_CopyPortalMessageAndContentPages stored procedure.
[ZPD-6550] - Admin - Coupons for inactive orders were getting displayed in the Coupon Usage General Report.
To resolve this issue, changes were made in ZnodeReport_GetCouponFiltered stored procedure.