The category tree in Tweakwise App > Catalog > Categories has been extended with a products count, so it is quickly visible how many products are directly connected to that specific category. When viewing a category in detail by clicking on it, there is now a new products widget that contains all the directly connected products. This widget is infinite scroll, so all the connected products are viewable there.

Important to note is that when viewing the specific category in Tweakwise Demoshop, you might see more products, as that also shows the children category products. In the App however we only show the directly connected products for providing a better insight in those.

Other improvements

  • Tweakwise App | When a category is set as inactive, the underlying categories are also not visible/active. This behavior was not clearly reflected in Tweakwise App > Catalog > Categories. Now if a parent category is marked as inactive, the children will be display in red and italic font as well. When viewing this category in detail, the Category status checkbox is set as inactive and disabled (so you can not change it). There is also a corresponding message beneath it explaining that the parent is inactive.
  • Tweakwise App | In Tweakwise App > Search > Search algorithms we have made the attributes on some algorithms clickable, linking them to their corresponding settings in other modules.
  • Tweakwise App | In Tweakwise App > Merchandising > Templates you can now easily access the corresponding Merchandising Rule by clicking on its name.
  • Tweakwise App | In Tweakwise App > Search > Banners we've changed the translations of link-target settings (click type). We explain in more understandable words that _blank does mean 'open link in new window' and that _self does mean 'open link in same window'.
  • Tweakwise App | Publish tasks resulted in errors in case Category Match was enabled as a Search algorithm, while there were one or more categories available with more than 100 characters in length. This limit has changed to 500 chars in length, which should be suitable to all needs.
  • Tweakwise App | The threshold for Google Analytics 4 report days has been increased from 100 to 365 days.
  • Tweakwise App | In Tweakwise App > Search > Filler mutations we added a second tab 'Stoplist' which contains data of how the stoplist is used within your instance. You get a detailed overview on which stopwords (fillers) are in used per attribute.
  • Tweakwise App | We have freshened-up the way data tables look in the legacy part of our App to make the design more unified.
  • Tweakwise App | A warning disclaimer for in filter search (in Filter templates) saying it is not available in Magento was obsolete and therefore removed, as we do support this feature in Magento now as well.
  • Tweakwise App | Buttons in App that lead to support articles (Search algorithm module) now link to the correct target language depended on what you have set up in Tweakwise App.
  • Tweakwise App | Added SKU column to the attribute download file in Tweakwise App > Catalog > Attributes. It's sorted by attribute value data type. If SKU is not present or properly assigned, this column will be skipped in the file.

We've added a new API endpoint to retrieve some instance statistics via our Backend API (which requires authentication). This feature allows you to track progress and/or quality of your instance by monitoring certain statistics, as shown on Tweakwise App > Dashboard as well. The following endpoint was added to our API:

🚧

Please take notice of the fact that all requests you're doing at the API endpoints, do count for billing as well.

We've made some improvements to ensure compatibility with the latest versions of Magento (2.4.7) and PHP (8.3) across all of our modules. One notable fix addresses an issue some customers encountered while trying to install the latest version of the Attribute Landing Tweakwise module. Previously, due to a version number error, the updated version was released but not made available. This has been rectified, and the correct version is now both released and published.

  • Magento2Tweakwise v6.0.1 | Fixed an issue where filters in the Attribute Landing Page (ALP) module were not selectable when accessed from a backend with a different URL.
  • Magento2Tweakwise v6.0.1 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2Tweakwise Export v7.0.1 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2AttributeLandingTweakwise 4.3.4 | Fixed a bug where the Tweakwise filter template was not saving correctly.
  • Magento2AttributeLandingTweakwise 4.3.4 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2AttributeLanding 5.0.1 | Added support for PHP 8.3 and Magento 2.4.7.
  • Magento2TweakwiseHyva 2.4.1 | Added support for PHP 8.3 and Magento 2.4.7.

These updates ensure smoother compatibility with the latest versions of Magento and PHP while addressing specific issues encountered by some customers.

The information which is shared in the table with diagnostic data of a task has been expanded with some extra insights. From now on it is possible to derive information on why a specific task was triggered (and by whom). There can be four different reasons why a specific task was executed:

  1. External: The task is triggered via API url
  2. Manual: The task is triggered in App with the 'start now' button (we do show which person triggered the task)
  3. Auto: The task is triggered during the specified times in 'trigger' tab
  4. Chain: The task is triggered as a successor of a previous task

