Banner Arrow

TOTECS News & Blogs Latest updates, articles, and insights on TOTECS products and services


Banner Image

TOTECS Platform Release 20.00

New Features


TOT-4331 - Import attribute values for locations within the Locations Connector Data Import

When the Locations Connector data import is run, the data import is now able to import attribute value records for each location, that contains any number of additional details about each location. If an attribute value was previously imported against a location using the Locations Connector data import, then the attribute value is no longer imported, the attribute value will be deleted from location.

In order for location attribute values to get assigned to a location, the attribute profile and attribute that a value is assigned to must have previously been created using the Product Attributes data import. Otherwise the location's attribute value record will be ignored.

Within the Administration Centre's Locations interface, for each location table row a button now appears labelled "Attributes". When clicked it brings up the Location Attribute Values dialog that shows each of the attribute values assigned against each location. This allows administrator users to see the attribute values assigned to a location.

Note that currently location attribute values can only be added, modified or removed using the Locations Connector data import.

Functionality Affected: Locations Connector data import, Locations Administration Centre Interface
Impact: Normal


TOT-4354 - Display pricing, width, height, depth, attribute value range sliders to filter products by within Product Attribute Search Profiles

On a content managed web page area that contains a Product Search Form (Using Search Profiles) area, within the area, if it is displaying a Product Attribute search profile. within the profile there is now the ability to display a range slider, that can show the lowest and highest values to search on, and the range of products found if a search has occurred. Additionally the sliders are able to work for any attribute that has its data type set to NUMBER. The slider form element can also have 2 text boxes show with it that that allow the slider to be adjusted by setting the lower and higher values in the range. Additionally there's now the ability to link attributes to specific product data fields, including price, width, depth, and height dimensions. This allows this product data to be used instead of attribute value data for the slider search form elements. This allows users to also filter on price and dimensions in product attribute searches.

Within the Administration Centre, under the Inventory menu, within the Attributes interface, under the Product Attribute Profiles section, after expanding an attribute profile and right clicking on an attribute, within the Edit Attribute panel the following data fields have been added:

  • Data Source: Controls where the data for the attribute's values come from. By default it's set to ATTRIBUTE VALUE, where values are directly assigned to the Attribute. If set to PRODUCT PRICE, PRODUCT WIDTH, PRODUCT DEPTH, PRODUCT HEIGHT, then the attribute's values come from the product data fields instead.
  • Data Type Number Decimal Precision: If the Data Type is set to NUMBER then this setting controls how many decimal places that the attribute's numeric values should be rounded to. This can avoid unneeded zeros appearing in decimal places when attribute values are displayed.
Within the Administration Centre, under the Inventory menu, within Search Profiles interface, when modifying a Product Attribute search profile, within the Search Profile Attributes section, upon clicking on the Add or Modify buttons, in the Assign Search Attribute dialog, for the "Display Attribute Values As" drop down a new option labelled "Slider Textbox Range" is now available.
  • If the Product Attribute selected is set to be a NUMBER data type, then this allows the attribute search form elements to be shown using the slider text box range elements. If the "Slider Textbox Range" option is selected and the "Show Default For Dropdown List" checkbox is selected, then in the "Set Default Value For Dropdown List" textbox put 2 numeric values separated by a bar eg. "2|200" to set the default values that the range slider will be set to when the attribute search form elements are first displayed.
  • Within the "Set Input Format" textbox set the following hooks to be able to format the positioning of the slider relative to the range textbox values "%3slider
    %1textboxmin-%2textboxmax". Note that the %3slider will be replaced with the slider element, the %1textboxmin will be replaced with the lower range textbox and the %2textboxmax will show the upper range textbox. Any additional HTML elements can be placed around these hooks to customise the search form elements.
  • If the Dynamic searching checkbox is selected then once the user changes the sliders to update that attribute value search range then it will trigger the product search automatically, otherwise if left unselected then the user will need to press a button to perform the search
  • Note that if the "Select Product Attribute" drop down has an attribute selected that is set to use a product data field in its data source, then the "Display Attribute Values As" drop down will be limited to only "Slider Textbox Range" option. This means displaying product data in attribute search forms is currently limited to only using the sliders for numeric values.
