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.
  • MagentoTweakwise 5.8.2 | Resolved an issue where the incorrect parent category was utilized while navigating a category tree that is three levels deep.
  • MagentoTweakwise 5.8.2 | Resolved an issue where the filter parameter remained in the URL after deactivating the filter.
  • MagentoTweakwise 5.8.2 | Resolved an issue where in case of the URL pathslug strategy enabled, selecting a filter on a category page would lead to an incorrect URL upon refreshing the page and selecting another filter.
  • MagentoTweakwise 5.8.2 | Bugfix implemented to address the duplication of category names in the default Magento renderer.
  • MagentoTweakwise 5.8.2 | Implemented query length limitation for search to prevent a 500 error. We also have implemented measures to prevent 500 errors in the search when Tweakwise is inaccessible or down.
  • MagentoTweakwise 5.8.2 | Implemented a preventive measure to avoid errors when no attribute values are present for ALP facet requests.
  • MagentoTweakwise 5.8.2 | Resolved the issue with personal merchandising and pagination not functioning correctly when utilizing the filter form.
  • MagentoTweakwiseExport 6.0.1 | Resolved an issue where not all stores were exported when no feed was available and needed to be generated.
  • MagentoTweakwiseExport 6.0.1 | Resolved an issue where in case of the URL pathslug strategy enabled, selecting a filter on a category page would lead to an incorrect URL upon refreshing the page and selecting another filter.
  • MagentoTweakwiseHyva 2.3.8 | In Hyva themes, featured products where not working on the category page as the products shown were not fetched from Tweakwise. The product slider didn't have code to show featured or new products at all.
  • MagentoAttributeLanding 4.1.3 | Updated code comments to prevent an error in the Magento Swagger API.
  • MagentoAttributeLanding 4.1.3 | Resolved an issue with ALP URL when utilizing the store code in the URL and having 'allow link in facet search' enabled on an ALP.
  • MagentoAttributeLanding 4.1.3 | Resolved an issue with missing ALP resources in the ACL.

Really minor but important for understanding, we have added the Redirects-algorithm on top of the 'Search algorithm' in Tweakwise App > Search > Search algorithms, as every search request always starts with checking on available redirects. We've decided to show it prominently on top, as there was some confusion and misunderstanding on how this settings could affect your search behavior. Redirects is a locked algorithm and therefore can not be switched to another position.

Next to that, we made the overall page of the Search algorithms simpler. We have added buttons to each algorithm linking them to their respective support articles, and we moved the 'Add algorithm' button to below the table to comply with new algorithms being added to the bottom of your funnel too.

Other improvements

  • Tweakwise App | In a hypothetical situation where your Tweakwise instance is still being created while accessing Tweakwise App, we now do show a neat error message that the instance is not ready for use yet (instead of throwing an unknown server 500 error).
  • Frontend API | There is a field showselectedfirst that was already available in the XML-response of our navigation endpoint, but was missing from the JSON version of that same response. This field can be used as an indicator which determines whether selected filters should be shown on top of a facet.
  • Tweakwise App | Tweakwise App now is completely available in German language. You can access Tweakwise in German by using the language switch button by clicking on your avatar in the top right of the screen first.
  • Tweakwise App | We've rebranded the Tweakwise Account login pages as we did with the Tweakwise Instance Select screen. We changed the display font throughout the app to have it more in line with our marketing.
  • Tweakwise App | We also simplified the Merchandising templates detail and creation page. The labels with rules and templates are now separated and at the bottom of the page instead of showed on top.
  • Tweakwise App | We fixed in-app tooltips that were annoyingly disappearing when you hovered on them. Also fixed a bug on redirecting when initializing a new JS Instance from within Tweakwise App.
  • Backend API | We've added status to the BackendApi get instance call. If an instance is not yet ready for use, it will have the status New. Other possible states are Active and Inactive.
  • Suggestions JS | A bug was fixed in our Suggestions JS solution, where when looking for redirects for a specific search term, the current category was not taken into consideration. This is now fixed.