Testing the SW6 Integration
Review the following aspects on the e-shop in order to confirm and validate that the default features have been successfully integrated on the Shopware 6 platform.
The Boxalino API inspect mode with _bx_inspect_key
The key will allow to review the API request and the API response.
It has been included in order to quickly identify the integration stage without bothering the IT team.
Go to the e-shop
Append
?_bx_inspect_key=<apiKey>
to the URL
We recommend to have cache disabled on the pages/flows where it is expected Boxalino content.
For the projects in which this is not possible, the use _bx_inspect_key
must be done on a page that is uncached. To achieve this, simply add a random value in the URL. For example: <e-shop>?_bx_inspect_key=<apiKey>&_cachekey=<any-content>
3. Click Enter to load the new URL.
4. If the view stayed the same - there is no API request on the page
In the case that there is API request on the page and no content loaded - contact the IT team.
In the case that there is no API request on the page and it should be - contact the IT team.
Tracking
Please review the documentation from https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/295141377 in order to confirm that all tracking HTML tags & events are properly integrated.
The following events are tracked:
Any page view
Search requests
Category view
A product is added to basket
Scrolling on the page (due to the HTML tags) https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/295141377/JS+Tracker+Check-List#Check-the-scrollImpression-tracking%3A
Click on items/elements on the page (due to HTML tags) https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/295141377/JS+Tracker+Check-List#Check-the-click-tracking%3A
A order is made
A customer logs in
When tracking bav2.min.js is not loaded
This can happen when:
The tracking is disabled from your Shopware 6 configuration (Read more about Configurations https://github.com/boxalino/rtux-shopware/wiki/Configurations )
The analytics template is ignored ( make sure the plugins are enabled & active, clear cache on dev templates). The integration team is able to inspect directly on the project.
Autocomplete (JavaScript Client-Side)
As a default, the autocomplete/quick search integration is done client-side via a JS update. This means, as a user, it can be inspected directly in the browser
Navigate to the e-shop
Inspect the page (right click on page, select “Inspect” from the options)
Switch to “Network” tab
Search for “1?profileId”
The API request is available in Payload section, the API response is available in Response section
When there is no request
This can happen when the theme is not compiled (the integration is a JavaScript update).
The integration team is able to address this directly on the project.
When the template is broken
The templates are part of the integration and are custom to each project. The integration team is able to review & make adjustments without Boxalino assistance. As a practice, the JS files are located in <integration-module>/src/Resources/app/storefront/src/rtux-autocomplete
When there is an error in the request
For the typical customer on the store - it should not disrupt anything. The autocomplete feature has a fallback on Shopware 6 itself.
From an integration review aspect, the request to 1?profileId=<cemv-cookie>
appears with red. The error from Boxalino API will appear in the “Response” section.
Contact Boxalino.
Typical issues might be:
(for new accounts) the autocomplete index is not available
(for new accounts) the BigQuery flow was not computed (configured rules are invalid)
Search
The search action happens the user clicks on “Enter” or engages with a search term.
The URL path is <e-shop>/search?search=<keyword>
.
Review the API request / response by appending
_bx_inspect_key=<apiKey>
to the URL (ex:<e-shop>/search?search=<keyword>&_bx_inspect_key=<apiKey>&_bx_rtux_cache_key=<any-content>
)Observe that any selected filter appears in the URL with it`s own name-value (opposing to Shopware6 default that uses hash of ids)
The scrolling events are tracked in the “Network” tab https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/295141377/JS+Tracker+Check-List#Check-the-scrollImpression-tracking%3A
When there is no API request
If there is no change on the page when inspecting via the _bx_inspect_key
- it means the search functionality is not integrated with Boxalino.
The integration team is able to inspect directly on the project:
Enable “test mode” and review the server logs.
Review the controller from
<integration module>/src/Storefront/Controller/SearchController
https://github.com/boxalino/rtux-integration-shopware/wiki/Search-ContextClear cache
When there are no products displayed
If there is an API request (https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/877789187/Testing+the+SW6+Integration#The-Boxalino-API-inspect-mode-with-_bx_inspect_key ) - the solution is in the e-shop environment.
Review server logs (maybe missing templates?)
Clear cache
Product Detail Page (PDP) Recommendations
There are 2 ways to add product recommendations on the detail page:
server-side (when the product link is clicked on)
asynchronous (after the product is displayed, an ajax request is made to inject recommendations)
The asynchronous load can be inspected directly in the browser. Open the “Inspect” mode, switch to “Network” tab and search for boxalino
. The crosssell
request should appear there.
When there is no crosssell
request
This is normal if the integration team chose to use the server-side integration.
(if it is not #1) review the required Template Updates https://github.com/boxalino/rtux-integration-shopware/wiki/PDP-Context-(AJAX)#5-theme-template-updates in order to switch to the asynchronous integration.
(if it is not #1) view the uncached product page by adding a random parameter in the URL (add
`?<any-value-after-product-link>
). Switch to “test mode” and review server logs. Fix or communicate identified errors if it`s in the scope of Boxalino.Clear cache. The integration team is able to inspect directly on their project.
When there are no recommendations displayed
This scenario is discovered during development (pre-go-live) stage.
Switch to “test mode”
Review the server logs for errors
Fix or communicate identified errors (and the API request) if it`s in the scope of Boxalino
Possible contexts in which there are no product recommendations in the API response:
Invalid optimization rule in Boxalino Intelligence Admin
Invalid API request
Category View (navigation)
The category is replaced with the help of the CMS Element https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/354877485 Before continuing with the review, confirm that there is an updated layout in use that has a Boxalino CMS Element configured (ex: widget navigation
)
Review the category page with the help of the
_bx_inspect_key=<apiKey>
Observe that any selected filter appears in the URL with it`s own name-value (opposing to Shopware6 default that uses hash of ids)
The scrolling events are tracked in the “Network” tab https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/295141377/JS+Tracker+Check-List#Check-the-scrollImpression-tracking%3A
When there is no API request
If there is no change on the page when inspecting via the _bx_inspect_key
- it means the CMS element is not included in the Category layout or there is a caching issue.
The integration team is able to inspect directly on their project.
When there are no products displayed
Review the steps from Search https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/877789187/Testing+the+SW6+Integration#When-there-are-no-products-displayed
When the page is cached
After Shopware 6.4, there is an internal framework layer of cache.
In order to avoid for certain contexts & pages integrated with Boxalino to be cached:
review that the cache invalidator subscribers are part of the integration https://github.com/boxalino/rtux-integration-shopware/blob/3.4.0/src/Resources/config/services/api/cms.xml#L36
update the config shopware.yml.
shopware:
cache:
invalidation:
category_route: ["cms-block-navigation-boxalino-api"]
When the Boxalino CMS Element is not visible
The CMS element is added like any other backend Shopware 5 CMS block https://developer.shopware.com/docs/guides/plugins/plugins/content/cms/add-cms-block .
In case it is missing, please check that:
The module is installed & active
The backend theme has been compiled (review SW6 documentation)
Clear cache
Homepage Sliders (cms)
The sliders are added on the homepage with the help of the CMS Element https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/354877485 Before continuing with the review, confirm that the page you are inspect is using an updated layout that has a Boxalino CMS Element configured (ex: widget home
).
Review the home page with the help of the
_bx_inspect_key=<apiKey>
(ex:<e-shop>?_bx_inspect_key=<apiKey>&cacheKey=<some-text>
The scrolling events are tracked in the “Network” tab https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/295141377/JS+Tracker+Check-List#Check-the-scrollImpression-tracking%3A
When there is no API request
If there is no change on the page when inspecting (uncached) via the _bx_inspect_key
- it means:
The CMS element is not included in the homepage layout
If the CMS element is included and there is no API request - there is a caching issue and/or some server-side errors.
The integration team is able to inspect directly on the server.