TOT-4124 - Shopping List Product Quick Add Form content managed web page area
On a content managed web page there is now the ability to allow users to find and add a product to the shopping list, similar to the Basket Product Quick Add Form area. The area is called "Shopping List Product Quick Add Form" and allows users to use a auto-complete search to find a product, matching on a selected product field. Once a product has been selected then its details are able to show, allowing a quantity to be set for the shopping list, then have the ability to add the product to basket. The area supports allowing products to be automatically added to shopping list if a single product is found within the autocomplete and the checkbox option is selected to allow product to be automatically added, such as if using a barcode scanner. Within the Administration Centre, from the Websites menu, under the Websites interface, when editing a content managed webpage, with the Web Page Editor, the area's settings window can have the following settings configured:
Initial Product Search Field: Set the product field that initially selected in the area to match products on with the search value set.Initially Select Add Product To Basket Checkbox: Controls if the checkbox should be initially selected, that controls if the first found product should be automatically added to basket.Select Product Pack Unit: Controls if a product can be purchased in packs, then the pack quantity of a product is added to basket, instead of the individual quantity.Default Product Quantity: Sets the default quantity that is set in the quantity textbox. This avoids the need for the user to type the quantity.
Within the Shopping List Product Quick Add Form area, its "Shopping List Product Quick Add Form" format can have the following hooks embedded within it:
quick_add_product_search_field: Input field for entering product code.
quick_add_product_quantity_field: Input field for entering product quantity.
quick_add_product_add_onclick: javascript function that adds the product to the user shopping list.
quick_add_search_field_select: Drop down element that allows a user to select from an allowed product field that they can find products on.
quick_add_product_found_div_id: ID to set for the element that displays when a product has been selected.
quick_add_product_found_div_class: Name of the CSS class that controls the element that displays when a product has been selected.
quick_add_product_allow_add_to_shopping_list_div_id: ID to set for the element that displays when a product has been selected that can be added to shopping list.
quick_add_product_allow_add_to_shopping_list_div_class: Name of the CSS class that controls the element that displays when a product has been selected and can be added to a shopping list.
quick_add_product_item_id_input: Hidden input that contains the product code of the product that has been selected.
quick_add_product_item_id_input_id: ID of the textbox input that contains the product code of the product that has been selected.
quick_add_product_is_combination_input: Hidden input that specifies if the selected product is a parent combination product or not.
quick_add_product_is_combination_input_id: ID of the hidden input that specifies if the selected product is a parent combination product or not.
quick_add_product_not_found_element_class: Name of the CSS class that controls the element that displays when no product could be found when the user performed a search.
quick_add_product_not_found_element_id: ID to set for the element that displays when no product could be found when the user performed a search.
quick_add_product_stock_quantity_div_id: ID to set for the element that displays the available stock quantity section of the selected product.
quick_add_product_stock_quantity_div_class: Name of the CSS class that controls the element that displays the available stock quantity of the selected product.
quick_add_product_stock_quantity_element_id: ID to set for the element that displays the available stock quantity of the selected product.
quick_add_product_stock_level_div_id: ID to set for the element that displays the available stock quantity level section of the selected product.
quick_add_product_stock_level_div_class: Name of the CSS class that controls the element that displays the available stock level of the selected product.
quick_add_product_stock_level_image_id: ID to set for the image element that displays the available stock level image of the selected product.
quick_add_product_stock_location_quantity_div_id: ID to place into the div that controls the element that displays the available stock quantity of the selected product for the users primary location.
quick_add_product_stock_location_quantity_div_class: Name of the CSS class that controls the element that displays the available stock quantity of the selected product for the users primary location.
quick_add_product_stock_location_quantity_element_id: ID to set for the element that displays the available stock quantity of the selected product for the users primary location.
quick_add_product_stock_location_level_div_id: ID to set for the element that displays the available stock quantity level section of the selected product for the users primary location.
quick_add_product_stock_location_level_div_class: Name of the CSS class that controls the element that displays the available stock level of the selected product for the users primary location.
quick_add_product_stock_location_level_status_element_id: ID to set for the child element of div with ID quick_add_product_stock_location_level_div_id for the users primary location.
quick_add_product_stock_location_level_status_class: Class to set for the child element of div with ID quick_add_product_stock_location_level_div_id for the users primary location.
quick_add_product_stock_level_status_element_id: ID to set for the child element of div with ID quick_add_product_stock_location_level_div_id.
quick_add_product_stock_level_status_class: Class to set for the child element of div with ID quick_add_product_stock_location_level_div_id.
Functionality Affected: Shopping List Product Quick Add Form content managed page area Impact: Normal
Improvements
TOT-4017 - Send emarketing emails to users for favourite products that become back in stock
For users logged into content managed websites, there is now the ability for them to elect to receive email notifications, and be informed when products are back in stock that are within their favourites list. This may lead to increased sales since users can then receive the email notification and proceed back to the content managed website to purchase the products that are available again. Within the Administration Centre, under the Inventory menu, within the Product Editor interface, an additional product field has been added labelled "Stock Available Since Date". The field stores the date that the product become back in stock again, based on a product's stock quantity being set greater than the Stock None level. The date field can be set if a product is a local product, otherwise it will be disabled. Within the Data menu, within the Data Imports interface, under the Connector Imports tab, when a Products Connector data import is run, it will set the Stock Available Since Date, based on checking if the product's previous stock quantity is less than or equal to a product's Stock None level, and its new stock quantity is greater than the Stock None level. When this occurs the Stock Available Since Date will be set to the current date time. If a product's stock quantity was greater than the Stock None level but is now less than the Stock None level, then the Stock Available Since Date will be cleared. Alternatively the Stock Available Since Date field can be explicitly set with the product data received from the Connector software itself. Within the Text File Imports tab, the Products text file import can also have the Stock Available Since Date within the CSV file data. The field needs to have a date set in either the date formats dd/mm/yy or dd/mm/yyyy, or else be set empty for the Stock Available Since Date field to be cleared for a product. Within the inventory menu, under the Product Search interface, once a product is found, if the Export button is pressed then within the Export Products dialog there is now the ability to select the Stock Available Since Date product field, and include the date field. Within the Administration Centre, under the Marketing menu, within the Marketing Settings interface, a setting has been added that's labelled "Product Back In Stock Notification Subscription Category". This can be set to one of the User Subscription Categories, that controls the subscription category that users can subscribe to if they wish to receive emarketing emails containing product-back-in-stock information. Within the Users menu, in the Search Users administration centre interface, in the Advance Search, when the Search Category is set to Marketing, a new search rule has been added labelled "Select active users assigned to subscription category name equal to %value1% with favourite products back in stock in last %value2% hours". This rule can find users who are active, are assigned to a subscription category with the specified name, and contain products in their favourites list that have the Stock Available Since Date product field with a date that exists within a specified number of hours from the current date. In the Marketing menu, within the Emedia Messaging interface, for an Emedia Email, within the Set Users dialog a User Group can be set up that uses this new user search rule to assign users to receive emarketing emails. This in effect allows users to receive emedia emails when they have favourite products that are back in stock within certain number of hours, and the users are assigned to the user subscription category that indicates that they wish to receive these kind of back-in-stock email notifications. Within the Emedia Messaging interface for the Emedia item, within the Configure Email Message dialog, when the Send Email As setting is set to Rich Text or Both, then upon clicking on the Modify Web Page button, in the Web Page Editor, adding a new area to the page, in the New Webpage Area dialog, there's now the ability to select Search area type, then the new area type "Email Product Search Listing". This area can display a list of products only in Email based content managed web pages that are embedded within Emedia Emails. The area can have the following settings configured:
Display In Area: If set to Favourite Product Stock Available Again, then the area will display a list of products that is with the user's favourites list that they have permission to view based on their assigned inventory role, and has a Stock Available Since Date that is later than the current date minus the hours set in the Stock Available Since Hours setting.
Stock Available Since Hours: set the amount of hours that products containing a Stock Available Since Date must be within from the current date.
Product Records Displayed: Controls the maximum number of product records that can display within the area. The maximum is 50 records, to ensure that the emails that the area embedded into can be generated fast.
Sort Products By: Controls how the product records listed in the area are sorted by.
Sort Products Direction: Controls the direction that product records listed in the area sorted by.
Product Detail Webpage: Controls the content managed web page that is set within the URL for each product record listed in the area, that takes a user to view the details of the product.
The Email Product Search Listing content managed web page area can have the following formats set:
Email Product Search Listing Wrapper Displays the overall area contents, including any content wrapping around the list of product records.
Email Product Search Listing Record Displays the details of each product record embedded within the Emedia product Search Listing area.
On a content managed web page area containing a "User Details/Favourites/Orders" area, the area can now have a drop down element embedded within it that controls if the user is assigned to User Subscription Category, based on the category set with the "Product Back In Stock Notification Subscription Category" marketing setting. This can be used by the user to in effect elect to receive or not receive back-in-stock email notifications. Within the area's "User Detail Form" area format, the format hook "user_receive_product_back_in_stock_notify_select" contains the select element, can be set to either Yes or No, and is saved when a user clicks on an element containing the "userUpdate_onclick" hook. Using all these combined elements. to send out product back-in-stock notifications using the Emedia Messaging feature the following needs to have been set up:
A User Subscription Category is created that indicates that it's to be subscribed by users to receive back-in-stock notifications
Active users area assigned to the nominated User Subscription Category to receive back-in-stock email notifications and have "Receive Marketing" setting selected.
The user subscription category is assigned to an Emedia Email that has a User Group containing a User Search Rule to find users who have products in their favourites list, and those products have a "Stock Available Since Date" within the last number of hours
The Emedia Email content contains a Email Product Search Listing area in its Rich Text web page that has the Display Products In Area setting set to "Favourite Product Stock Available Again", with the "Stock Available Since Hours" setting matching the User Group Rule hours
One or more products have the "Stock Available Since Date" with a date set within the number hours from the current date.
Once all these elements have been configured then the Emedia Email can be sent out either manually through the Emedia Messaging administration centre interface, or automatically using the Connector's TOTECS Emedia Email Sendout process. Each email sent out will contain a tailored list of products for each user assigned to the Emedia, for products now back-in-stock based on the time frame outlined. Registered users can choose to receive future back-in-stock email notifications based on the products they add to their favourites list, as well as by subscribing or unsubscribing to the user subscription category that represents these types of notifications, either from within the Email they receive themselves, as well as through the User Details/Favourites/Orders and Emedia Subscription Form content managed web page areas. Administrator users can also assign/unassign users to receive back-in-stock notifications from within the User Detail administration centre interface, or via the Users text-file data import.
Functionality Affected: Products Connector data import, Product Text File data imports, Product Editor admin centre interface, Product Search admin centre interface, Email Product Search Listing content managed web page area, Emedia Email sendout process, User Details/Favourites/Orders content managed web page area Impact: Normal
TOT-4052 - Set Domain Keys Identified Mail (DKIM) credentials for all emails sent out
For all emails sent across a project, there is now the ability to include Domain Keys Identified Mail (DKIM) signature key and domain, that identifies the email as being sent from an allowed outgoing email server. This helps the email servers receiving emails to verify that the emails are coming from an allowed sender, and reduces the chances of the emails being bounced or flagged as spam. For DKIM to work, DKIM private and public cryptographic keys must first be created. This can be done in several ways. One way is to use the OpenSSL console application (that by default is installed in most Linux operating systems) to generate the DKIM keys. To do so open up a console application and enter the following commands:run the following commands:
The private.pem file contains the DKIM Private Key that needs to be placed into the settings within the administration centre as defined below, The public.key file contains the public key that needs to be set up within a DNS text record, where the DNS record is created under the same web domain as the email address being used to send emails from. A DNS sub domain record needs to be set up that contains the DNS txt record, typically this would be default._domainkey.mydomain.com, but it could be eg12345._domainkey.mydomain.com. The "default" or "eg12345" is known as the selector. In the settings below the selector needs to be separated by the @ character, then the domain eg. default@mydomain.com, or eg12345@mydomain.com. The DKIM DNS txt record would have its value set as an example contain the public key like so:
When an email is sent out the DKIM private key and domain is used to sign the email, then the receiving mail server performs a DNS lookup to obtain the public key, and uses it to verify that the signed email is correct. Thus validating that the email came from an allowed sender. Within the Administration Centre, under the Stores menu, within the General settings interface, a new section labelled "Email Sending" has been added that contains the following settings that are used to set DKIM settings for all non-marketing emails:
Sender Email Address: Set the email address that indicates that the sender of all non-marketing email. If this is left empty then the sender will default to the From emaill address.
DKIM Domain: Set the DKIM domain and selector that is used to by incoming email servers to validate that the email came from an allow sender. This must also be configured in the DNS text record under the website domain that is used to send the emails from. Set this setting to reduce the changes of emails being blocked. set selector such as default@mydomain.com, that would correspond to default._domainkey.mydomain.com DNS text record with DKIM public key.
DKIM Private Key (PKCS8 Text Format): Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out, that is validated by incoming email servers to validate that the email came from an allow sender. Ensure this private key was paired with the public key stored in the DNS DKIM text record. Ensure the private key starts with -----BEGIN PRIVATE KEY----- and ends with -----END PRIVATE KEY-----
From the Marketing menu, within the Emedia Messaging interface, upon clicking on the Set Message button for an Emedia Email, in the Configure Email Message the following settings have been added that allow DKIM credentials to be set against the emails being sent out for the specific Emedia. These are optional and if not set then the DKIM TOTECS email credentials will instead be used (the default previous behaviour):
Sender Email Address: Set the email address that indicates that the sender of the emedia emails. This may be used by incoming mail servers to verify the sender with. If left empty then the From Email Address will be used instead.
DKIM Domain: Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out.
DKIM Private Key: Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out, that is validated by incoming email servers to validate that the email came from an allow sender. Ensure this private key was paired with the public key stored in the DNS DKIM text record. Ensure the private key starts with -----BEGIN PRIVATE KEY----- and ends with -----END PRIVATE KEY-----
From the Websites menu, within the Websites interface, upon clicking on a website domain, in the Website Details page the following settings have been added that allow DKIM credentials to be set against the emails being sent out for the specific content managed website These are optional and if not set then the DKIM project settings will be used instead, or else ignored:
Sender Email Address: Set the email address that indicates that the sender of the website emails. This may be used by incoming mail servers to verify the sender with. If left empty then the From Email Address will be used instead.
DKIM Domain: Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out.
DKIM Private Key: Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out, that is validated by incoming email servers to validate that the email came from an allow sender. Ensure this private key was paired with the public key stored in the DNS DKIM text record. Ensure the private key starts with -----BEGIN PRIVATE KEY----- and ends with -----END PRIVATE KEY-----
Functionality Affected: Email sendout, Stores Settings admin centre interface, Websites Settings admin centre interface, Emarketing Messaging admin centre interface Impact: Normal
TOT-4114 - Filter records by current month or previous month within all customer account listing content managed web page areas
On a content managed web page area that displays either a Customer Account Invoice Listing, Customer Account Sales Order Listing, Customer Account Back Order Listing, Customer Account Credit Listing,Customer Account Payment Listing, Customer Account Quote Listing, Customer Account Transaction Listing area, for the dange range drop down there are now 2 additional options to filter records based on the current month or the previous month. Within each of the content managed webpage area editors there is the ability to set this date range options "Current Month", "Previous Month" as the default for the area. Additionally within the Administration Centre, from the Users menu, in the Customer Accounts interface, upon clicking on the Live Enquiry button, within the Account Enquiry interface, for each tab, within the date drop down filters there are now the 2 options "Current Month" and "Previous Month" to filter the records by.
Functionality Affected: Customer Account Invoice Listing, Customer Account Sales Order Listing, Customer Account Back Order Listing, Customer Account Credit Listing,Customer Account Payment Listing, Customer Account Quote Listing, Customer Account Transaction Listing content managed webpage areas Impact: Minor
TOT-4115 - Show total invoice amount for the retrieved invoice records within Customer Account Invoice Listing content managed web page area
On a content managed web page area that displays a Customer Account Invoice Listing area, the area's "Customer Account Invoice Listing" format now contains a format hook labelled "invoices_total_inc_tax" that can show the aggregate total pricing of all retrieved invoice records, inclusive of tax within the area's Customer Account Invoice Listing format. The aggregated pricing hook rounds the pricing to specified number of decimal places controlled by the "Account Enquiry Record Price Decimal Places" setting within the Administration Centre's Stores settings interface, under the Accounting tab. Note that this functionality is limited to aggregating pricing data to only the invoices that have been retrieved from the external business system.
Functionality Affected: Customer Account Invoice Listing content managed webpage area Impact: Minor
TOT-4126 - Reset map zoom level after Distance Limit drop down has changed in Location Finder content managed web page area
On a content managed web page containing a Location Finder content managed web page area, if the area's Location Finder format contains the $search_distance_limit$ hook embedded within it, then when the hook's Distance Limit drop down has a value selected, then the zoom level of the map will change to fit the locations found within the selected distance. Note that that Google's map API contains a limit on how many locations it can calculate distance from an address location given. As such only the nearest 24 locations will display on the map once an address or location has been specified within the Location Finder search form. This means that the user may set a larger distance that could have more than 24 locations available to show in the map, however only the first 24 locations will show. It may be best to display a message to indicate this existing limitation.
Functionality Affected: Location Finder content managed webpage area Impact: Normal
TOT-4136 - Display customer account own addresses in Addresses drop down in User Details/Favourites/Orders content managed web page area
On a content managed web page area that displays a User Details/Favourites/Orders area, if the area is displaying the User Details form, in the Addresses drop down it now shows active addresses that belong to the customer account that have not been created by any user (such as if the addresses were imported against a customer account). This will also allow sales rep users to see the customer account own addresses, useful when managing customer accounts. For these customer account "own" addresses the user is not be able to modify, or delete these addresses. Within the area's "User Detail Form" format, elements that allow to update or delete the selected address can be hidden or shown by utilising the following format hooks:
address_update_class: CSS class name used to control if a Update Address button element should hide or show, allowing the user to save changes to the selected address. Contains either value update_address_Y or update_address_N
address_update_element_id: Set within the ID of an element to control if a Update Address button element should hide or show, allowing the user to save changes to the selected address by controlling the element class.
address_delete_class: CSS class name used to control if a Delete Address button element should hide or show, allowing the user to delete the selected address. Contains either value delete_address_Y or delete_address_N
address_delete_element_id: Set within the ID of an element to control if a Delete Address address update button element should hide or show, allowing the user to delete the selected address by controlling the element class.
Use these hooks to wrap around Update or Delete Address buttons to control if the buttons should display or hide, based on whether the user is able to modify their own address, or not modify an address that is set against their assigned customer account instead.
Functionality Affected: User Details/Favourites/Orders content managed webpage area Impact: Normal
TOT-4138 - Automatically select product if only 1 product is found within the Product Quick Add Form content managed web page area
On a content managed web page that contains a Product Quick Add Form area, if the user types a search value into the autocomplete text box, if only one product is found in the autocomplete then the product will be automatically selected and loaded into the form, and focus onto the quantity box (or add the product to basket if the checkbox is selected to allow this). This avoids the user needing to press the enter key or select the product in the autocomplete, allowing products to be added to basket faster.
Functionality Affected: Product Quick Add Form content managed webpage area Impact: Normal
TOT-4141 - Product Deals and Vouchers deal offer to discount products when a given quantity of combined products belong to the same parent combination product
Within the Product Deals and Vouchers feature, 2 new product deal offer types have been added that allows a user to get a given percentage off, or set price off the un-discounted price of products within their basket, when the products belong to a same parent combination product, and the quantity of those products combined exceeds a specified quantity threshold. This in effect allows users to get deals on products, when they purchase products in volume within each product combination. Within the Administration Centre, under the Marketing section, within the Product Deals and Vouchers interface 2 new product deal offer types have been added to the Offer drop down, and within the Set Deal Detail dialog, these offers are:
Buy Over X Quantity Of Products Belonging To The Same Parent Combination Product, Get Product For Y Percent Off Price
Buy Over X Quantity Of Products Belonging To The Same Parent Combination Product, Get Product For Price Y
When these deal offers of are redeemed by applicable users, deal checks will be made to see if any products in the basket are assigned to a same parent combination product, if so then calculate the quantity of those products in the basket linked together, and if the aggregated quantity exceeds the quantity specified in the deal offer, then apply either a percentage off the product's price, or else set the fixed product price set in the deal if cheaper. If a product in the basket is assigned to multiple parent combination products, then the first parent product found will be compared against. Note that this kind of deal offer may slow down Add To Basket and Login processes when many child products are added to basket, and the additional deal offer checks need to be made for each product in the basket.
Functionality Affected: Product Deals and Vouchers Administration Centre interface, Product Add To Basket process, User Login process, Order Checkout process Impact: Normal
TOT-4147 - Profile and view server loading times of a content managed web page
For a content managed web page being requested, there is now the ability to profile and view the server loading times for the different aspects of the web page, before the server returns the final web page back to the web browser for rendering. This allows website implementors and administrators to gain greater insight as to why a web page takes time to load, as well as understand which components of the web page may be causing longer load times. Within the Administration Centre, from the Websites menu, within the Websites interface, upon right clicking on a webpage and clicking the Properties context menu item, within the Edit Webpage Properties dialog. a setting has been added labelled Enable Webpage Profiler. If set to Yes, then when a content managed webpage is loaded, the Webpage Profiler will popup containing the time taken for the server to load the overall webpage, as well as as how long it took for each web page area to load, overall time for each web page container, and time it takes to create a new guest session if a session doesn't already exist for the user. Using these numbers allows website administrators to determine which areas may be taking longer time to load, and look at how those areas are configured, and whether area caching should be turned on to reduce web page load times. It's highly recommended to leave the "Enable Webpage Profiler" webpage setting to No, unless profiling is actively being used, otherwise website users may also see web page profiling and not understand why the profiler is appearing.
Functionality Affected: content managed web pages Impact: Normal
TOT-4149 - Product Deals and Vouchers deal offer to discount products by price or percentage when total quantity of products in basket belong to the same deal
Within the Product Deals and Vouchers feature, 2 new product deal offer types have been added that allows a user to get a given percentage off, or set price off the un-discounted price of products within their basket, when the combined quantity of products in the basket are assigned to the same deal and the aggregated quantity exceeds a specified quantity threshold. This in effect allows users to get deals on products, when they purchase a volume of any applicable products that have a combined quantity over a certain threshold. These applicable products could come from certain product categories, classes, attributes, or overall global inventory, all controlled by utilised using existing product search rules. Within the Administration Centre, under the Marketing section, within the Product Deals and Vouchers interface 2 new product deal offer types have been added to the Offer drop down, and within the Set Deal Detail dialog, these offers are:
Buy Over X Total Quantity Of Products In Deal, Get Product For Y Percent Off Price
Buy Over X Total Quantity Of Products In Deal, Get Product For Price Y
When these deal offers of are redeemed by applicable users, deal checks will be made to see if any products in the basket are assigned to a same deal, if so then calculate the quantity of those products in the basket linked together, and if the aggregated quantity exceeds the quantity specified in the deal offer, then apply either a percentage off the product's price, or else set the fixed product price set in the deal if cheaper.
Functionality Affected: Product Deals and Vouchers Administration Centre interface, Product Add To Basket process, User Login process, Order Checkout process Impact: Normal
TOT-4150 - Product search rules to find products assigned to product combinations within the Product Search and Product Deals and Vouchers Admin Centre interfaces
Within the Administration Centre, under the Inventory menu, within the Product Search interface, a new advanced search category has been added called "Product Combinations". This search category contains 3 new search rules, which are:
Select all products assigned to parent combination products with parent %value1% %value2% %equaling% %value3%
Finds all products that are assigned parent combination products that match the selected product field and value given.
Select all products assigned to parent combination products and combination profile name %value1% %equaling% %value2%
Finds all products that are assigned parent combination products that are assigned to the combination profile with the given name
Select all products assigned to parent combination products with parent assigned to category %value1% %value2% %equaling% %value3%
Finds all products that are assigned parent combination products, and the parent combination product is assigned to categories that match the selected category field and value given.
These product search rules can also be used within the Product Deals and Vouchers interface when assigning products to a deal.
Functionality Affected: Product Search administration centre interface, Product Deals and Vouchers administration centre interface Impact: Normal
TOT-4151 - Canonical link tag webpage template hook for content managed webpages loading product detail URL with referencing category
On a content managed web page being loaded for a product, and the URL contains a query string that contains a referencing category that the request originated from, there is now the ability to embed into the head of the web page template a link tag, that contains a canonical URL without the any of the URL query string parameters. This help aids search engines to not separately rank product detail based pages that display the same product, when the URLs of the product contain differing query string parameters. This may help increase search rank for product detail pages. Within the Administration Centre, under the Websites menu, within the Websites interface, upon clicking on a web page html template, and within the Webpage Template Properties dialog clicking on the Edit link, in the Edit Webpage Template Content dialog, the following hook can be embedded within the head of the web page template. webpage_canonical_meta_link The hook will output a canonical link tag containing the webpage URL if the webpage's URL matches a product, and the URL contains the parameter "ref_cat_id". If these conditions are not met then the template hook will be blank.
Functionality Affected: Content managed web page load Impact: Normal
Bug Fixes
TOT-4123 - Customer Account Connector data import fails to complete when a new duplicate customer account record is imported
After an administrator user logged into the Administration Centre, clicked on the Data menu, then clicked on the Data Imports menu item. Within the Data Imports interface, under the Connector tab, if the Customer Accounts data import was selected and run, and the customer account record imported contains duplicate records that each have payment types assigned to each record, then the data import may have failed in the post import process and return the error: " a foreign key constraint fails (`kwtdb`.`account_payment_type`, CONSTRAINT `FK_account_payment_type_2` FOREIGN KEY (`Account_id`) REFERENCES `account_base` (`Account_id`) ON DELETE CASCADE ON UPDATE CASCADE)". Now if the Customer Accounts data import is selected an run, and the customer account record imported contains duplicate records that each have payment types assigned to each record, then the data import is now able to correctly handle the duplicate records and allow the data import to complete. This issue is caused when dupicate customer account records exist that each have the same payment types assigned to the duplicate records. The data import correctly checks if a payment type has been assigned to the customer account record imported, and avoids trying to assign the payment type again.
Functionality Affected: Customer Accounts Connector data import Impact: Major
TOT-4146 - Customer Account details not correctly displaying within User Detail content managed web page area when sent out within a Emedia Email
On a content managed web page that is linked to Emedia Email. If the web page had a User Detail area embedded within it, the customer account code and any other customer account details were embedded within the area's format, then when the Emedia Email is sent out, the customer account shown incorrectly displayed as the customer account that was assigned to the administrator user who sent out the Emedia. Now when the Emedia Email is sent out, the customer account shown now correctly displays as the customer account assigned to the user who is receiving the email.
Functionality Affected: Emedia Email Sendout process Impact: Normal
14th January 2022
New Features
TOT-4124 - Shopping List Product Quick Add Form content managed web page area
On a content managed web page there is now the ability to allow users to find and add a product to the shopping list, similar to the Basket Product Quick Add Form area. The area is called "Shopping List Product Quick Add Form" and allows users to use a auto-complete search to find a product, matching on a selected product field. Once a product has been selected then its details are able to show, allowing a quantity to be set for the shopping list, then have the ability to add the product to basket. The area supports allowing products to be automatically added to shopping list if a single product is found within the autocomplete and the checkbox option is selected to allow product to be automatically added, such as if using a barcode scanner.
Within the Administration Centre, from the Websites menu, under the Websites interface, when editing a content managed webpage, with the Web Page Editor, the area's settings window can have the following settings configured:
- Initial Product Search Field: Set the product field that initially selected in the area to match products on with the search value set.Initially Select Add Product To Basket Checkbox: Controls if the checkbox should be initially selected, that controls if the first found product should be automatically added to basket.Select Product Pack Unit: Controls if a product can be purchased in packs, then the pack quantity of a product is added to basket, instead of the individual quantity.Default Product Quantity: Sets the default quantity that is set in the quantity textbox. This avoids the need for the user to type the quantity.
Within the Shopping List Product Quick Add Form area, its "Shopping List Product Quick Add Form" format can have the following hooks embedded within it:Functionality Affected: Shopping List Product Quick Add Form content managed page area
Impact: Normal
Improvements
TOT-4017 - Send emarketing emails to users for favourite products that become back in stock
For users logged into content managed websites, there is now the ability for them to elect to receive email notifications, and be informed when products are back in stock that are within their favourites list. This may lead to increased sales since users can then receive the email notification and proceed back to the content managed website to purchase the products that are available again.
Within the Administration Centre, under the Inventory menu, within the Product Editor interface, an additional product field has been added labelled "Stock Available Since Date". The field stores the date that the product become back in stock again, based on a product's stock quantity being set greater than the Stock None level. The date field can be set if a product is a local product, otherwise it will be disabled.
Within the Data menu, within the Data Imports interface, under the Connector Imports tab, when a Products Connector data import is run, it will set the Stock Available Since Date, based on checking if the product's previous stock quantity is less than or equal to a product's Stock None level, and its new stock quantity is greater than the Stock None level. When this occurs the Stock Available Since Date will be set to the current date time. If a product's stock quantity was greater than the Stock None level but is now less than the Stock None level, then the Stock Available Since Date will be cleared. Alternatively the Stock Available Since Date field can be explicitly set with the product data received from the Connector software itself. Within the Text File Imports tab, the Products text file import can also have the Stock Available Since Date within the CSV file data. The field needs to have a date set in either the date formats dd/mm/yy or dd/mm/yyyy, or else be set empty for the Stock Available Since Date field to be cleared for a product. Within the inventory menu, under the Product Search interface, once a product is found, if the Export button is pressed then within the Export Products dialog there is now the ability to select the Stock Available Since Date product field, and include the date field.
Within the Administration Centre, under the Marketing menu, within the Marketing Settings interface, a setting has been added that's labelled "Product Back In Stock Notification Subscription Category". This can be set to one of the User Subscription Categories, that controls the subscription category that users can subscribe to if they wish to receive emarketing emails containing product-back-in-stock information.
Within the Users menu, in the Search Users administration centre interface, in the Advance Search, when the Search Category is set to Marketing, a new search rule has been added labelled "Select active users assigned to subscription category name equal to %value1% with favourite products back in stock in last %value2% hours". This rule can find users who are active, are assigned to a subscription category with the specified name, and contain products in their favourites list that have the Stock Available Since Date product field with a date that exists within a specified number of hours from the current date.
In the Marketing menu, within the Emedia Messaging interface, for an Emedia Email, within the Set Users dialog a User Group can be set up that uses this new user search rule to assign users to receive emarketing emails. This in effect allows users to receive emedia emails when they have favourite products that are back in stock within certain number of hours, and the users are assigned to the user subscription category that indicates that they wish to receive these kind of back-in-stock email notifications.
Within the Emedia Messaging interface for the Emedia item, within the Configure Email Message dialog, when the Send Email As setting is set to Rich Text or Both, then upon clicking on the Modify Web Page button, in the Web Page Editor, adding a new area to the page, in the New Webpage Area dialog, there's now the ability to select Search area type, then the new area type "Email Product Search Listing". This area can display a list of products only in Email based content managed web pages that are embedded within Emedia Emails. The area can have the following settings configured:
- Display In Area: If set to Favourite Product Stock Available Again, then the area will display a list of products that is with the user's favourites list that they have permission to view based on their assigned inventory role, and has a Stock Available Since Date that is later than the current date minus the hours set in the Stock Available Since Hours setting.
- Stock Available Since Hours: set the amount of hours that products containing a Stock Available Since Date must be within from the current date.
- Product Records Displayed: Controls the maximum number of product records that can display within the area. The maximum is 50 records, to ensure that the emails that the area embedded into can be generated fast.
- Sort Products By: Controls how the product records listed in the area are sorted by.
- Sort Products Direction: Controls the direction that product records listed in the area sorted by.
- Product Detail Webpage: Controls the content managed web page that is set within the URL for each product record listed in the area, that takes a user to view the details of the product.
The Email Product Search Listing content managed web page area can have the following formats set:- Email Product Search Listing Wrapper
- Email Product Search Listing Record
On a content managed web page area containing a "User Details/Favourites/Orders" area, the area can now have a drop down element embedded within it that controls if the user is assigned to User Subscription Category, based on the category set with the "Product Back In Stock Notification Subscription Category" marketing setting. This can be used by the user to in effect elect to receive or not receive back-in-stock email notifications. Within the area's "User Detail Form" area format, the format hook "user_receive_product_back_in_stock_notify_select" contains the select element, can be set to either Yes or No, and is saved when a user clicks on an element containing the "userUpdate_onclick" hook.Displays the overall area contents, including any content wrapping around the list of product records.
Displays the details of each product record embedded within the Emedia product Search Listing area.
Using all these combined elements. to send out product back-in-stock notifications using the Emedia Messaging feature the following needs to have been set up:
- A User Subscription Category is created that indicates that it's to be subscribed by users to receive back-in-stock notifications
- Active users area assigned to the nominated User Subscription Category to receive back-in-stock email notifications and have "Receive Marketing" setting selected.
- The user subscription category is assigned to an Emedia Email that has a User Group containing a User Search Rule to find users who have products in their favourites list, and those products have a "Stock Available Since Date" within the last number of hours
- The Emedia Email content contains a Email Product Search Listing area in its Rich Text web page that has the Display Products In Area setting set to "Favourite Product Stock Available Again", with the "Stock Available Since Hours" setting matching the User Group Rule hours
- One or more products have the "Stock Available Since Date" with a date set within the number hours from the current date.
Once all these elements have been configured then the Emedia Email can be sent out either manually through the Emedia Messaging administration centre interface, or automatically using the Connector's TOTECS Emedia Email Sendout process. Each email sent out will contain a tailored list of products for each user assigned to the Emedia, for products now back-in-stock based on the time frame outlined.Registered users can choose to receive future back-in-stock email notifications based on the products they add to their favourites list, as well as by subscribing or unsubscribing to the user subscription category that represents these types of notifications, either from within the Email they receive themselves, as well as through the User Details/Favourites/Orders and Emedia Subscription Form content managed web page areas. Administrator users can also assign/unassign users to receive back-in-stock notifications from within the User Detail administration centre interface, or via the Users text-file data import.
Functionality Affected: Products Connector data import, Product Text File data imports, Product Editor admin centre interface, Product Search admin centre interface, Email Product Search Listing content managed web page area, Emedia Email sendout process, User Details/Favourites/Orders content managed web page area
Impact: Normal
TOT-4052 - Set Domain Keys Identified Mail (DKIM) credentials for all emails sent out
For all emails sent across a project, there is now the ability to include Domain Keys Identified Mail (DKIM) signature key and domain, that identifies the email as being sent from an allowed outgoing email server. This helps the email servers receiving emails to verify that the emails are coming from an allowed sender, and reduces the chances of the emails being bounced or flagged as spam.
For DKIM to work, DKIM private and public cryptographic keys must first be created. This can be done in several ways. One way is to use the OpenSSL console application (that by default is installed in most Linux operating systems) to generate the DKIM keys. To do so open up a console application and enter the following commands:run the following commands:
- openssl genrsa -out private.key 2048
- openssl rsa -in private.key -pubout -out public.key
- openssl pkcs8 -topk8 -nocrypt -in private.key -out private.pem
The private.pem file contains the DKIM Private Key that needs to be placed into the settings within the administration centre as defined below, The public.key file contains the public key that needs to be set up within a DNS text record, where the DNS record is created under the same web domain as the email address being used to send emails from. A DNS sub domain record needs to be set up that contains the DNS txt record, typically this would be default._domainkey.mydomain.com, but it could be eg12345._domainkey.mydomain.com. The "default" or "eg12345" is known as the selector. In the settings below the selector needs to be separated by the @ character, then the domain eg. default@mydomain.com, or eg12345@mydomain.com. The DKIM DNS txt record would have its value set as an example contain the public key like so:Within the Administration Centre, under the Stores menu, within the General settings interface, a new section labelled "Email Sending" has been added that contains the following settings that are used to set DKIM settings for all non-marketing emails:
- Sender Email Address: Set the email address that indicates that the sender of all non-marketing email. If this is left empty then the sender will default to the From emaill address.
- DKIM Domain: Set the DKIM domain and selector that is used to by incoming email servers to validate that the email came from an allow sender. This must also be configured in the DNS text record under the website domain that is used to send the emails from. Set this setting to reduce the changes of emails being blocked. set selector such as default@mydomain.com, that would correspond to default._domainkey.mydomain.com DNS text record with DKIM public key.
- DKIM Private Key (PKCS8 Text Format): Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out, that is validated by incoming email servers to validate that the email came from an allow sender. Ensure this private key was paired with the public key stored in the DNS DKIM text record. Ensure the private key starts with -----BEGIN PRIVATE KEY----- and ends with -----END PRIVATE KEY-----
From the Marketing menu, within the Emedia Messaging interface, upon clicking on the Set Message button for an Emedia Email, in the Configure Email Message the following settings have been added that allow DKIM credentials to be set against the emails being sent out for the specific Emedia. These are optional and if not set then the DKIM TOTECS email credentials will instead be used (the default previous behaviour):- Sender Email Address: Set the email address that indicates that the sender of the emedia emails. This may be used by incoming mail servers to verify the sender with. If left empty then the From Email Address will be used instead.
- DKIM Domain: Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out.
- DKIM Private Key: Set the DKIM private key (in the PKCS8 pem text format) that is used to encrypt the DKIM data in the emails sent out, that is validated by incoming email servers to validate that the email came from an allow sender. Ensure this private key was paired with the public key stored in the DNS DKIM text record. Ensure the private key starts with -----BEGIN PRIVATE KEY----- and ends with -----END PRIVATE KEY-----
From the Websites menu, within the Websites interface, upon clicking on a website domain, in the Website Details page the following settings have been added that allow DKIM credentials to be set against the emails being sent out for the specific content managed website These are optional and if not set then the DKIM project settings will be used instead, or else ignored:Functionality Affected: Email sendout, Stores Settings admin centre interface, Websites Settings admin centre interface, Emarketing Messaging admin centre interface
Impact: Normal
TOT-4114 - Filter records by current month or previous month within all customer account listing content managed web page areas
On a content managed web page area that displays either a Customer Account Invoice Listing, Customer Account Sales Order Listing, Customer Account Back Order Listing, Customer Account Credit Listing,Customer Account Payment Listing, Customer Account Quote Listing, Customer Account Transaction Listing area, for the dange range drop down there are now 2 additional options to filter records based on the current month or the previous month. Within each of the content managed webpage area editors there is the ability to set this date range options "Current Month", "Previous Month" as the default for the area.
Additionally within the Administration Centre, from the Users menu, in the Customer Accounts interface, upon clicking on the Live Enquiry button, within the Account Enquiry interface, for each tab, within the date drop down filters there are now the 2 options "Current Month" and "Previous Month" to filter the records by.
Functionality Affected: Customer Account Invoice Listing, Customer Account Sales Order Listing, Customer Account Back Order Listing, Customer Account Credit Listing,Customer Account Payment Listing, Customer Account Quote Listing, Customer Account Transaction Listing content managed webpage areas
Impact: Minor
TOT-4115 - Show total invoice amount for the retrieved invoice records within Customer Account Invoice Listing content managed web page area
On a content managed web page area that displays a Customer Account Invoice Listing area, the area's "Customer Account Invoice Listing" format now contains a format hook labelled "invoices_total_inc_tax" that can show the aggregate total pricing of all retrieved invoice records, inclusive of tax within the area's Customer Account Invoice Listing format. The aggregated pricing hook rounds the pricing to specified number of decimal places controlled by the "Account Enquiry Record Price Decimal Places" setting within the Administration Centre's Stores settings interface, under the Accounting tab.
Note that this functionality is limited to aggregating pricing data to only the invoices that have been retrieved from the external business system.
Functionality Affected: Customer Account Invoice Listing content managed webpage area
Impact: Minor
TOT-4126 - Reset map zoom level after Distance Limit drop down has changed in Location Finder content managed web page area
On a content managed web page containing a Location Finder content managed web page area, if the area's Location Finder format contains the $search_distance_limit$ hook embedded within it, then when the hook's Distance Limit drop down has a value selected, then the zoom level of the map will change to fit the locations found within the selected distance.
Note that that Google's map API contains a limit on how many locations it can calculate distance from an address location given. As such only the nearest 24 locations will display on the map once an address or location has been specified within the Location Finder search form. This means that the user may set a larger distance that could have more than 24 locations available to show in the map, however only the first 24 locations will show. It may be best to display a message to indicate this existing limitation.
Functionality Affected: Location Finder content managed webpage area
Impact: Normal
TOT-4136 - Display customer account own addresses in Addresses drop down in User Details/Favourites/Orders content managed web page area
On a content managed web page area that displays a User Details/Favourites/Orders area, if the area is displaying the User Details form, in the Addresses drop down it now shows active addresses that belong to the customer account that have not been created by any user (such as if the addresses were imported against a customer account). This will also allow sales rep users to see the customer account own addresses, useful when managing customer accounts.
For these customer account "own" addresses the user is not be able to modify, or delete these addresses. Within the area's "User Detail Form" format, elements that allow to update or delete the selected address can be hidden or shown by utilising the following format hooks:
- address_update_class: CSS class name used to control if a Update Address button element should hide or show, allowing the user to save changes to the selected address. Contains either value update_address_Y or update_address_N
- address_update_element_id: Set within the ID of an element to control if a Update Address button element should hide or show, allowing the user to save changes to the selected address by controlling the element class.
- address_delete_class: CSS class name used to control if a Delete Address button element should hide or show, allowing the user to delete the selected address. Contains either value delete_address_Y or delete_address_N
- address_delete_element_id: Set within the ID of an element to control if a Delete Address address update button element should hide or show, allowing the user to delete the selected address by controlling the element class.
Use these hooks to wrap around Update or Delete Address buttons to control if the buttons should display or hide, based on whether the user is able to modify their own address, or not modify an address that is set against their assigned customer account instead.Functionality Affected: User Details/Favourites/Orders content managed webpage area
Impact: Normal
TOT-4138 - Automatically select product if only 1 product is found within the Product Quick Add Form content managed web page area
On a content managed web page that contains a Product Quick Add Form area, if the user types a search value into the autocomplete text box, if only one product is found in the autocomplete then the product will be automatically selected and loaded into the form, and focus onto the quantity box (or add the product to basket if the checkbox is selected to allow this). This avoids the user needing to press the enter key or select the product in the autocomplete, allowing products to be added to basket faster.
Functionality Affected: Product Quick Add Form content managed webpage area
Impact: Normal
TOT-4141 - Product Deals and Vouchers deal offer to discount products when a given quantity of combined products belong to the same parent combination product
Within the Product Deals and Vouchers feature, 2 new product deal offer types have been added that allows a user to get a given percentage off, or set price off the un-discounted price of products within their basket, when the products belong to a same parent combination product, and the quantity of those products combined exceeds a specified quantity threshold. This in effect allows users to get deals on products, when they purchase products in volume within each product combination.
Within the Administration Centre, under the Marketing section, within the Product Deals and Vouchers interface 2 new product deal offer types have been added to the Offer drop down, and within the Set Deal Detail dialog, these offers are:
- Buy Over X Quantity Of Products Belonging To The Same Parent Combination Product, Get Product For Y Percent Off Price
- Buy Over X Quantity Of Products Belonging To The Same Parent Combination Product, Get Product For Price Y
When these deal offers of are redeemed by applicable users, deal checks will be made to see if any products in the basket are assigned to a same parent combination product, if so then calculate the quantity of those products in the basket linked together, and if the aggregated quantity exceeds the quantity specified in the deal offer, then apply either a percentage off the product's price, or else set the fixed product price set in the deal if cheaper. If a product in the basket is assigned to multiple parent combination products, then the first parent product found will be compared against.Note that this kind of deal offer may slow down Add To Basket and Login processes when many child products are added to basket, and the additional deal offer checks need to be made for each product in the basket.
Functionality Affected: Product Deals and Vouchers Administration Centre interface, Product Add To Basket process, User Login process, Order Checkout process
Impact: Normal
TOT-4147 - Profile and view server loading times of a content managed web page
For a content managed web page being requested, there is now the ability to profile and view the server loading times for the different aspects of the web page, before the server returns the final web page back to the web browser for rendering. This allows website implementors and administrators to gain greater insight as to why a web page takes time to load, as well as understand which components of the web page may be causing longer load times.
Within the Administration Centre, from the Websites menu, within the Websites interface, upon right clicking on a webpage and clicking the Properties context menu item, within the Edit Webpage Properties dialog. a setting has been added labelled Enable Webpage Profiler. If set to Yes, then when a content managed webpage is loaded, the Webpage Profiler will popup containing the time taken for the server to load the overall webpage, as well as as how long it took for each web page area to load, overall time for each web page container, and time it takes to create a new guest session if a session doesn't already exist for the user. Using these numbers allows website administrators to determine which areas may be taking longer time to load, and look at how those areas are configured, and whether area caching should be turned on to reduce web page load times.
It's highly recommended to leave the "Enable Webpage Profiler" webpage setting to No, unless profiling is actively being used, otherwise website users may also see web page profiling and not understand why the profiler is appearing.
Functionality Affected: content managed web pages
Impact: Normal
TOT-4149 - Product Deals and Vouchers deal offer to discount products by price or percentage when total quantity of products in basket belong to the same deal
Within the Product Deals and Vouchers feature, 2 new product deal offer types have been added that allows a user to get a given percentage off, or set price off the un-discounted price of products within their basket, when the combined quantity of products in the basket are assigned to the same deal and the aggregated quantity exceeds a specified quantity threshold. This in effect allows users to get deals on products, when they purchase a volume of any applicable products that have a combined quantity over a certain threshold. These applicable products could come from certain product categories, classes, attributes, or overall global inventory, all controlled by utilised using existing product search rules.
Within the Administration Centre, under the Marketing section, within the Product Deals and Vouchers interface 2 new product deal offer types have been added to the Offer drop down, and within the Set Deal Detail dialog, these offers are:
- Buy Over X Total Quantity Of Products In Deal, Get Product For Y Percent Off Price
- Buy Over X Total Quantity Of Products In Deal, Get Product For Price Y
When these deal offers of are redeemed by applicable users, deal checks will be made to see if any products in the basket are assigned to a same deal, if so then calculate the quantity of those products in the basket linked together, and if the aggregated quantity exceeds the quantity specified in the deal offer, then apply either a percentage off the product's price, or else set the fixed product price set in the deal if cheaper.Functionality Affected: Product Deals and Vouchers Administration Centre interface, Product Add To Basket process, User Login process, Order Checkout process
Impact: Normal
TOT-4150 - Product search rules to find products assigned to product combinations within the Product Search and Product Deals and Vouchers Admin Centre interfaces
Within the Administration Centre, under the Inventory menu, within the Product Search interface, a new advanced search category has been added called "Product Combinations". This search category contains 3 new search rules, which are:
- Select all products assigned to parent combination products with parent %value1% %value2% %equaling% %value3%
- Finds all products that are assigned parent combination products that match the selected product field and value given.
- Select all products assigned to parent combination products and combination profile name %value1% %equaling% %value2%
- Finds all products that are assigned parent combination products that are assigned to the combination profile with the given name
- Select all products assigned to parent combination products with parent assigned to category %value1% %value2% %equaling% %value3%
- Finds all products that are assigned parent combination products, and the parent combination product is assigned to categories that match the selected category field and value given.
These product search rules can also be used within the Product Deals and Vouchers interface when assigning products to a deal.Functionality Affected: Product Search administration centre interface, Product Deals and Vouchers administration centre interface
Impact: Normal
TOT-4151 - Canonical link tag webpage template hook for content managed webpages loading product detail URL with referencing category
On a content managed web page being loaded for a product, and the URL contains a query string that contains a referencing category that the request originated from, there is now the ability to embed into the head of the web page template a link tag, that contains a canonical URL without the any of the URL query string parameters. This help aids search engines to not separately rank product detail based pages that display the same product, when the URLs of the product contain differing query string parameters. This may help increase search rank for product detail pages.
Within the Administration Centre, under the Websites menu, within the Websites interface, upon clicking on a web page html template, and within the Webpage Template Properties dialog clicking on the Edit link, in the Edit Webpage Template Content dialog, the following hook can be embedded within the head of the web page template.
webpage_canonical_meta_link
The hook will output a canonical link tag containing the webpage URL if the webpage's URL matches a product, and the URL contains the parameter "ref_cat_id". If these conditions are not met then the template hook will be blank.
Functionality Affected: Content managed web page load
Impact: Normal
Bug Fixes
TOT-4123 - Customer Account Connector data import fails to complete when a new duplicate customer account record is imported
After an administrator user logged into the Administration Centre, clicked on the Data menu, then clicked on the Data Imports menu item. Within the Data Imports interface, under the Connector tab, if the Customer Accounts data import was selected and run, and the customer account record imported contains duplicate records that each have payment types assigned to each record, then the data import may have failed in the post import process and return the error: " a foreign key constraint fails (`kwtdb`.`account_payment_type`, CONSTRAINT `FK_account_payment_type_2` FOREIGN KEY (`Account_id`) REFERENCES `account_base` (`Account_id`) ON DELETE CASCADE ON UPDATE CASCADE)".
Now if the Customer Accounts data import is selected an run, and the customer account record imported contains duplicate records that each have payment types assigned to each record, then the data import is now able to correctly handle the duplicate records and allow the data import to complete. This issue is caused when dupicate customer account records exist that each have the same payment types assigned to the duplicate records. The data import correctly checks if a payment type has been assigned to the customer account record imported, and avoids trying to assign the payment type again.
Functionality Affected: Customer Accounts Connector data import
Impact: Major
TOT-4146 - Customer Account details not correctly displaying within User Detail content managed web page area when sent out within a Emedia Email
On a content managed web page that is linked to Emedia Email. If the web page had a User Detail area embedded within it, the customer account code and any other customer account details were embedded within the area's format, then when the Emedia Email is sent out, the customer account shown incorrectly displayed as the customer account that was assigned to the administrator user who sent out the Emedia.
Now when the Emedia Email is sent out, the customer account shown now correctly displays as the customer account assigned to the user who is receiving the email.
Functionality Affected: Emedia Email Sendout process
Impact: Normal