Within a content managed web page that contains Product Search Form (Using Search Profile) area, and that area is displaying a product attribute search profile that has a "Slider Textbox Range" set to show for one or more attributes, this will then allow users to use the sliders to refine the search. Before the slider elements can be used, they need CSS implemented to customise how the slider elements look. Below is an example of CSS that can be used. Here's each of the CSS classes:
  • attribute_slider_div: Parent element that contains all the slider elements
  • attribute_slider_bar_background - Element that shows a background bar showing the full range that the sliders can move across
  • attribute_slider_bar_selection_range - Element that shows a bar with the range of values selected and will be searched on
  • attribute_slider_handle_lower_box - Element that contains the slider handle used to set the lower value of the range
  • attribute_slider_handle_upper_box - Element that contains the slider handle used to set the upper value of the range
  • attribute_slider_handle_lower - Element contained inside the slider handle used to set the lower value of the range
  • attribute_slider_handle_upper - Element contained inside the slider handle used to set the upper value of the range
Note that the lower slider handle and the upper slider handle are not allowed to cross each other.

Functionality Affected: Customer Account Connector data import
Impact: Normal


Improvements


TOT-4262 - Locations Connector data import to only delete location product stock quantity records if not updated

Within the Administration Centre, under the Data menu, within the Data Imports interface, within the Connector Data Imports tab, when a Locations Connector data import is run, the data import has been modified to only delete existing location product stock quantity records if they have not been updated.

This avoids the import from needlessly deleting records that are to be updated, and avoids new location product stock quantity records from continually being created.

Additionally when assigning product stock quantity records to locations, it will only update the records if the the previous available stock quantity differs from the new stock quantity being provided. This may further help speed up the data import when processing many thousands of stock quantity records.

Functionality Affected: Locations Connector data import
Impact: Normal


TOT-4344 - Sales Representative users to discount a product price off a specific price-level price

If a sales representative user logs into a a content managed website, and navigates to a web page that contains either a Product Detail, Basket Products Listing, or an product listing area that uses the Product Search Record format, if the area contains a price-level discount data field that allows discount to be applied to product for a price-level price, there is now a setting that controls if the discount is applied against the price-level price assigned to the active customer account in the user's session, or else from a nominated price level. This setting will allow sales representative users to discount off a common nominated price-level, instead of a customer account's price level.

Within the Administration Centre, under the Inventory menu, within the Products Settings interface, the new setting has been added labelled "Sales Rep Discount Off Product Price Level" that controls the price level that the sales representatives are allowed to discount from. If the value is set to "no price level set" then when a sales rep user uses the price level discount field the discount percentage set with be discounted off the price-level assigned to the active user's customer account. If the setting is set to a specific price level, then the discount percentage set will be discounted off the product's price set for that price level.

Functionality Affected: Products Settings Administration Centre Interface, Product Add To Basket server action
Impact: Normal


TOT-4347 - Paginator that appends Product Search Records to existing record list within Category Listing, Product Search Results Listing, and Customer Account Contract Detail content managed web page areas

On a content managed web page that contains Category Listing, Product Search Results Listing, and Customer Account Contract Detail area types, there is now the ability to display a pagination element, that when triggered will load and appended the next page of product records after the current page of records. This allows more product records to be loaded further down the web page, instead of reloading the entire area to show only the next page of product records that the user has to navigate up towards.

Note that is style of pagination can be limiting for the user since they don't have the ability to navigate from page 1 to page 10, without loading all the other pages of records in between. This could be mitigated if the page number links, or first, previous, next, and last pagination elements were still allowed to be used.

A separate javascript API event type has been created for this type of infinite pagination loading event, so that any 3rd party javascript libraries can listen and perform any necessary actions before the next page of records has been loaded into the area. The event type has been added to
TOTECS.retail.fs.WEBPAGE_AREA_EVENT_TYPES.BEFORE_PAGINATOR_INFINITE_RELOAD

Within the areas the following format hooks have been added:Customer Account Contract Detail

  • product_records_next_page_infinite_onclick: Javsacript function that calls the next page of product records to load, appending the next page of records to show with other pages of records.
  • product_records_next_page_infinite_element_id: Set within the ID attribute of a html element used to call the next page of product records to be appended, and show with the previous pages of product records.
  • product_records_next_page_infinite_class_name: Name of the styling class used to show if a next page of records can be loaded and appended with the current page of product records. Returns either customer_account_contract_product_page_next, loading_customer_account_contract_product_page_next, or no_customer_account_contract_product_page_next
