TOT-4018 - Allow users to control positioning and quantity of shopping list products within the Shopping List Detail tab of the My Items Trade interface page and Shopping List Products content managed web page area
On a content managed web page containing a Shopping List Products area, as well as within the trade interface's Shopping List Detail tab of the My Items page, there is now the ability for users to modify the ordering of products within a shopping list if the user has permission to modify a shopping list, as well as update the quantity set against each product within the shopping list.
Within the Trade interface, after clicking on My Items, within the My Items page, under the My Shopping Lists tab, upon clicking on the name of a shopping list, within the shopping lists details tab. An additional table column has been added labelled "Position". For each product row, if the user has permission to modify the shopping list, then in the Position column a drop down displays that allows the user to change the position of the product within the list. Upon selecting a new position value the table will reload to show the updated positions of the products within the shopping list. When a product is added to an existing shopping list it's position will be set so that it appears at the end of the shopping list. For the Quantity In List column, users are now able to select a quantity in the column, change its value and click on the Enter key to update the quantity. The list will reload showing the updated quantity.
On a content managed page showing a Shopping List Products area, for the area's Shopping List Product Record format the following hooks have been added:
shoppinglist_product_ordering_pos: Numeric ordering position of the product within the shopping list.
shoppinglist_product_update_quantity_onclick: Javascript function that calls for quantity of the product in the shopping list to be changed, based on the value set in the Update Quantity textbox.
shoppinglist_product_update_quantity_input_id: ID of the Update Quantity textbox that allows the quantity of the product in the shopping list to be changed. Set within the ID attribute of a textbox to allow it to be the Update Quantity textbox
shoppinglist_product_ordering_options: A list of select options containing the ordering positions that a product in the shopping list can be changed to. Is empty if user is not allowed to update product position.
shoppinglist_product_ordering_onchange: Javascript function that calls for the ordering position of a product in the shopping list to be changed. Set this within the onchange attribute of a select element containing the ordering options.
shoppinglist_product_allow_reorder: Shows either Y or N. If Y then the user is allowed to reorder the products within the shopping list
WIthin the Administration Centre, under the User menu, within the User Permissions interface, upon editing a Facility Role, if the "My Shopping Lists" permission is set to Allow then the user will be allowed to modify the positioning of the shopping list.
Functionality Affected: Shopping List Products content managed web page area, My Items trade interface page
Impact: Normal
TOT-4026 - Improve processing efficiency of Make Models Connector data import
Within the Administration Centre, under the Data menu, within the Data Imports interface, in the Connector Imports tab, when running a Maker Models data import, the data import has had a number of improvements made to allow it to significantly reduce the amount of time it takes to process model records sent from the Connector.
The data import now updates model and model attribute values records in batches,reducing the amount of time to create and update database queries in the back end. The data import also no longer deactivates all model records in the pre data import phase, reducing the amount of time before records can start being processed.
It also stores in memory existing model data that enables much faster checks when processing each record, and only changes records within the back end if they need to be changed.
All these things combined allow the Make Model Connector data import to run 5 to 1000 times faster, depending on the amount of model data was previously imported, or needs to be deactivated.
Functionality Affected: Maker Models Connector data import
Impact: Normal
TOT-4029 - Display Basket Product Fields for child combination products within the Product Detail content managed web page area
On a content managed web page that contains a Product Detail area, if a parent combination product is loaded within the area and the Basket Product Fields feature is turned on, then there is now the ability to show the basket product fields once a child product has been selected, as well as if a default child product is initially loaded within the area.
Within the area's Product Detail format an additional hook has been added labelled "basket_product_field_table_placeholder" that contains a placeholder div that allows the basket product fields table to be loaded into the div, when the Basket Product Fields feature is turned on, and either the product loaded into the area is assigned to a basket product field profile that contains fields, as well as when a child combination product is selected to display within the area.
If none of these conditions are met then the placeholder hook will display an empty div.
Functionality Affected: Product Detail content managed web page area
Impact: Normal
TOT-4031 - Setting control the category tree that related category products display within in the Related Products Listing content managed web page area
On a content managed web page displaying a Related Products Listing content managed web page area, if the area's "Displays Products Based On" setting is set to "Category Products", then the area has another setting within its Area Settings dialog labelled "Limit Category Products To Tree" that allows the administrator user to choose a category tree to restrict the related products belonging to the same category in the tree selected.
By default this setting will be set to "Any Category Tree" to allow related products assigned to any category to display in the area.
Functionality Affected: Related Products Listing content managed web page area
Impact: Normal
TOT-4034 - Data fields to order product combination fields, field values, and assigned child combination products
Within the Administration Centre, from the Data menu, within the Data Imports interface, when a Product Combinations data import is ran, the data import is able to set the ordering of combination profile fields, profile field values, as well as ordering for each child product assigned to each parent combination product. For combination profile fields the ordering value is set based on the value set in the combination profile field's ordering field. For the combination profile field values, the ordering data field is set based on the order in which values are assigned to each combination profile field in the data obtained from the Connector. For the child combination products ordering, this value is set based on the order that child products are assigned to parent products within the data obtained from the Connector.
Within the Administration Centre's Product Combinations interface it is now able to show the ordering field set for each combination profile field, and combination profile field value. For combination profile field's the ordering value can be updated within the Administration Centre interface. For the combination field values the ordering will need to be controlled from the Connector software.
Within the Product Editor, under the Combinations tab, it now shows an ordering column for each child product assigned to the parent product. This allows administrator users to be sure that the correct ordering is being set from within the Connector software.
On a content managed web page that contains a Product Detail or Product Combination area, the areas will now order the combination field drop downs based on its ordering data, as well as sort the field values in the drop downs based on the combination field value ordering data. Within the Product Combination area, when displayed as a radio list it now will list the child products based on the ordering data set for each child product assigned to the parent product.For each of the different combination data, the fields, values and child products will be sorted from lowest ordering value to highest.
Note that this solution relies mostly on using the Connector software to determine the correct way combination field values should be ordered, as well as child products assigned to parent combination products. It is recommended to use Data Sets, and configure a Order By clause for the combination data exports from the Data Set SQLite database to get the correct ordering required field the combination field values, and child products.
Functionality Affected: Product Combinations Connector data import, Product Editor admin centre interface, Product Combinations admin centre interface, Product Details content managed web page area
Impact: Normal
TOT-4035 - Freight Tracking Code format hooks within Customer Account Invoice and Sales Order content managed web page areas
On a content managed web page displaying Customer Account Invoice Listing, Customer Account Invoice, Customer Account Sales Order Listing or Customer Account Sales Order areas, for each invoice or sales order record displayed, its record area formats new hooks have been addedthat allow freight tracking code data to be displayed. This allows tracking codes to be embedded and viewed by users, allowing them to find where their ordered goods are currently at with the freight carrier performing the delivery.
These format hooks include in the Customer Account Invoice Record and Customer Account Invoice area formats:
invoice_freight_carrier_consign_code - Name of the freight carrier consignment note set in the invoice.
invoice_freight_carrier_service_code - Code of the freight carrier service organising the carrier to deliver the goods in the invoice.
invoice_freight_carrier_tracking_code - Tracking code used to track the delivery by the carrier of the goods in the invoice.
invoice_freight_system_ref_code - Reference code in the system of the carrier service who is organising the carrier to deliver the goods in the invoice.
invoice_freight_carrier_tracking_code_set - Displays either Y or N. Set to Y when the freight carrier tracking code has a value set in the invoice.
These format hooks include in the Customer Account Sales Order Record and Customer Account Sales Order area formats:
order_sale_freight_carrier_consign_code - Name of the freight carrier consignment note set in the sales order.
order_sale_freight_carrier_service_code - Code of the freight carrier service organising the carrier to deliver the goods in the sales order.
order_sale_freight_carrier_tracking_code - Tracking code used to track the delivery by the carrier of the goods in the sales order.
order_sale_freight_system_ref_code - Reference code in the system of the carrier service who is organising the carrier to deliver the goods in the sales order.
order_sale_freight_carrier_tracking_code_set - Displays either Y or N. Set to Y when the freight carrier tracking code has a value set in the sales order.
Functionality Affected: Customer Account Invoice Listing, Customer Account Invoice, Customer Account Sales Order Listing, Customer Account Sales Order areascontent managed web page areas
Impact: Normal
TOT-4038 - Set ordering value from square brackets in uploaded file name in Product Image Upload Administration Centre interfaces and data imports
Within the the Administration Centre, if a product image is uploaded from either the Inventory Editor interface, or the Product Images Import interface, or the Product Images Connector data import, and the uploaded file name contains square brackets with a containing numeric value, then when the image is being assigned to the product its ordering value will be set based on the number in-between the file name's square brackets.
This avoids administrator users needing to separately set the ordering value of product images within the Product Editor after the image upload has been completed from the other interfaces.
For the Product Images Connector data import it will only look at the ordering value within the image's file name if no ordering value has been explicitly given when the Connector uploads the image.
Functionality Affected: Product Image Upload
Impact: Normal
Bug Fixes
TOT-3982 - Unable to rename content managed website attachment library when the new library name contains the apostrophe character
Within the Administration Centre, under the Websites menu, within the Websites interface, under a content managed website that contained an attachment, upon clicking on the attachment library and view its contents. If the attachment library was attempted to be renamed to a library containing an apostrophe character an error message would appear and files could no longer be uploaded to the library.
Now ff the attachment library is attempted to be renamed to a library containing an apostrophe character, an error message will now display advising that the library cannot be renamed, displaying the error message: "The name of library is not allowed. The name can only contain letters, numbers, spaces, dashes and underscores."
Functionality Affected: Websites Administration Centre interface
Impact: Normal
TOT-3987 - Unable to save Upload and Delete Shared Shopping List Attachments Facility Role permission within the User Permissions administration centre interface
After logging into the Administration Centre, under the Users menu, within the User Permissions interface, upon selecting a facility role and clicking the edit button, the Upload and Delete Shared Shopping List Attachments facility role permission radio buttons are deselected. Upon selecting either the Allow or Deny radio buttons and clicking the save button, upon reloading User Permissions interface and viewing the facility role permissions again, the Upload and Delete Shared Shopping List Attachments permission was once again incorrectly deselected.
Now upon selecting a facility role and clicking the edit button, for the Upload and Delete Shared Shopping List Attachments facility role permission after selecting either the Allow or Deny radio buttons and clicking the save button the permission's value is correctly saved, and shows when the interface is reloaded again.
Functionality Affected: User Permissions Administration Centre interface
Impact: Normal
TOT-4023 - Customer Accounts Connector data import failing often during pre-import due to database transaction locks
Within the Administration Centre, under the Data menu, within the Data Imports interface, under the Connector Imports tab, after selecting the Customer Accounts data import and clicking on the Start Imports button, the import may have failed during pre data import process with the error "Data Import aborted with error: Deadlock found when trying to get lock; try restarting transaction" . This may have occurred when running the data import several times in a row, before the import successfully completed agaub. This happened when many existing customer accounts appear within the project.
Now after selecting the Customer Accounts data import and clicking on the Start Imports button, the import has been modified to more efficiently run and change customer account data within the database. It does this is a couple of ways, customer accounts and its dependent payment type and location linked records are no longer updated at the pre-import stage. Instead all customer accounts, payment type and location linkages are stored in memory in the pre-import stage. Then when the customer records are processed only customer accounts that were not updated in the import will be deactivated in the post import stage, Additionally the import contains further optimisations, leading to faster record changes.
The consequence of these changes is that if lots of customer account data becomes deactivated then it may take more time for the import to complete, which may lead to lock issues. However the chances of this occurring should be reduced in the majority of cases.
Functionality Affected: Customer Account Connector data import
Impact: Normal
TOT-4037 - Basket Product Listing content managed web page area displaying incorrect stock quantity and level for kitted products that use component products to calculate stock quantity
On a content managed web page displaying a Basket Product Listing area. If a product had been added to basket that was set as a kitted product, and is set to calculate its stock quantity and level based on the component products assigned to the kitted product, then within the area's _B_Stock and _B_StockLevel hooks they were displaying the incorrect stock quantity and stock level based on the values directly assigned against the kitted product. These format hooks should display stock values based on lowest available stock of a component product assigned to each kitted product.
Now if a product has been added to basket that is set as a kitted product, and is set to calculate its stock quantity and level based on the component products assigned to the kitted product, then within the area's _B_Stock and _B_StockLevel hooks they are now correctly displaying the stock quantity and stock level based on the lowest available stock of a component product assigned to each kitted product. Previously the stock hooks were only looking at the stock quantity directly set against the kitted product.
Functionality Affected: Basket Product Listing content managed web page area
5th November 2020
Improvements
TOT-4018 - Allow users to control positioning and quantity of shopping list products within the Shopping List Detail tab of the My Items Trade interface page and Shopping List Products content managed web page area
On a content managed web page containing a Shopping List Products area, as well as within the trade interface's Shopping List Detail tab of the My Items page, there is now the ability for users to modify the ordering of products within a shopping list if the user has permission to modify a shopping list, as well as update the quantity set against each product within the shopping list.
Within the Trade interface, after clicking on My Items, within the My Items page, under the My Shopping Lists tab, upon clicking on the name of a shopping list, within the shopping lists details tab. An additional table column has been added labelled "Position". For each product row, if the user has permission to modify the shopping list, then in the Position column a drop down displays that allows the user to change the position of the product within the list. Upon selecting a new position value the table will reload to show the updated positions of the products within the shopping list. When a product is added to an existing shopping list it's position will be set so that it appears at the end of the shopping list. For the Quantity In List column, users are now able to select a quantity in the column, change its value and click on the Enter key to update the quantity. The list will reload showing the updated quantity.
On a content managed page showing a Shopping List Products area, for the area's Shopping List Product Record format the following hooks have been added:
WIthin the Administration Centre, under the User menu, within the User Permissions interface, upon editing a Facility Role, if the "My Shopping Lists" permission is set to Allow then the user will be allowed to modify the positioning of the shopping list.
Functionality Affected: Shopping List Products content managed web page area, My Items trade interface page
Impact: Normal
TOT-4026 - Improve processing efficiency of Make Models Connector data import
Within the Administration Centre, under the Data menu, within the Data Imports interface, in the Connector Imports tab, when running a Maker Models data import, the data import has had a number of improvements made to allow it to significantly reduce the amount of time it takes to process model records sent from the Connector.
The data import now updates model and model attribute values records in batches,reducing the amount of time to create and update database queries in the back end. The data import also no longer deactivates all model records in the pre data import phase, reducing the amount of time before records can start being processed.
It also stores in memory existing model data that enables much faster checks when processing each record, and only changes records within the back end if they need to be changed.
All these things combined allow the Make Model Connector data import to run 5 to 1000 times faster, depending on the amount of model data was previously imported, or needs to be deactivated.
Functionality Affected: Maker Models Connector data import
Impact: Normal
TOT-4029 - Display Basket Product Fields for child combination products within the Product Detail content managed web page area
On a content managed web page that contains a Product Detail area, if a parent combination product is loaded within the area and the Basket Product Fields feature is turned on, then there is now the ability to show the basket product fields once a child product has been selected, as well as if a default child product is initially loaded within the area.
Within the area's Product Detail format an additional hook has been added labelled "basket_product_field_table_placeholder" that contains a placeholder div that allows the basket product fields table to be loaded into the div, when the Basket Product Fields feature is turned on, and either the product loaded into the area is assigned to a basket product field profile that contains fields, as well as when a child combination product is selected to display within the area.
If none of these conditions are met then the placeholder hook will display an empty div.
Functionality Affected: Product Detail content managed web page area
Impact: Normal
TOT-4031 - Setting control the category tree that related category products display within in the Related Products Listing content managed web page area
On a content managed web page displaying a Related Products Listing content managed web page area, if the area's "Displays Products Based On" setting is set to "Category Products", then the area has another setting within its Area Settings dialog labelled "Limit Category Products To Tree" that allows the administrator user to choose a category tree to restrict the related products belonging to the same category in the tree selected.
By default this setting will be set to "Any Category Tree" to allow related products assigned to any category to display in the area.
Functionality Affected: Related Products Listing content managed web page area
Impact: Normal
TOT-4034 - Data fields to order product combination fields, field values, and assigned child combination products
Within the Administration Centre, from the Data menu, within the Data Imports interface, when a Product Combinations data import is ran, the data import is able to set the ordering of combination profile fields, profile field values, as well as ordering for each child product assigned to each parent combination product. For combination profile fields the ordering value is set based on the value set in the combination profile field's ordering field. For the combination profile field values, the ordering data field is set based on the order in which values are assigned to each combination profile field in the data obtained from the Connector. For the child combination products ordering, this value is set based on the order that child products are assigned to parent products within the data obtained from the Connector.
Within the Administration Centre's Product Combinations interface it is now able to show the ordering field set for each combination profile field, and combination profile field value. For combination profile field's the ordering value can be updated within the Administration Centre interface. For the combination field values the ordering will need to be controlled from the Connector software.
Within the Product Editor, under the Combinations tab, it now shows an ordering column for each child product assigned to the parent product. This allows administrator users to be sure that the correct ordering is being set from within the Connector software.
On a content managed web page that contains a Product Detail or Product Combination area, the areas will now order the combination field drop downs based on its ordering data, as well as sort the field values in the drop downs based on the combination field value ordering data. Within the Product Combination area, when displayed as a radio list it now will list the child products based on the ordering data set for each child product assigned to the parent product.For each of the different combination data, the fields, values and child products will be sorted from lowest ordering value to highest.
Note that this solution relies mostly on using the Connector software to determine the correct way combination field values should be ordered, as well as child products assigned to parent combination products. It is recommended to use Data Sets, and configure a Order By clause for the combination data exports from the Data Set SQLite database to get the correct ordering required field the combination field values, and child products.
Functionality Affected: Product Combinations Connector data import, Product Editor admin centre interface, Product Combinations admin centre interface, Product Details content managed web page area
Impact: Normal
TOT-4035 - Freight Tracking Code format hooks within Customer Account Invoice and Sales Order content managed web page areas
On a content managed web page displaying Customer Account Invoice Listing, Customer Account Invoice, Customer Account Sales Order Listing or Customer Account Sales Order areas, for each invoice or sales order record displayed, its record area formats new hooks have been addedthat allow freight tracking code data to be displayed. This allows tracking codes to be embedded and viewed by users, allowing them to find where their ordered goods are currently at with the freight carrier performing the delivery.
These format hooks include in the Customer Account Invoice Record and Customer Account Invoice area formats:
These format hooks include in the Customer Account Sales Order Record and Customer Account Sales Order area formats:
Functionality Affected: Customer Account Invoice Listing, Customer Account Invoice, Customer Account Sales Order Listing, Customer Account Sales Order areascontent managed web page areas
Impact: Normal
TOT-4038 - Set ordering value from square brackets in uploaded file name in Product Image Upload Administration Centre interfaces and data imports
Within the the Administration Centre, if a product image is uploaded from either the Inventory Editor interface, or the Product Images Import interface, or the Product Images Connector data import, and the uploaded file name contains square brackets with a containing numeric value, then when the image is being assigned to the product its ordering value will be set based on the number in-between the file name's square brackets.
This avoids administrator users needing to separately set the ordering value of product images within the Product Editor after the image upload has been completed from the other interfaces.
For the Product Images Connector data import it will only look at the ordering value within the image's file name if no ordering value has been explicitly given when the Connector uploads the image.
Functionality Affected: Product Image Upload
Impact: Normal
Bug Fixes
TOT-3982 - Unable to rename content managed website attachment library when the new library name contains the apostrophe character
Within the Administration Centre, under the Websites menu, within the Websites interface, under a content managed website that contained an attachment, upon clicking on the attachment library and view its contents. If the attachment library was attempted to be renamed to a library containing an apostrophe character an error message would appear and files could no longer be uploaded to the library.
Now ff the attachment library is attempted to be renamed to a library containing an apostrophe character, an error message will now display advising that the library cannot be renamed, displaying the error message: "The name of library is not allowed. The name can only contain letters, numbers, spaces, dashes and underscores."
Functionality Affected: Websites Administration Centre interface
Impact: Normal
TOT-3987 - Unable to save Upload and Delete Shared Shopping List Attachments Facility Role permission within the User Permissions administration centre interface
After logging into the Administration Centre, under the Users menu, within the User Permissions interface, upon selecting a facility role and clicking the edit button, the Upload and Delete Shared Shopping List Attachments facility role permission radio buttons are deselected. Upon selecting either the Allow or Deny radio buttons and clicking the save button, upon reloading User Permissions interface and viewing the facility role permissions again, the Upload and Delete Shared Shopping List Attachments permission was once again incorrectly deselected.
Now upon selecting a facility role and clicking the edit button, for the Upload and Delete Shared Shopping List Attachments facility role permission after selecting either the Allow or Deny radio buttons and clicking the save button the permission's value is correctly saved, and shows when the interface is reloaded again.
Functionality Affected: User Permissions Administration Centre interface
Impact: Normal
TOT-4023 - Customer Accounts Connector data import failing often during pre-import due to database transaction locks
Within the Administration Centre, under the Data menu, within the Data Imports interface, under the Connector Imports tab, after selecting the Customer Accounts data import and clicking on the Start Imports button, the import may have failed during pre data import process with the error "Data Import aborted with error: Deadlock found when trying to get lock; try restarting transaction" . This may have occurred when running the data import several times in a row, before the import successfully completed agaub. This happened when many existing customer accounts appear within the project.
Now after selecting the Customer Accounts data import and clicking on the Start Imports button, the import has been modified to more efficiently run and change customer account data within the database. It does this is a couple of ways, customer accounts and its dependent payment type and location linked records are no longer updated at the pre-import stage. Instead all customer accounts, payment type and location linkages are stored in memory in the pre-import stage. Then when the customer records are processed only customer accounts that were not updated in the import will be deactivated in the post import stage, Additionally the import contains further optimisations, leading to faster record changes.
The consequence of these changes is that if lots of customer account data becomes deactivated then it may take more time for the import to complete, which may lead to lock issues. However the chances of this occurring should be reduced in the majority of cases.
Functionality Affected: Customer Account Connector data import
Impact: Normal
TOT-4037 - Basket Product Listing content managed web page area displaying incorrect stock quantity and level for kitted products that use component products to calculate stock quantity
On a content managed web page displaying a Basket Product Listing area. If a product had been added to basket that was set as a kitted product, and is set to calculate its stock quantity and level based on the component products assigned to the kitted product, then within the area's _B_Stock and _B_StockLevel hooks they were displaying the incorrect stock quantity and stock level based on the values directly assigned against the kitted product. These format hooks should display stock values based on lowest available stock of a component product assigned to each kitted product.
Now if a product has been added to basket that is set as a kitted product, and is set to calculate its stock quantity and level based on the component products assigned to the kitted product, then within the area's _B_Stock and _B_StockLevel hooks they are now correctly displaying the stock quantity and stock level based on the lowest available stock of a component product assigned to each kitted product. Previously the stock hooks were only looking at the stock quantity directly set against the kitted product.
Functionality Affected: Basket Product Listing content managed web page area
Impact: Normal