Help Centre Forum

TOTECS Forums

TOTECS Platform Release 15.02

Author
Thread

Author moderator
21st July 2021

New Features





TOT-4092 - REST API endpoint to export product images



The Data API in the platform has now been modified to allow administrator users and normal users to export product image reocrds programmatically from a project.

This can allow 3rd party customer systems to obtain all product image data in their own website, squizz, or business systems by using the data API to export the data.

Within Administration Centre interface under the Data menu, in Data API it will now display logs of requests that are made to the API to obtain product image data. This allows administrators to see which users are exporting image data.

When product image data is exported from the API, the product images that are returned from the API endpoint will be limited to the products that are active and the images that are active. Additionally if a non admin user is calling the API endpoint then they will be only be able to retrieve images for products that they are allowed to view, based on their assigned inventory role and contracts. Also within the User Permissions Administration Centre interface, in the Facility Role details the permission "Data API Product Image Export" has been added. For non admin users this permission must be set to allow to allow them to export product images from the API.



Functionality Affected: Product Images data export API endpoint

Impact: Normal



 





TOT-4093 - REST API endpoint to export category images



The Data API in the platform has now been modified to allow administrator users and normal users to export categoery image records programmatically from a project hosted on the TOTECS platform.

This can allow 3rd party customer systems to obtain all category image data in their own website, squizz, or business systems by using the data API to export the data.

Within Administration Centre interface under the Data menu, in Data API it will now display logs of requests that are made to the API to obtain category image data. This allows administrators to see which users are exporting image data.

When category image data is exported from the API, the category images that are returned from the API endpoint will be limited to the categories that are active and the images that are active. Additionally if a non admin user is calling the API endpoint then they will be only be able to retrieve images for categories that they are allowed to view, based on their assigned inventory role and contracts. Also within the User Permissions Administration Centre interface, in the Facility Role details the permission "Data API Category Image Export" has been added. For non admin users this permission must be set to allow to allow them to export category images when calling the API.



Functionality Affected: Category Images data export API endpoint

Impact: Normal



 





TOT-4095 - REST API endpoint to export categories



The Data API in the platform has now been modified to allow administrator users and normal users to export category tree records, category records and assigned product mappings programmatically from a project hosted on the TOTECS platform.

This can allow 3rd party customer systems to obtain all category data in their own website, squizz, or business systems by using the data API to export the data.

Within Administration Centre interface under the Data menu, in Data API it will now display logs of requests that are made to the API to obtain category data. This allows administrators to see which users are exporting category data.

When category data is exported from the API, the categories that are returned from the API endpoint will be limited to the categories that are active. Additionally if a non admin user is calling the API endpoint then they will be only be able to retrieve categories that they are allowed to view, based on their assigned inventory role and contracts. Also within the User Permissions Administration Centre interface, in the Facility Role details the permission "Data API Category Export" has been added. For non admin users this permission must be set to allow to allow them to export category data when calling the API.



Functionality Affected: Categories data export API endpoint

Impact: Normal



 





Improvements





TOT-4041 - Track and display recently viewed products within the user's session in a Product Search Results Listing area



On a content managed website there is now the ability for users to able to view a list of recently viewed products that they have previously viewed within a content managed web page containing a Product Detail area, in a single user session. When a content managed web page displays a product within a Product Detail area, the product will be added to a list of recently viewed products in the user's session. Within the Administration Centre under the Inventory menu, in the Product Settings interface, a setting labelled "Session Recently Viewed Products Limit" has been added that controls the maximum number of products that can be stored in the user's Recently Viewed Product List. Once the list has been filled up then it remove the earliest viewed product within the list.

On a content managed web page displaying a Product Search Results Listing area, the area's "Display In Area setting" a radio option labelled "Session Recently Viewed Products" has been added that allows the list of products in the session's recently viewed list to display in the area. This allows each product to show data and formatting using the area's existing formats, as well as existing settings to control the sorting, and number of products that display in the area, among other settings. Note that the list will always sort the products from the last viewed to earliest viewed.



Functionality Affected: Product Detail content managed web page area, Product Search Results Listing content managed web page area

Impact: Normal



 





TOT-4061 - Make/model autocomplete search box within Model Search Form content managed web page area