Category Listing Footer
  • viewNextCategoryPageInfinite_anchor: Anchor element that calls the next page of category/product records to load, appending the next page of records to show with other pages of records.
  • viewNextCategoryPageInfinite_onclick: Javsacript function that calls the next page of category/product records to load, appending the next page of records to show with other pages of records.
  • viewNextCategoryPageInfinite_element_id: Set within the ID attribute of a html element used to call the next page of category/product records to be appended, and show with the previous pages of category/product records.
  • viewNextCategoryPageInfinite_class_name: Name of the styling class used to show if a next page of records can be loaded and appended with the current page of category/product records. Returns either category_page_next, loading_category_page_next, or no_category_page_next
Product Search Listing Footer
  • viewNextSearchPageInfinite_anchor: Anchor element that calls the next page of product records to load, appending the next page of records to show with other pages of records.
  • viewNextSearchPageInfinite_onclick: Javsacript function that calls the next page of product records to load, appending the next page of records to show with other pages of records.
  • viewNextSearchPageInfinite_element_id: Set within the ID attribute of a html element used to call the next page of product records to be appended, and show with the previous pages of product records.
  • viewNextSearchPageInfinite_class_name: Name of the styling class used to show if a next page of records can be loaded and appended with the current page of product records. Returns either search_page_next, loading_search_page_next, or no_search_page_next

Functionality Affected: Category Listing, Product Search Results Listing, and Customer Account Contract Detail content managed web page area
Impact: Normal


TOT-4355 - Multi Step Layout within Guest Order Checkout/Submission and Order Checkout/Submission content managed web page areas

On a content managed web page that contains either a Guest Order Checkout/Submission area, or a Order Checkout/Submission area, a new area setting and format has been created that allows the different steps of the Order Checkout process together, including the Order Details Form, Freight Selection, Order Review, Credit Card Payment Form steps and their associated formats.

Within the Administration Centre, under the Websites interface, within the Web Page Editor, for Guest Order Checkout/Submission or Order Checkout/Submission area types, within the area editor, a new setting labelled "Display Multi Section Checkout Layout" has been added.

