August 12, 2019
Performance: Display Image, Pricing, and SEO on Product Listing Page from Index
Administration and Shopper Experience
In Znode, the price of products displayed on the web-store depends on various aspects (like store-based pricelist, profile-based pricelist, account-based pricelist, etc). Therefore the price of products displayed is different when different groups of customers (shoppers) log in to the web store.
Also, the SEO information and image of products displayed on the web-store depends on the settings saved for the respective store.
When web store application fetches the image, price and SEO details taking various aspects into consideration, the loading time of the product listing page increases. Therefore, to increase the performance by reducing the loading time of the product listing page, an optional feature is introduced which allows only the product listing page to display the image, pricing and SEO details of products saved for the selected store.
Admin users can enable this optional feature from the Edit Catalog page.
To implement this enhancement,
Following were added:
ImageSmallPath property in PublishCategoryProductDetailModel class
SalesPrice, RetailPrice, CultureCode, CurrencySuffix, SeoDescription, SeoKeywords, SeoTitle, SeoUrl and ImageSmallPath properties in Product entity
ProductListViewModel property in CategoryViewModel class
SearchResultViewModel property in ProductListViewModel class
ProductListViewModel property in SearchRequestViewModel class
IsAllowIndexing,DefaultStore and PortalId properties in CatalogModel
Changes were made in:
FullTextSearch method of SearchService class
ToDataTable method of ElasticSearchIndexer class
GetCategoryProducts method in WidgetDataAgent class
CategoryContent method in CategoryController Class
Index method in SearchController class
When the index setting is enabled, the pricing of products will be fetched from the default pricelist saved for the selected store. Therefore it is mandatory for the admin user to save the price for the products for the default pricelist saved against the selected store, otherwise, no price will be displayed on the web-store.
This feature does not take User, Account, and Profile-based pricelist into consideration while displaying the price on the web-store. The SEO details of products saved against the selected store will be fetched on the web-store.
Therefore it is mandatory for the admin user to save the SEO details of the products for the selected store.
If multiple pricelists are associated with the default store then pricelist with the highest precedence (i.e. having the lowest number) will be used to save price for products.
Manual Image Generation
Admin users can save standard image sizes for every store.
Earlier, when the web store used to load, if there were images that were not in the defined sizes, the application used to generate images in the desired size. This on-the-fly image generation process was time-consuming and had therefore reduced the performance of the web-store.
To improve the performance, the on-the-fly image generation calls were removed. Now, whenever admin users will change the standard image sizes for a store, they will have to click on the “Generate Image” button in order to generate the images of the desired size.
To remove the run time image generation call, DLLs were updated in TaskScheduler.exe file and changes were made in ImageHelper.cs class of Task Scheduler folder
Important: After updating the image sizes for a store, if images are not manually generated then the web store will display only the image placeholder instead of actual images.
Graphic Files Cleanup
The scaling of graphic files is cleaned throughout the admin application. Admin users will now be able to view cleaner graphics.
To clean the scalings, changes were made in
[ZPD-6264/ZLMC-539] - Admin & Web store - If categories, are associated to category widget and then category structure is changed and catalog is published, then associated categories used to get removed from the widget.
To resolve this issue, changes were made in Znode_GetPublishCategory and Znode_GetPublishSingleCategory stored procedures.
[ZPD-6831/ZLMC-693] - Admin & Web store - If more than one text editor widget was configured for the same page, the configured content for individual widgets showed the same information on all the text widget areas on the web-store.
To resolve this issue, changes were made in the GetContent method of WidgetDataAgent.cs class.
[ZPD-6949/ZLMC-723] - Admin - Application log pages used break due to inconsistent time formats.
To resolve this issue,
changes were made in CalculateDateTimeRange method of LogMessageAgent.cs file.
A new static method GetDateWithTime was added in HelperUtility.cs file.
[ZPD-5929/ZLMC-453] - Admin - Multiple inputs were not getting selected for Mulitselect type fields on the Edit Category page.
To resolve this issue, changes were made in Category.ts file.
[ZPD-6338/ZLMC-550] - Web store - Search filter was not working with special characters.
To resolve this issue, changes were made in
GetFilterData method of WidgetDataAgent.cs file
[ZPD-6437/ZLMC-591] - Web store - Customers (shoppers) were not being able to place orders with $0.00 as the total amount.
To resolve this issue, changes were made in the SubmitOrder method of Checkout.ts file.
[ZPD-6620/ZLMC-644] - Admin - Admin users were not able to update the category information from the Edit Category page.
To resolve this issue, changes were made in Znode_ImportPimCategoryData and Znode_ImportInsertUpdatePimCategory stored procedures.
[ZPD-6697/ZLMC-550] - Web store - Search Filters were not working with special characters.
To resolve this issue, changes were made in
GetFacets method of SearchController.cs
[ZPD-6699/ZLMC-550] - Web store - Search filters were not working from page 2 of product listing pages.
To resolve this issue, changes were made in GetZnodeSearchRequest method of SearchService.cs class
[ZPD-6959/ZLMC-677] - Due to simultaneous concurrent orders, payment application was unable to accept simultaneous payments.
To resolve this issue,
Changes were made in
A new property znode_multifront_paymentEntities was added in znode_multifront_paymentEntities.cs file
[ZPD-6830/ZLMC-695] - Web store - The content of certain pages were not getting displayed even after the page was published.
To resolve this issue, changes were made in GetContent and GetFormConfiguration methods of WidgetDataAgent.cs.
[ZPD-6892/ZLMC-705] - Admin users with certain access levels were not able to edit the add-ons of products.
To resolve this issue, data changes were made in UpdateAddonDisplayOrder action.
[ZPD-6963/ZLMC-727] - Guest user’s cart item(s) used to get merged in the registered user’s cart when the guest user used to login to the web store using the same browser and device.
To resolve this issue, changes were made in Znode_MergeOmsSavedCartLineItems stored procedure.