The task statistics can be consulted at Tweakwise App > Statistics & Reports > Tasks

Other improvements

  • Tweakwise App | In Tweakwise App > Search > Search algorithms a direct link/button to the relevant support-article was added, so the information on how to use and configure this algorithm is easy accessible
  • Tweakwise App | Fixed an annoying language bug that basically affected everyone! Tweakwise App should no longer fallback to English and just remember the language that is configured on a per user basis.
  • Tweakwise App | Somehow the searchbars at Tweakwise App > Recommendations were broken, which should be fixed by now.

Tweakwise contains a stoplist for 9 different languages. These words are filtered out of the index because they generally aren’t relevant to the search requests. A stop word is a word with no linguistic meaning, like ‘the’, ‘a’ and ‘an’.

🚧

Please note! These are advanced settings. Changes can have a considerable effect on the search results of your website. Please read the documentation before removing stopword from the list.

By removing these words from the index, the search function will become faster and more effective. However, this behavior can result in issues when a certain words should be included in the search, for example when a stop word is part of a product name. With the specific word still being present in the list of stop words, the search results will be empty or incomplete (because the word is excluded from the index).

In order to alter some functionality of our search algorithms, it now is possible to make modifications to these so called stop lists by yourself. It is possible to both add or remove certain words from these lists, simply by specifying those in a separate App module.

Covered languages: Dutch, English, French, German, Italian, Portuguese, Norwegian, Spanish, Swedish.

The module to add or remove words from the stop words can be found at Tweakwise App > Search > Filler mutations

We finally added support for our Search in filters feature, which can be easily setup in Tweakwise App > Filtertemplates and now works out of the box in both Magento2Tweakwise plugin as Magento2TweakwiseHyva. This does mean that we offer native support for both Luma as Hyva themes, but in case of a custom theme the frontend implementation has to be implemented by yourself.

Click here to read our initial release note on this Search in filters feature.

Other improvements

  • Magento2Tweakwise 6.0.0 | Fixed an bug with wrong filterurls when Ajax was disabled. This bug prevented from two filters to be selected at the same time.
  • Magento2Tweakwise 6.0.0 | Refactored code. Breaking (see below).
  • Magento2TweakwiseExport 7.0.0 | Fixed a bug where SKUs were used instead of IDs, which slowed down the export if you used characters as SKUs. This resulted in an 84% increase in export speed for affected customers. Results may vary depending on the customer.
  • Magento2TweakwiseExport 7.0.0 | Refactored code. Breaking (see below).
  • Magento2AttributeLandingTweakwise 4.3.2 | Bug fix for incorrect URLs as filter links, pointing to Attribute Landing Pages (ALPs). Due to a bug, the domain name was included twice in the URL when linking to an ALP page. This release fixes that. Furthermore, code is refactored to follow coding standards. This module has no breaking changes.
  • Magento2AttributeLanding 5.0.0 | Refactored code. Breaking (see below).
  • Magento2TweakwiseHyva 2.4.0 | We fixed an issue that gave a notice when Searchbanners where activated in the Hyva theme, but there where no banners to show based on Tweakwise API response. This issue is not related to the introduction of the Search in filters feature (although this was introduced in this version).
  • Magento2TweakwiseHyva 2.4.0 | We fixed a bug where the search field template was always active, even when it shouldn't be.
📘