If the "Display Multi Section Checkout Layout" setting is set to Yes, then within each area type a new format named "Order Checkout Multi Section Layout" will be used to structure the overall layout of area, allowing different area formats to display depending on the checkout step that the user is currently at. Within this format it contains the following format hooks:

  • order_checkout_detail_form_format: Area format that displays the Order Checkout Form, allowing a details of an order to be set, enabling an unconfirmed order to be created/updated.
  • order_checkout_detail_form_section_class_name: Displays either order_checkout_detail_form_section_hide or order_checkout_detail_form_section_show class name, to indicate if the Order Checkout Detail section should show or hide
  • order_checkout_freight_selection_format: Area format that displays the Freight Carrier Selection, allowing a freight carrier and service to be selected and set against the order.
  • order_checkout_freight_selection_section_class_name: Displays either order_checkout_freight_selection_section_hide or order_checkout_freight_selection_section_show class name, to indicate if the Order Checkout Freight Selection section should show or hide
  • order_checkout_review_format: Area format that displays the details of an unconfirmed order to be reviewed and confirmed.
  • order_checkout_review_class_name: Displays either order_checkout_review_section_hide or order_checkout_review_section_show class name, to indicate if the Order Checkout Review section should show or hide
  • order_checkout_summary_format: Area format that displays a summary of details of an unconfirmed order to be reviewed and confirmed.
  • order_checkout_summary_class_name: Displays either order_checkout_summary_confirm_section_hide or order_checkout_summary_confirm_section_show class name, to indicate if the Order Checkout Summary section should show or hide
  • order_checkout_payment_form_credit_card_format: Area format that displays a credit card form to allow the order to be paid for.
  • order_checkout_payment_form_credit_card_class_name: Displays either order_checkout_payment_form_credit_card_hide or order_checkout_payment_form_credit_card_show class name, to indicate if the Order Checkout Payment Form section should show or hide
  • order_checkout_submission_result_format: Area format that displays the result of the attempt to confirm and submit the order.
  • order_checkout_submission_result_class_name: Displays either order_checkout_submission_hide or order_checkout_submission_show class name, to indicate if the Order Checkout Submission section should show or hide
  • order_show_submit_elements: Displays either Y or N. If Y then the unconfirmed order is allowed to be submitted, and confirmed.
  • order_checkout_step_class_name: Displays either order_checkout_step_order_details, order_checkout_step_freight_selection, order_checkout_step_review, order_checkout_step_payment_form_cc or order_checkout_step_payment_form_submit class name. The name of the styling class based on the order/checkout step currently displayed.
  • order_checkout_loading_element_id: Set within the ID attribute of one HTML element that is used to identify and update the class name. This is used to style the loading/saving aspect of an order.
  • order_checkout_loading_class_name: Displays either order_checkout_loading_no or order_checkout_loading_yes class name, to indicate if a section of the order/checkout is currently being loaded or saved. Use this class to style elements that indicate if the order is being saved or loaded.
  • order_checkout_detail_form_section_element_id: Set within the ID attribute of one HTML element that contains the section to display the Order Checkout Detail Form. This allows the section content to be changed.
  • order_checkout_freight_selection_section_element_id: Set within the ID attribute of one HTML element that contains the section to display the Order Checkout Freight Selection. This allows the section content to be changed.
  • order_checkout_review_section_element_id: Set within the ID attribute of one HTML element that contains the section to display the Order Checkout Review. This allows the section content to be changed.
  • order_checkout_summary_section_element_id: Set within the ID attribute of one HTML element that contains the section to display the Order Checkout Summary. This allows the section content to be changed.
  • order_checkout_payment_form_credit_card_section_element_id: Set within the ID attribute of one HTML element that contains the section to display the Order Checkout Credit Card Form. This allows the section content to be changed.
  • order_checkout_submission_section_element_id: Set within the ID attribute of one HTML element that contains the section to display the Order Checkout Submission. This allows the section content to be changed.
  • order_checkout_step_element_id: Set within the ID attribute of one HTML element to change class name, indicating the step that the user is up to within the Order Checkout process.
These hooks needs to be placed within HTML element "ID" and "class" attributes, to allow the order formats and data to be updated and styled. It is recommended to set the following CSS styling rules within a CSS file to ensure that only the relevant formats in the layout format are displayed:
.order_checkout_detail_form_section_hide,
.order_checkout_freight_selection_section_hide,
.order_checkout_review_section_hide,
.order_checkout_payment_form_credit_card_hide,
.order_checkout_submission_hide,
.order_checkout_summary_section_hide{display:none;}
For both checkout areas an additional area format has been added labelled "Order Checkout Summary". This summary format can be used to show the overall details of a sales order (excluding details of product and surcharge lines), and be used to submit and order if allowed. It contains majority the same data format hooks as the Order Review format.

Within the existing checkout area formats, new format hooks have been added, that if embedded in HTML elements will be used to scroll the user's browser to the element when the relevant checkout step is reached. This ensures that the user can see the relevant format content to allow them to progress to the next step.

Order Details Form area format
  • order_checkout_detail_form_scrollto_element_id: Set within the ID attribute of one HTML element to control where the web page scrolls to when the Order Checkout Detail Form section displays.
  • order_checkout_freight_selection_scrollto_element_id: Set within the ID attribute of one HTML element to control where the web page scrolls to when the Order Checkout Freight Selection section displays.
Order Review area format
  • order_checkout_review_scrollto_element_id: Set within the ID attribute of one HTML element to control where the web page scrolls to when the Order Checkout Review section displays.
Payment Credit Card Form area format
  • cc_form_scrollto_element_id: Set within the ID attribute of one HTML element to control where the web page scrolls to when the Order Checkout Credit Card Payment Form section displays.
Order Submission Failure Message
Order Submission Pending Message
Order Submission Success Message area formats
  • order_checkout_submission_scrollto_element_id: Set within the ID attribute of one HTML element to control where the web page scrolls to when the Order Checkout Submission Result section displays.