On a content managed web page displaying a Model Search Form area, there is now the ability to display an autocomplete search box that allows the user to search for a list of models that partially match the search text entered by the user, as well as a list of makes. For the first 10 models and makes that match the search text can be displayed within a search list element.

If a model is selected within the list then the user can be redirects to a configured content managed web page that allows the details of the model to be displayed. If a make is selected within the list it can redirect the user to a configured content managed web page that allows a list of models to be displayed in a Model Search Listing areas. Selecting either make or model can also update areas on the same page if the area settings are confirmed to display on the same page.

Both the styling of the autocomplete search text input, and the search results listing can be highly customised within the existing Model Search Form area format. The auto-complete results listing needs to be composed of at least 2 elements. An outer wrapping element that contains all the search elements, and an unordered or ordered list element where the results records will be displayed within. Additionally other elements can be added to display different messages based on the state of the auto-complete occurring.

Within the Model Search Form format the following hooks have been added to the format:




  • make_model_autocomplete_onkeyup: Javascript function to to trigger make/model autocomplete search, or handle selection, from a key press. Place in onkeyup attribute of a text input.

  • make_model_autocomplete_onblur: Javascript function to hide the make/model autocomplete results elements. Place in onblur attribute of the search text input.

  • make_model_autocomplete_results_wrapper_id: ID of the HTML element that is the container to display make/model auto-complete results within. Place within the ID attribute of an element.

  • make_model_autocomplete_results_class: Name of the css class used to control the initial stying of the make/model auto-complete results elements.

  • make_model_autocomplete_results_list_id: ID of the list HTML element used to display the found records of a make/model auto-complete search. Place within the ID attribute of an unordered or ordered list element.



For the search results wrapper element it's class attribute will be set to one of the following css class names when an auto-complete search is occurring:




  • autocomplete_hide_results: Is set when there's no search occurring in the make/model auto-complete.

  • autocomplete_show_loading: Is set when there's request is being made to the server to perform a make/model auto-complete search.

  • autocomplete_show_results: Is set when the make/model auto-complete search found one or more make or model records.

  • autocomplete_show_no_results: Is set when the make/model auto-complete search found no make or model records.

  • autocomplete_show_error: Is set when the make/model auto-complete search had an error occur when trying to perform the search. This is most likely due to a internet connection issue, or else a server searching error.



For the search results list element, one of its child list elements may have the following class set if the user had selected the list element, using up or down arrow keys within the auto-complete input element.




  • autocomplete_record_selected: Is set when the user has selected the make/model list element.



Within the search results list element, each child list element displayed, its inner HTML may either display the Make Record format of a Make was found, or the Model Search Record format if a Model was found. Within each format the data about the make or model found can be customised, as well as include other elements such as buttons or links to take the user the relevant web page. Use CSS to control how the results elements show, such as an autocomplete that has the results appear as a drop down, as a full search table, or something in between.



Functionality Affected: Model Search Form content managed web page area

Impact: Normal



 



 





TOT-4062 - Display RRP pricing for invoice lines within a Customer Account Invoice content managed web page area



On a content managed web page that contains a Customer Account Invoice area, after the area has retrieved the invoice record data from the externally connected business system, for each invoice line displayed within the area that's an "Item" line there is now the ability to display recommended retail pricing (RRP) if the invoice line code matches an active visible product in the project, and the product contains a price-level unit price for the RRP price level that has a price that is greater than invoice line's unit price excluding tax. Within the Customer Account Invoice area a setting labelled "Show RRP Pricing In Invoice Product Lines" specifies whether RRP pricing should be attempted to be found for the invoice lines. If set to Yes then the RRP pricing look ups for each invoice line will be attempted else if set to No then lookups will be ignored.

Within the area's "Customer Account Invoice Line Item" format the following format hooks have been added to be able to display RRP pricing data for each invoice line:




  • invoice_line_rrp_price_ex_tax: Recommended retail unit price of the product line, excluding any tax amount.

  • invoice_line_rrp_price_inc_tax: Recommended retail unit price of the product line, including all tax amounts.

  • invoice_line_rrp_price: Recommended retail unit price of the product line, either exclusive of or including tax amounts, based on the tax format setting of the user.

  • show_invoice_line_rrp_price: Either Y or N. Shows Y if the user should see the recommended retail pricing based on if RRP pricing was found and is greater than the unit price of the line excluding tax amounts. Use this hook within element class names to hide or show RRP pricing data using CSS styling rules.