Coding standards (PHPCS and PHPMD rules

We've made improvements to the code to follow coding standards (PHPCS and PHPMD rules) in order to make our code easier to read and maintain. However, this caused some changes that might break things for some modules. If a module has breaking changes, we've updated its major version number. So, if you want to upgrade to the latest version, you'll need to do it explicitly. You won't upgrade to this version by mistake.

In order to be able to manipulate the HTML-response of the Suggestions JS (part of a Tweakwise Javascript implementation), a data-item-id was added to each of the product item suggestions. The id corresponds with the data-response of our API and can be used to inject or update some custom HTML.

The chart timeline in Tweakwise App will show a full representation of the datetime span, as configured on top of the module. Previously, the chart did show all task statistics but was just rendered at the beginning of the first task untill the ending of the last task. Now we show a full timespan.

The task statistics can be consulted at Tweakwise App > Statistics & Reports > Tasks

In Tweakwise App > Merchandising > Rules the preview page of the rule-type 'weighted formula' was updated with some extra data, in order to make it clear why products are sorted on their particular place.

On the opening of a weighted rule preview tab, initially it won't show the in depth information. For displaying, you need to check the 'Show score' checkmark on the right top of the table. The tabular data will then be expanded with extra information:

  • Extra row with the minimum and maximum values of every attribute, needed for calculation
  • On every product/article the outcome of the calculated value (score) is shown
  • On every product/article the relative percentage of the score is presented (which should add up to 100% on total for every row)
  • The final score of every product/article (which in the marks the order of the weighted rule) is shown in the column 'Order'. By clicking on ... the complete number is shown. The higher this score, the higher the product is shown based on this sorting rule.

Note: Good to know that empty values will be counted as with the attribute minimum value in ranking (shown in the top row). If so, the value is displayed in grey instead of 'empty', so it is clear which values are used for calculation.

For more information on how to setup the weighted rule formulas and the calculation which is used in the background, can be found in this article: https://support.tweakwise.com/en/cat/sorteeropties/36

Other improvements

  • Tweakwise App | We’ve fixed a bug that caused blacklisted suggestions to be applied incorrectly. Specifically patterns which were supposed to match a specific word acted like a wildcard. This caused search phrase suggestions to be blacklisted incorrectly because blacklisting a word like “sun” would also incorrectly blacklist “sunflower”, for example.
  • Tweakwise App | We fixed a product name visualization issue in Tweakwise App. Letters with diacritics were displayed in an encoded form that made it impossible to read them. The display issue has been resolved, and the characters appear correctly.
  • Tasks | A global timeout was added that will cancel a job if it has been running for longer than 12 hours. When a job runs for this long, something is definitely going wrong and we will kill the job execution. Note that this likely won't solve issues with GA4 jobs being stuck, we currently still encounter. That is probably caused by another issue that is not affected by the timeout.
  • Tasks | Feed imports could fail if products were deleted via the backend API while the feed import was running at the same time. This now shouldn't happen anymore.

Magento2Tweakwise v5.8.3 | Implemented prevention of duplicate attribute slug values. Previously, attribute values with variations in their representations, such as Black and Black", resulted in duplicate entries in the tweakwise_attribute_slug table. This duplication could disrupt filter functionality if the incorrect value was retrieved. This issue has been fixed by appending a unique identifier ("-") followed by a number to each slug, ensuring their uniqueness. Note that attributes with previously duplicated slug values will require re-saving to activate this fix.

  • Magento2Tweakwise v5.8.3 | Resolved a notice issue pertaining to missing variables when the shopping cart is empty. Previously, certain sections of the application would trigger notices due to uninitialised variables when the cart was empty. This symptoms occurred mainly in case cross-sell products were enabled on a cart page.
  • Magento2TweakwiseExport v6.0.2 | Implemented enhancements resulting in a significant 20% improvement in export speed for production sites, as observed with a limited dataset. Key improvements include:
    • Previously, the $this->log->debug function was called for every category or product, regardless of whether the site runs in production mode. This led to unnecessary overhead, as the function is slow and does not log actually anything when in production. The fix includes implementing a check for production mode before invoking the function, thereby reducing unnecessary processing.
    • In the getPriceValue function, price fields were fetched for each row, resulting in redundant data retrieval. To mitigate this inefficiency, the fix involves passing the already known price fields to the function, eliminating the need for fetching them repeatedly for each price. This optimization contributes to improved overall performance during data export operations.
  • Magento2TweakwiseExport v6.0.2 | With the removal of Class Zend_Http_Client from Magento 2.4.6, the triggerTweakwiseImport function didn't work any longer. To address this issue, we replaced the Zend client with the LaminasClient, ensuring the continued functionality of the affected feature.
  • Magento2Tweakwise Hyva v2.3.9 | Fixed a bug with category URL's being incorrect. If the category view is set to tree (in Tweakwise App), the category URLs in the Hyva theme were incorrect. When navigating through categories, the URLs contain the current category URL for other categories. When selecting the "Women" category, the URL for the "Men" category appears as https://shop.url/women/men, instead of https://shop.url/men.
  • Magento2AttributeLanding v4.1.4 | Fixed the inconsistency to ensure that categoryId is always treated as an integer.