Within the Order Review area format, the format hook "termsConditions_check" has now been made not mandatory. If the format hook is not embedded within the format then the user will be able to submit an order without confirming terms and conditions of the order. It is recommended to only allow this behaviour if the submission button element contains a label where the user agrees to terms and conditions.

Functionality Affected: Guest Order Checkout/Submission, Order Checkout/Submission content managed web page areas
Impact: Normal


TOT-4361 - Update URL used to make credit card payments using SecurePay payment gateway

if the payment gateway has been set to SecurePay, then within a content managed page that contains an Order Checkout/Submission area, a Customer Account Invoice Payment Form, or within the Payments administration centre interface, when a credit card payment is made, the URL used to call the SecurePay API has been changed from "www.securepay.com.au" to "api.securepay.com.au", since SecurePay have indicated that after the 23rd May 2025 that the "www.securepay.com.au" domain can no longer be used.

Functionality Affected: Order Checkout/Submission content managed web page area, Customer Account Invoice Payment Form content managed web page area, Payments administration centre interface
Impact: Normal


TOT-4365 - Format hooks to show pack pricing and unit selection in product listing, Basket Products Listing, Order Checkout/Submission content managed web page areas

On a content managed web page that contains the following areas, within the Product Search Record format, now has the ability to show pack pricing within the area, as well as show the unit selection that allows pack quantities to be added to basket. This allows users to buy products in packs, similar to the Product Detail areas. Product listing content managed web page areas this functionality affects:

  • Product Search Results Listing area
  • Category Listing
  • Customer Account Contracts Listing
  • Order Checkout/Submission
  • Guest Order Checkout/Submission
Within the Product Search Record content managed web page area format the following hooks have been added:
  • _P_UnitsPerPack
  • _P_PricePackExProjectCurrency
  • _P_PricePackIncProjectCurrency
  • _P_PricePackProjectCurrency
  • _P_PricePackEx
  • _P_PricePackInc
  • _P_PricePack
  • _P_PricePackShow
  • _P_StockQuantityPack_threshold
  • add_product_unit_select
  • add_product_unit_select_unit_onclick
  • add_product_unit_select_pack_onclick
  • add_product_unit_force_pack
  • product_price_level_price_pack_ex_formatted
  • product_price_level_price_pack_inc_formatted
  • product_price_level_price_pack_formatted
  • product_price_level_price_pack_ex
  • product_price_level_price_pack_inc
  • product_price_level_price_pack
Basket Product Record Format hooks:
  • basket_product_unit_selection
  • _B_UnitPack
  • _B_QuantityPack
  • _B_PricePack
  • _B_PricePackEx
  • _B_PricePackInc
  • _B_PricePackTax
Order Review Product Record format:
  • order_product_unit_name
  • order_product_unit_quantity
Additionally in these areas that use the Product Search Record format, if the addProductQuantityField addProductQuantityField_ex_discount format hooks are embedded in the area and, the packs feature setting is turned on, and Force Pack Add setting is turned on, and a product contains a pack quantity, and had previously been added to basket, then the basket quantity displayed in the quantity textbox will be divided by the pack quantity. This ensures users only have to set a quantity for the pack, and not for the individual units.

A change was made to the Product Detail content managed webpage area and its Product Detail format, to have additional format hooks that shows the price-level price of the active customer account in use, as the pack price. These format hooks only show pack pricing if the packs feature is turned on and the product has a pack quantity greater than 1, otherwise it displays the price-level unit price. Ensure that when embedded pack pricing hooks, that they are located in a HTML element that uses one of the element ID hooks in the ID attribute. This ensures that if a parent combination product is loaded into the area, that the price-level pack pricing can update and change when different child production products are selected.
  • product_price_level_price_pack_ex_formatted
  • product_price_level_price_pack_inc_formatted
  • product_price_level_price_pack_formatted
  • product_price_level_price_pack_ex
  • product_price_level_price_pack_inc
  • product_price_level_price_pack
  • product_price_level_price_pack_ex_formatted_element_id
  • product_price_level_price_pack_inc_formatted_element_id
  • product_price_level_price_pack_formatted_element_id
  • product_price_level_price_pack_ex_element_id
  • product_price_level_price_pack_inc_element_id
  • product_price_level_price_pack_element_id