Note that the RRP pricing needs to be previously imported and configured to a price level to be able to show. This RRP pricing is not coming from the retrieved invoice line data.



Functionality Affected: Customer Account Invoice content managed web page area

Impact: Normal



 



 





TOT-4076 - Only create a basket for guest users once they attempt to add a product to basket



When a guest user first visits a content managed website an empty basket will no longer be initially created for the user.

This may slightly improve response times for the initial page request, as well as reduce the amount of empty baskets that link in the project.

When an attempt is made to add a product to basket a basket will be created for the user if no basket previously existed.



Functionality Affected: User Login process, Add Product To Basket process

Impact: Normal



 





TOT-4077 - Add Apple's crawler, Common Crawler, Huawei's and Amazon's crawlers to the list of known crawlers within the Project Traffic Statistics Administration Centre



For website traffic making webpage requests for a project, there is now the ability to detect when Apple's crawler is making a request, as well as Common Crawler, Huawei and Amazon, based on the user-agent in request containing the word "applebot", "ccbot", "amazonbot" or "petalbot".

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 it can now show requests that are made by the Apple crawler, with the crawler's name "Apple" appear in the colour of grey, as well as the "Common Crawler" in the colour of darker yellow, , and "Huawei" in the colour of darker red, and "Amazon" in a yellow colour. Note these Apple, Common Crawler, Huawei and Amazon requests will only be identified by future requests made, for previous requests they will continue to be identified as the generic "Other Crawlers" label.

Note that Apple and Amazon's crawlers have been added to TOTECS default allowed crawler list, since both companies have a large market share in online searching.



Functionality Affected: web page/area requests, Project Traffic Statistics administration centre interface

Impact: Normal



 





TOT-4080 - HTML escape Searchword format hook value within the Product Search Results Listing content managed web page area



On a content managed web page area that displays a Product Search Result Listing area, within the area's Product Search Header format, for the "searchword" format hook, its value is now HTML escaped to avoid URL code injection attacks to be allowed to occur.

This would only occur if a user had entered html code within a the Product Search Form area, and it called for the Product Search Results Listing to show the search text entered within the Product Search Header format.



Functionality Affected: Product Search Result Listing content managed web page area

Impact: Normal



 





TOT-4081 - Setting to optionally logout users from a content managed website if their originating public IP address, or browser user agent changes mid session



If a logged in user accesses a content managed website, then there is the ability to log out users out of their session if their session is transferred to another computer, or alternatively web browser when being logged in. This can avoid users being able to share and use sessions across different internet connections, computers or applications, reducing multiple people using the same session.

Within the Administration Centre, under the Website Settings interface, a setting labelled "Logout User Website Session When Shared" has been added. The setting has the following options:




  • No: The user's session won't be logged out if the user's session is being used on a different internet connection or web browser/computer.

  • Yes - When IP Address Changes: If the originating internet IP address of the user session changes then the user's session will be logged out. Note this will affect users who use alternating internet connections, which may be set up in large organisations, or for home internet connections with routers containing unreliable internet connections, that either regularly swap between fixed internet connections and mobile connections, or else continually need to reconnect to the internet with a different IP address.

  • Yes - When Web Browser User Agent Changes: If the web browser identified in the user session changes then the user's session will be logged out. This could occur if the user opens up the session on a different web browser, or computer using not exactly the same browser and operating system version/configuration.



The Yes - When Web Browser User Agent Changes may be a safer option if wanting to put these additional security mechanisms in place.



Functionality Affected: content managed web pages, Website Settings administration centre interface

Impact: Normal



 



 





TOT-4087 - Set Price Tax Format field within the Create New User Administration Centre interface



Within the Admin Centre, after opening the Users menu, within the Create New User interface, the Price Tax Format field displays, allowing the administrator user to set if the user sees product pricing inclusive or excluding tax by default after the user has been created.



Functionality Affected: Create New User administration centre interface

Impact: Minor



 





TOT-4091 - Administration Centre interfaces to load over secure https connection



