Release Notes / Version 9.8 /October 20, 2023
Highlights
Release Information
Znode v9.8 includes new features and enhancements, important merges from v9.7.6.1. and minor bug fixes.
Disclaimer
- When upgrading the script to Znode v9.8, it is mandatory to clear the data and republish it.
- When the v9.7.7 database is restored and is to be worked with the latest code version 9.8, it is essential to execute the v9.8 upgrade database script
- This step is necessary to ensure the catalog is properly published
New Feature
- B Store Management
- Dynamic Custom Table
Enhancements
- Configurable Product PDP Enhancement
- Behavior of Different Products on the Cart/Checkout Page When Removed from the Webstore
- Impersonation Enhancement
- CloverConnect Integration Certification
- Email Address Validation Enhancements
- Global Multiselect Attributes multiple option selection improvement
- Single/Multi Select Swatch Text Enhancement
- Simple/Multi Select Value Loading Enhancement
- Customer List Enhancement
- Order Fail Rollback Scenario
- Webstore Performance Improvement
- Store Deletion Enhancement
Important Information And Breaking Changes
Dynamic Custom Table
- We can run dynamic custom tables using independent databases as well as using Znode Multifront Database
- Custom Tables can work independently with any database but there is a dependency on some tables for import and export so the below database table and SP need to be deployed in that database where custom tables are created.
- Tables
- ZnodeImportProcessLog
- ZnodeExportProcessLog
- Procedure :
- Znode_ImportCustomTable
- Tables
- Please refer to the Deployment and Setup guide for the Custom Table
- To run the Dynamic custom tables .Net Core 8 previews 5 is required
Behavior of Different Products on the Cart/Checkout Page When Removed from the Webstore (Beta Version)
- In order to use this functionality, the 'IsShoppingCartValidationRequired' flag must be set to 'True' in the ZnodeGlobalSetting table. By default, it is set as false.
- The inactive status of the group and its child product has not been considered in v.9.8 and will be considered in the upcoming release.
- The inactive status of the add-on for all the types of products has not been considered in v9.8 and will be considered in the upcoming version
- The checks are in place while placing the orders and quotes are not considered in this release.
- No admin area has been covered in this release
B Store
- For deploying B Store React application on a hosted environment
- Need to make sure the following settings are properly updated in the .env.production file.
- file location path:"your project folder"\Projects\Znode.Engine.BStores\.env.production
For Example REACT_APP_API_URL="hosted application api domain url"
ex: REACT_APP_API_URL="https://api-xyz.com"
Similarly, other settings available within this file need to be configured accordingly.
After the settings are updated, the React project needs to be built. Then this build package needs to be deployed on a hosted environment.
Make sure the provided Web. config is available in the deployed package.
The IIS redirect rule must be mandatory in the host environment
New features in the 9.8 release having an impact on the Webstore may misbehave on the B Store theme
In order to make the B store React Application work, Visual Studio code installation is required and then Node.js is to be installed
In order to ON the B Store react application, the ValidateAuthHeader key within the API web config file is to be set as ‘False’
Clover Connect Integration
- Clover Connect integration is Certified now
Increase in the "Email" Column Length In Database: "ZnodeUser" Table and in.EDMX file
- Email length has been increased from 50 to 250 in the Database as it is a standard email size
Disabling of the SKU Field
- The SKU field under the Manage Product Screen will be disabled at the time of editing the Product whereas at the time of adding a new product this field will be active and will follow all the existing validations and uniqueness
SMTP Server Password field
- Password field behavior has been retained wherein the admin will be able to see that there is some sort of a password entered against the field (Which was showcased as blank upon entering in the previous version although its value was seen in the DB table)
Google Speech-To-Text
- Google Speech to Text API keys were relocated from JavaScript to the server-side configuration file (web. config). No functional code changes were implemented
Other Breaking Changes
Please refer to this Breaking Changes Document for more information
New Features
[ZPD-24712] - B Stores
Administration and Shopper Experience
- B Store portal provides a solution wherein multiple stores can be set up by inheriting the settings of the parent store with additional capabilities to customize them
- B Store Common Business Cases
Customer Brand Stores - B Stores would be a good consideration for businesses who offer e-commerce solutions creating custom branded stores for their customers. They can create one store with all the core features customers need and then create B Stores from that store. The B Stores will have the features from the store but can have custom front ends and a curated set of products.
White Label Stores - Companies that allow other companies to sell their products under their name, with their marketing to drive traffic and sales, can benefit from B Stores. The business or customer can create the B Store in this business case.
Dealer Stores - Companies that sell through a dealer network where they want to allow the dealers to have an online store where they sell company products to their customers. Here the manufacturer has the option to either create the B Store themselves or allow their dealers to sign up for, and manage their own B Store.
Team Stores - Some manufacturers offer Team Stores, where schools, sports teams, or other organizations provide their members with the manufacturer’s products, often customized with the organization’s logos. Depending on the business size and services offered, B Stores can allow the manufacturer to create the team stores or enable the organizations to create and manage the B Stores for its members.
- More information on the same can be seen here
[ZPD-26271] - Dynamic Custom Tables
Administration
- Admin will have the flexibility to create custom tables through the Znode Admin application.
- A new menu item reading ‘Custom Tables’ is added under the Dev Center Menu. Through this page, the admin will have the option to add a custom table to Znode
- A new table can be added to Znode using:
- Table Key
Table Name
- Table Key
- Upon adding a Table, the Admin will have the option to
- Add/Edit/Delete a Field (Column)
- Add/Edit/Delete a Record against the Field
- Admin will also have the option to Import the data into the Fields added to the table
- Alongside importing the data, there is also a capability wherein the data can be exported in the .csv format
Important Points:
- Related to Import:
Scenario 1: When admin downloads a template when there are 4 fields and currently there are 5 fields. If the admin imports the earlier file, it will import the data only into the fields available in the CSV file (No error generation)
Scenario 2: When the admin deletes a column and now there are just three fields but then the earlier downloaded template had 4 fields, then on import, it will only update the data in the 3 common columns (No error generation)
- Integration of these dynamic custom tables with any new feature from the customer end is to be handled by the customers only and is not handled currently
- While deleting any table, Znode will not check if these are associated with any new feature or not, it will allow the admin to delete the same. All the checks on the same are to be put through the customer end based upon their need
- The import will not allow the records to be updated, the import will only serve as purpose of adding new record information
- Duplication of data in the records is not handled
- When we try to add multiple FIELD CODE with the same name at the time of creating the file in that case the SQL can throw a message
Column names in each table must be unique. Column name 'aa' in table 'TblCustom_TestingTable1212' is specified more than once. - When any new data type needs to be introduced in custom table functionality new implementation is needed.
- Users can not create the ID field as ID is the default field for each custom table.
Enhancements
[ZPD-25315/ZLMC-4784/ZPD-14563/ZLMC-2429/ZPD-24767/ZLMC-4669] - Configurable Product PDP Enhancement
Shopper Experience
- There is a change in the algorithm through which the variants on the PDP of configurable products are operating
- When the page is loaded it will load with all the attributes of the default variants being defined for that configurable product
- On the PDP page, by default, all the flow will work on the basis of the value of the attribute that is being selected
- Once a value of a specific attribute is selected, the system will find all the Available/Unavailable combinations against that specific attribute
- The attribute values of other attributes that are not available against the selected attribute value will be stroked through for all the unavailable combinations and the values of the remaining attributes will be unchanged and will be visible
- Now, it may be the case that for other attributes one of the attribute values that were a part of the default selection is unavailable against the value of the clicked attribute, still, that specific attribute value will be selected, and in such a scenario:
- The ADD TO CART button will be disabled,
- The SKU will change to the Parent SKU
- Product Name will change to that of the Parent Product
- The Description, Pricing, Rating/Reviews section will be hidden
- The Product Details, Specifications, and Review section will also be hidden
- Similar to how in stock message is displayed below the quantity input box, a message reading as ‘ Product Unavailable’ will also be displayed
Important Point:
- This flow will be applicable only when the Display Variants on Grid flag is marked as ‘False’ for the Configurable Product
[ZPD-25892/ZPD-23666/ZLMC-4227/ZPD-24723/ZLMC-4626/ZPD-26598/ZLMC-5012/ZPD-26548/ZLMC-5003] - Behavior of Different Products on the Cart/Checkout Page When Removed from the Webstore (Beta Version)
Shopper Experience
- When a product or its combinations are deleted/unassociated from the category/catalog and the product/catalog is then published, the product or its combinations will be marked as unavailable on the cart page
- Even if the product or product combination is no longer available, there will be no changes to the product count on the cart page, i.e. the product count on the cart page will be intact, and when the shopper clicks the Checkout button, the entire cart will be validated to determine whether the products or product combinations in the cart are available on the webstore;
if not, the shopper is redirected to the Cart page, and the message "The product or product combination is no longer available." is displayed for all products or product combinations that are unavailable on the webstore and are in the shoppers' cart - The following conditions will be checked for all the products in the shopper’s cart, and if any of them have the statuses listed below, the product will be marked as unavailable and the message "The product or product combination is no longer available." will be displayed for that particular product
- Product associated with any published catalog/category validation
- Product Status Validation
- IsObsolete Validation
- Inventory available Validation
- Is the add-on or add-on group associated with the product (the product combination) that is in the Shopper’s Cart still available or not
Important Points:
- The products are added to the Cart as Simple Products with the Parent & Child combinations when a Grouped or Configurable Product is added. As a result, even if the Grouped or Configurable Product is deleted or unassociated from the Catalog, the Shopper's Cart will remain unchanged, and if any of the aforementioned conditions are met for that Simple Product then only the product will be marked as unavailable. In contrast, a bundle product will be marked as unavailable if it is deleted or unassociated from the catalog.
- Once the cart has unavailable products even after refreshing the cart page, the products marked as unavailable will still be displayed as unavailable.
- As there are different checks implemented on the checkout button there will be a low to medium impact on the performance of that page
- Submit a Quote is not considered
- This enhancement has not been implemented at the Admin end
[ZPD-26582] - Impersonation Enhancement
Administration/Commerce
- When the Admin, impersonates a specific user, the Admin is taken to the respective webstore. Now, here, the system will check for whether any other user is already being impersonated on the same store or not
- If another user is being Impersonated for that particular store,
There will be a pop-up Title reading ‘Confirm Impersonation?’
The pop-up will have a text message reading as ‘Currently, another user is being impersonated. Do you wish to replace that session with the new user's session instead?’
There will be an OK button and a Cancel Button
The OK button will override the session with the new user and the session of the previous user that was being impersonated will be deactivated
The cancel button will keep the current session of the previous impersonated user active - If no other user impersonation session is active on that particular store, then the normal impersonation flow will be seen
Important Points:
- The System will have this check in place for all the stores independently i.e.
- If an impersonation session is active on Store A and the admin is trying to impersonate a user that belongs to Store B then the system will first check if there is any active impersonation session on Store B, if not then there will be any Pop-up and the user can be impersonated as expected
- If an impersonation session is active on Store A and the admin is trying to impersonate a user that belongs to Store A then the system will check for any active sessions on Store A which in this is that the system will know that the impersonation session is active on the Store A so in this scenario the pop-up will appear and the solution will work as defined for the pop-up operations on the assigned buttons i.e OK and Cancel
[ZPD-25952] - Search Profile Enhancement
Administration/ Shopper Experience
The Index settings section is now separated from the search profile and will be available as a separate entity. These index settings can be managed independently of the search profile wherein different index settings can be managed for separate catalogs. The admin will also have the capability to manage Global Index Setting as well. This Global Index Setting will be applicable if index settings are not available for a specific catalog/catalogs.
Znode will allow multiple search profiles to get created against a single catalog. Along with it, the search profile will now have triggers and a store section attached to it that will enable the admin to set the triggers for the profiles as well as mark the profile as a default against a store on the basis of which a specific search profile will be selected against a specific catalog
[ZPD-25590/ZLMC-4832/ZPD-27462/ZLMC-5108/ZPD-21093/ZLMC-3578] - Email Address Validation Enhancements
Administrator/Shopper Experience
- A new Regular expression for validation has been put in place for better Email validations across Znode
[ZPD-25687/ZLMC-4865] - Global Multiselect Attributes multiple option selection improvement
Administrator
- The Global Multiselect Attribute will function in a way wherein the admin will be able to select multiple options easily without the use of CTRL + Click, similar to the Product Multiselect attribute
[ZPD-26015/ZLMC-4904] - Single/Multi Select Swatch Text Enhancement
Administrator
- When the admin clicks on the Add New button a new row is generated to input the values
- Within this new row, the Swatch Text Input box will now be blank and this input box is mandatory
- In order to save the value the admin will require to click on the TICK icon (Existing Behavior), at this point the system will validate if there is any Hex Code available in the Box or not, if there is no Hex code available in the Box, then the system will generate an error
- Only upon entering the value within this Swatch Text box, the admin will be able to save the new value
[ZPD-26502/ZLMC-4988] - Simple/Multi Select Value Loading Enhancement
Administrator
- Lazy Loading is implemented on the Simple/Multi Select attribute type under the Locale/Values Tab page in order to accommodate and load multiple values without hampering the performance of the page
[ZPD-26502/ZLMC-4988/ZPD-24739/ZLMC-4635] - Customer List Enhancement
Administrator
- Whenever the Admin user information is edited from the customer list section from the admin application, the Admin role for the user will now remain intact regardless of what changes are being made for that specific admin user
[ZPD-24633] - CloverConnect Integration Certification
Administrator
- Clover connect integration has been performed successfully for the Logged in User and Guest Checkout which has resulted in a certification from CloverConnect’s end
[ZPD-27641/ZLMC-5123/ZPD-27700/ZLMC-5126] - Order Fail Roll back Scenario
Administrator
- A try-catch block has been implemented to preemptively handle any potential issues along with error messages for end users to easily comprehend when an issue arises related to the order failure
- Additionally, log messages have been added for the Admin including the order number allowing admin to identify the order in which the error occurred or if an order is duplicated
[ZPD-26585/ZLMC-5014/ZPD-26586/ZLMC-5015/ZPD-26587/ZLMC-5016] - Webstore Performance Improvement
Shopper Experience
- Performance improvements are done wherein:
- Entity calls were reduced for the SignupforNewsLetter
- Some of the session calls were removed for the GetCartTotal and GetCartCount
- Some of the Extra facet calls were removed
[ZPD-27741/ZLMC-5131] - Store Deletion Enhancement
Administration
- The stores will be allowed to be deleted even if search profile is associated to it which was not the case earlier
- When this operation will be performed, first it will delete the association of the search profile to store and then delete the store
Issues Resolved
[ZPD-15371] - Web Store and Admin - Tax Section was displaying on the order receipt screen even when the Product prices are inclusive of taxes was enabled
[ZPD-19323] - Admin - Validation message framing was incorrect on the categories section under the PIM
[ZPD-19954] - Webstore - Commission information was not visible on the Webstore for the user who did earn a commission through the affiliation link
[ZPD-20756] - Web Store - Cart Page: Personalization was not displaying if the product is Moved To Cart from Saved Items list
[ZPD-23369] - Admin - During a promotion import when the user added a special character in the code column the import was failing
[ZPD-23987] - Admin - While entering credit card details, and month and when the tab key was pressed the system showed a validation error message before entering the year
[ZPD-24695/ZLMC-4614] - Admin - Within the Bulk Update on the products page within the PIM, the ‘Auto publish the updated data was set to YES’, the published data was not seen on the Webstore
[ZPD-24722] - Admin - Unable to publish the Catalog even though no other catalog was in progress to publish nor there was any Import in progress
[ZPD-24725/ZLMC-4628] - Admin - No error messages were shown for required fields during the Bulk Product Update
[ZPD-24926] - Admin - After placing quotes the child product names were not visible
[ZPD-25683/ZPD-26335/ZPD-26421/ZLMC-4975] - Admin and Web Store - While importing a price list if the expiration date column is left blank, then the system takes a default past date which results in showcasing the price not set on the webstore
[ZPD-25802/ZLMC-4884] - Admin - On editing an Email/SMS template upon first entry into the site the SMS content was shown in as a plain text box. However, after changing the locale the input was changed to a WYSIWYG editor. Upon saving, the input was then changed back to a plain text field, but those that were configured with the WYSIWYG editor were formatted with HTML tags.
[ZPD-26019] - A product was added to the cart and the shopper proceeded to the checkout and selected the Payflow payment method. The shopper then opened the cart on the new tab and tried to update the quantity. The shopper then again comes back and places the order. An error message appears that the order could not be processed but eventually, the order was placed
[ZPD-26156/ZLMC-4921] - Admin - A content container was created and the source code for the same was edited. A first line of text was added to the source code of an already created content container, and then another line was added by clicking enter. The Container was then published and it was observed that the space for the new line was replaced with the text ‘nnn’.
[ZPD-26186/ZLMC-4931] - The Voucher Customer Name was getting updated through the Voucher Import
[ZPD-26241] - Admin - Validation for the account name through the Customers >> Accounts section and the imports section were inconsistent
[ZPD-26332] - Admin - The validation was not shown when the product name exceeds 300 characters within the product page in the admin
[ZPD-26435/ZLMC-4979] - Web Store - There was inconsistency observed in the category information available in the admin vs the ones showcased on the webstore
[ZPD-26438/ZLMC-4981] - Admin - Delete access was not given to an Admin user but still the delete button was visible to that admin and as well was able to perform the delete operation
[ZPD-26441] - Admin - The deprecated "Cyber Source" Payment method was visible within the Payment Gateway Settings
[ZPD-26561/ZLMC-5006] - Web Store - Categories in navigation on the webstore did not follow the hierarchy in accordance to as they were set in the catalog tree within the admin application
[ZPD-26596/ZLMC-5033/ZPD-26356/ZLMC-4966] - Commerce - While making payment for an order through Authorize.net, the shopper got stuck on the checkout page, the record for the payment was seen in the Authorize.net side but the order was not created in the Znode
[ZPD-26888/ZLMC-5050] - Web Store - Improper Tier Pricing was getting applied even after changing the quantity for simple products on the webstore
[ZPD-26932/ZLMC-5055] - Web Store - Extra line item was displayed in saved cart when shoppers were adding child products of a configurable product
[ZPD-26995/ZLMC-5067] - Admin - An Addon group was created for a store and was associated to a product. The system was allowing multiple items associated within the add on group to be set as default
[ZPD-27885/ZLMC-5145] - Web Store - When the display order of variants of the configurable products in the category are updated and the catalog is published, for all the products whose display order has been changed, shoppers were unable to change variants on the PDP
[ZPD-28015/ZLMC-5192] - Web Store - Category pages on the Webstore were going blank
[ZPD-28416/ZLMC-5260] - Commerce - The application was breaking when one of the values in ZnodeGlobalSetting was set to true i.e. when info logging is turned on
[ZPD-28672] - Admin - In ProductAttribute → Manage Simple/Multi select attribute → Locale/Values tab, while clicking on the Add New button a new row gets added but it blocks loading the next products until it gets saved or deleted
[ZPD-24747/ZLMC-4641] - Web Store - Once the user logged in to the webstore, closed the browser and then reopens the browser it was redirecting to user/login page
[ZPD-25746/ZLMC-4874/ZPD-20789/ZLMC-3521] - Admin - There was an issue with the Shipping Origin Postal Code settings within the shipping configuration area which resulted in the non-occurrence of a few shipping methods being displayed on the webstore especially related to FedEx and UPS