Functionality Affected: Product Search Results Listing area, Category Listing, Customer Account Contracts Listing, Order Checkout/Submission, Guest Order Checkout/Submission, Product Detail content managed web page areas
Impact: Normal


TOT-4369 - Template hook that contains the URL of the web page within the Content Managed Web Page Template

On a content managed web page, for the template that is assigned to the web page, there is now a new template hook named "webpage_original_request_url" that allows the absolute URL of web page to be embedded within the web page. This URL comtains the domain of the web page, the ID or name of the web page, followed by the .html file extension. Note that the URL doesn't include any parameters.

Functionality Affected: Content managed web page
Impact: Minor


TOT-4371 - Setting to display alert and confirmation popups as customisable modal dialogs within content managed website

On a content managed website, for any areas that display alerts and confirmation browser popups below, there is now the ability to customise the styling of the alert and confirmation modal dialogs by showing them in a HTML webpage format, instead of native web browser alerts. This allows these alerts and confirmation dialogs to have styling and branding consistent with the web pages within the website.

Within the Administration Centre, under the Websites menu, within the Websites interface, upon clicking the domain of a website, within the Website Details interface, an additional setting labelled "Web Page Area Alert/Confirmation Dialog Style" has been added that controls if the alert/confirmation popups should be shown as a Native Browser Popup, or as a HTML Modal Dialog. If set to "HTML Dialog", then the YUI library's modal dialog will be used for all alert and confirm popups.

This includes the following Confirmation popups:

  • Minimum Order Confirmation at Basket Checkout button
  • Purchase Order Invalid at Order Checkout Detail button
This includes the following Alert popups:
  • Incorrect quantity set within the Product Add To Basket process
  • Permission error within Product Add To Basket process
  • Server Request Failed process
  • User Registration Error
  • Enquiry Form Error
  • Invoice Account Enquiry Payment Error
  • Save Delivery Address Error
  • Validate Delivery Address Error
  • Validate Express Order Error
  • Unable to Load Search Form Error
  • Save Pending Order Field Error
  • Page Still Loading Error
  • Activate Deal Error
When a HTML dialog is used to display the alert modal dialog it will have the styling class "cms-skin-website-alert-modal" and the ID "websiteModalAlertDialog". For the confirmation dialog it will have the styling class "cms-skin-website-confirm-modal" and the ID "websiteModalConfirmDialog". Use these classes/ids to style the modal with CSS rules.

Functionality Affected: Content managed web page areas
Impact: Normal


TOT-4376 - Add format hook in Category Crumbs format to indicate if a crumb is for a product within the Category Crumbs content managed web page area

On a content managed web page containing a Category Crumbs area, within the area's Category Crumbs format, a new format hook has been added labelled "cat_crumb_is_a_product". It will output the value "Y" if a category crumb is being displayed for a product, or else "N" if the category crumb is being displayed for a category. This format hook can be used to show distinct styling for product and category crumbs independently.

Functionality Affected: Category Crumbs content managed web page area
Impact: Normal


TOT-4381 - Add ChatGPT, Mistral AI, Perplexity AI crawlers to the list of known crawlers/scrapers within the Project Traffic Statistics Administration Centre

For website traffic making webpage requests for a project, there is now the ability to detect when ChatGPT, Mistral AI, Perplexity AI crawlers are making a request. Within the Administration Centre interface, under the Statistics menu, in the Project Traffic Statistics interface, under the "Requests By Search Engines, Crawlers and Software" pie graph now can show requests that are made by the ChatGPT, Mistral AI, Perplexity AI crawlers.

Functionality Affected: Project Traffic Statistics administration centre interface
Impact: Normal


TOT-4399 - Reactivate inactive users assigned to active customer accounts post import of the Customer Accounts Connector Data Import

When a Customer Account Connector data import runs, there is now an additional data import setting named "Reactivate Users Assigned to Active Customer Accounts" that allows inactive users to become active again when assigned to customer accounts that are active after the data import record processing has completed. This allows users to be able to login again if their customer account becomes active again from external business systems.

If the "Reactivate Users Assigned to Active Customer Accounts" checkbox setting is selected, to avoid users getting reactivated that shouldn't be set the text "USER PERMANENTLY INACTIVE" in the user's "Display Name" data field. Any users containing this text in the Display Name will be ignored from being reactivated.