Within all the Administration Centre's all of the interfaces from within the Administration Centre menus now except for the Websites interface load over a https connection, ensuring data within the interfaces is only accessible between the end client browser and the TOTECS servers.

The Websites interface will be look to be secured in a future release.



Functionality Affected: Administration Centre interfaces

Impact: Normal



 





TOT-4094 - Optimise the speed and efficiency of the connector pricing data imports



Within the Administration Centre, under the Data menu, within the Data Imports interface, under the Connector tab, when the Product Price Level Pricing, Product Price Level Quantity Pricing and Product Account Pricing data imports are run either from within the interface or from the Connector, the speed and efficiency of the data imports has been improved. These changes can reduce the amount of pricing records that need to be deleted, updated or created in a project's database, as well as avoid existing records having their IDs changed, avoiding upper limits on IDs being reached which causes pricing records to not import.

The pricing data imports will now obtain all existing pricing records and then check against the importing pricing records. For existing price records they will only be updated in the back end database if the record's data has changed, otherwise no changes are needed to be made. This may heavily reduce the amount of pricing records that need to be altered, speeding up the imports when little pricing data has changed between imports. If lots of pricing data has changed since the previous import then the efficiencies may be less, as well as when incremental imports are performed with little pricing changes, but a large amount of pricing records already exist.



Functionality Affected: Product Price Level Pricing, Product Price Level Quantity Pricing and Product Account Pricing Connector data imports

Impact: Major



 





Bug Fixes





TOT-3176 - All settings changed within all Administration Centre settings interfaces revert back to the old setting if the user navigates between tabs



Within the Admnistration Centre, within any of the settings interfaces accessible from the Inventory, Users, Marketing, Stores, Websites, Statistics, or Data menus, if a user has changed a value of a setting, clicked the save button, then clicked on a different tab in the interface, the settings page will now reload allowing the latest settings to be loaded across all the tabs.

Previously the settings tab would incorrectly display the old values when navigated back to after saving.



Functionality Affected: Settings administration centre interfaces

Impact: Minor



 





TOT-4074 - Customer Account Contracts Connector data import failing to complete when assigning a product to an existing contract that has a contract code starting with whitespace



Within the Administration Centre, under the Data menu, within the Data Imports interface, under the Connector tab, when a Customer Account Contracts Connector data import ran, an error would occur when the import is trying to assign a product to contract and had white space infront of the contract code.

With changes made to the Customer Account Contracts Connector data import trimming spaces from the contract code, when the products were being assigned to the contract, the contract product records were not correctly being able to match to the contract code containing the space, and the database was incorrectly trying to create new contract product records.

Contract codes have all surrounding whitespace removed to avoid this issue happening in the future. Additionally if errors occur while records are being imported, the error message will now indicate which record number was being processed when the error occurred. This may make it easier to determine which record is causing the problem.



Functionality Affected: Customer Account Contracts Connector data import

Impact: Normal



 





TOT-4083 - Payments unable to load within Payments Admin Centre interface if a payment record contains a tab character within its Notes field



Within the Administration Centre, under the Stores menu, within the Payments interface, the list of payments may have been failing to load within the Payments table, if one or more payments contained tab characters within its Notes field.

Now the list of payments loaded into its table now correctly handles payments that contains tab characters within its Notes field.



Functionality Affected: Payment administration centre interface

Impact: Normal



 





TOT-4086 - Security Answer not being correctly set by the Users Text File data import



Within the Administration Centre, upon clicking on the Data menu button, then clicking on the Data Imports menu item link, within the Data Imports interface, if the user uploaded a spreadsheet CSV file against the Users data import, if the CSV file had the "Password Answer" column set to the security answer for the user and the file successfully imported. Then when the user tries to enter the same password within the Forgot Password area on a content managed website, the area would return an error message indicating that the answer is not correct.

Now if the user uploads a spreadsheet CSV file against the Users data import and the CSV file had the "Password Answer" column set to the security answer for the user, then when the file successfully imports the Security Answer will now correctly be set to allow users with the same answer to progress through the Forgot Password feature. This bug was introduced when additional security measures were introduced on how the security answer was stored.



Functionality Affected: Users text file data import

Impact: Normal