Functionality Affected: Customer Account Connector data import
Impact: Normal


Bug Fixes


TOT-4346 - Google Address Search Auto-Complete displaying "This page can't load Google Maps correctly." error within User Registration and Location Finder content managed web page areas if North East and South East boundary coordinate settings contain val

On a content manged web page that contained either a User Registration or Location Finder area, if the area was displaying a Google Address Search Auto-Complete, and within the Administration Centre's Store menu, in the Location Settings interface, under the Coordinate Settings the North East Boundary, and South West Boundary settings contain latitude and longitude values set, then the address search failed to work and instead displayed the error message "This page can't load Google Maps correctly.".
Now if the North East Boundary, and South West Boundary settings contain latitude and longitude values set, then the address search will now correctly work as expected and display addresses that match the search term given.
This issue appears to be caused by Google making a change to their Places API library, and changed the way that the library accepted boundary coordinates.
Note that this issue only affected projects if the North East Boundary, and South West Boundary settings had values set. If the settings were left empty then the Address Search continued to work as expected.

Functionality Affected: User Registration and Location Finder content managed web page areas
Impact: Normal


TOT-4348 - Unable to create a new Search Profile in the Search Profiles administration centre interface

After an administrator user logged into the Administration Centre, clicked on the Inventory menu button, then clicked on the Search Profiles menu item. Within the Search Profiles interface, in the New Profile Name text box after a name was typed and the Add button is clicked on, an error dialog displayed "The search profile was unable to be created, please try again or inform us of this issue", and the search profile failed to be created.
Now within the New Profile Name text box, after a name is typed and the Add button is clicked on, a search profile correctly gets created, with no error dialog showing.
This bug was introduced by TOT-4104 and subsequently fixed, and released into the 19.00 release, and live platform servers.

Functionality Affected: Search Profiles Administration Centre Interface
Impact: Normal


TOT-4359 - Product Deal Offer incorrectly dividing deal price by deal quantity when the deal offer type is Buy Product Quantity X For Y Percent Off Price Price Level Z

If a product was added to basket and an applicable Product Deal is matched on the product, if the deal offer type is "Buy Product Quantity X For Y Percent Off Price Price Level Z", and it had its Quantity X value set to a value greater than 1, then when the deal price was calculated for the product it was incorrectly being divided by the Quantity X quantity. Because of this the incorrect unit price and total price of the product in the basket was being calculated.
Now If a product is added to basket with this deal offer type, then when the deal price is calculated for the product it will now correctly divide the price by the "Quantity X" quantity to calculate the correct final deal price.

Functionality Affected: Product Add To Basket process
Impact: Normal


TOT-4360 - "ERROR: accessing database" displays within content managed web page areas when web browser passes cookie values used for product record layout view user preference

On a content managed web page that contained a Product Search Results Listing area, if the area's "Allow User Sort Products Preference" setting had been set to Yes, then when the web browser made a request for the web page and within the cookies there was a value that contained dollar symbols, then the Product Search Results Listing area would incorrectly display the error message "ERROR: accessing database".
Now the Search Results Listing area will now correctly check the cookie values to find the user's product record layout preference, and ensure the product listing web page area correctly displays.
Note that this issue was introduced with the development TOT-4201 but it was not caused by a database error, even though that was the error displayed on the web page.

Functionality Affected: Product Search Results Listing content managed web page area
Impact: Normal


TOT-4362 - Guest user session failing to be created for the correct content managed website if a web page URL doesn't contain the Web Page Name or Web Page ID

On a content managed website that did not have the Website Regions feature turned on, if a new guest user first requested a web page that did not have the web page name or web page ID within the URL, then the guest user session was incorrectly being set against the first website that existed within the project.
Now when the a guest user session is created it will use the http request's website domain to match to the correct content managed website.
THis issue would only occur if a project had multiple content managed websites.

Functionality Affected: Create User Session server action
Impact: Normal


TOT-4368 - Customer Account Invoice Line Report content managed area not showing products in Product Search Record format if it belongs to a parent combination

After a user navigated to a content managed website and logged in, then navigated to a content managed web page that contained a Customer Account Invoice Line Report area. If the area was configured to match up invoice line records to products, the area would not match and output a Product Search Record if a product was assigned to a parent combination product and the project is configured to not show child combination products within product listing areas.
Now the area will now match and output a Product Search Record, even if a product is assigned to a parent combination product and the project is configured to not show child combination products within product listing areas.

Functionality Affected: Customer Account Invoice Line Report content managed web page area
Impact: Normal


TOT-4374 - Global Web Page HTTP Response Headers for a content managed website incorrectly truncating a header value if it contains a colon character

On an a content managed website that had Global Response HTTP Response Headers set up containing one or more HTTP response headers. If a header contains a value that contained a colon character within its value, then when any webpage belonging to the content managed website was loaded in a web browser, the header value was incorrectly being truncated, removing all characters before the last colon character in the header value.
Now when any webpage belonging to the content managed website is loaded in a web browser, the header value will now correctly not be truncated if it contains a colon character.

Functionality Affected: Content managed web page
Impact: Normal


TOT-4375 - reCAPTCHA form element not displaying if multiple User Registration areas appear on a content managed webpage

On the content-managed web page, if 2 or more User Registration areas were placed on the web page, and 2 or more of these areas were loading a User Registration Profile that had the reCAPTCHA element enabled, Then the reCAPTCHA form element would only load in one of the the areas.
Now the reCAPTCHA form element will now correctly load in each User Registration area. Additionally if multiple areas are using the Google Address Autocomplete, then they too will correctly load as well.
Note that the User Registration area's browser logic has been refactored to allow multiple User Registration areas to work on the same content managed webpage.

Functionality Affected: User Registration content managed web page area
Impact: Normal


TOT-4377 - Product Attribute Search is not finding any products if attributes values selected across multiple attributes are the same value

On a content managed web page area that contained a Product Search Form (Using Advanced Search Profiles) area, if the area had loaded a product attribute search profile, and the user had selected values across multiple attribute search form inputs that contained the same value, then the product attribute search would not correctly be able find any products and returned zero search results, even though one or more active products is assigned to the selected attribute values.
Now the product attribute search will correctly find products when one or more active products is assigned to the selected attribute values.

Functionality Affected: Product Search server action
Impact: Normal


TOT-4378 - Unable to create a new content managed website when a website design is selected in the Create New Content Managed Website admin centre Websites dialog

After a user logged into the Administration Centre, clicked on the Websites menu button, then the Websites menu item, then within the Websites interface, after clicking on the the New Website tree node, after typing the details of the website and choosing a Website Design, after clicking on the Create button, the content managed website failed to be created and an error dialog appears with no error message.
Now the content managed website will be correctly created again. This issue was caused when the underlying coding library was changed and underlying folder structures weren't being created.

Functionality Affected: Websites Administration Centre interface
Impact: Normal


TOT-4379 - Category Listing content managed web page area unable to display products if displayed on the same web page after a Model Product area

On a content-managed web page that contained both a Model Product area and a Category Listing area, if the Model Product area had a higher ordering on the web page before the Category Listing area, then if the Category Listing area was configured to show products in the area, the area would incorrectly not display any products, even if there were products available that the user has permission to see.
Now the area will correctly display any products available to the user, regardless of whether there's any Model Product areas on the web page or not.

Functionality Affected: Model Product content managed web page area
Impact: Normal


TOT-4380 - Sales Rep user is unable to change the Unit Price of a product if it shows a formatted number in the thousands within the Basket Product Listing content managed web page area

On a content managed website, after a salesrep user had logged in, after a user had added a product to a basket that has a unit price $1000 or higher and then navigated to a web page containing a Basket Product Listing area, if the Update Unit Price text box was displaying for a Basket Product Record format, and it was showing a formatted pricing value in the thousands. If the user tries change the pricing value and then clicked outside of the text box, an error message was displayed stating that the product could not be added because of a technical reason. This is because the comma is not a valid numeric character,
Now the pricing text box will show a formatted pricing value that does not include thousands separators in its price. This change has been to the following format hooks within the Basket Product Record area format:

  • update_product_price_field
  • updateProduct_onkeypress
  • updateProduct_onchange

Functionality Affected: Basket Product Listing content managed web page area
Impact: Normal