Configure product tour scenarios¶
You can configure the product tour scenarios to adapt it to your project needs, covering different onboarding scenarios.
Product tour scenarios are configured using YAML configuration files. Configuration is SiteAccess-aware, allowing you to create separate onboarding experiences for different back offices in multisite setups.
For more advanced customization cases that require PHP code, see the integrated help's RenderProductTourScenarioEvent.
Use the default provided configuration, available in config/packages/ibexa_integrated_help_tours.yaml, as a starting point that you can adjust to your needs.
Configuration structure¶
Product tour scenarios are configured under the ibexa.system.<siteaccess>.product_tour key.
Each scenario has a unique identifier and contains steps, which in turn contain blocks.
Basic configuration structure of a scenario:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
The product tour scenarios are meant to be translatable.
It's recommended to use translation keys instead of literal values in the YAML configuration, and provide the translations separately.
Use the ibexa_integrated_help translation domain.
For all the examples below, you can provide the translations by creating a translations/ibexa_integrated_help.en.yaml file with the following content:
1 2 3 4 5 6 7 8 | |
Scenario configuration¶
Each scenario must specify its type and can optionally restrict access by user groups.
Scenario display order¶
The order of scenarios in the configuration file determines the order in which they are evaluated and, if the right conditions are met, displayed.
For general scenario, the scenario appears at the earliest opportunity (on any page after logging in).
For targeted scenarios, the scenario begins if the target element is found in the DOM. This means the scenario only appears on pages where the target element exists. To control where a targeted tour appears, ensure the first step targets an element unique to that specific page or section.
Once a scenario ends, the next scenario from the configuration is evaluated and, if applicable, displayed.
Scenario type¶
Set the scenario type to either general or targetable to control how the scenario is displayed.
1 2 3 | |
User group restrictions¶
Restrict tour visibility by excluding specific user groups by using their content remote IDs:
1 2 3 | |
When creating new back office user groups, you should decide whether the existing product tour scenarios should be available for the new user group. If not, add the new group to the exclusion list.
Step configuration¶
Steps define individual instructions within a scenario. The configuration differs based on scenario type:
General scenario steps¶
General scenario steps display centered modals and support the background_image settings, allowing you to set a shared background image for each step.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Targeted tour steps¶
Targeted tour steps highlight specific UI elements using CSS selectors.
You can select a specific element by using the target setting.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
If a step's target element doesn't exist on the page, the step isn't be displayed and the scenario is be stopped. Ensure your configuration matches the actual DOM structure to avoid broken scenarios.
Interaction modes¶
Select how the scenario step interacts with the target element by using the interaction_mode setting.
Targeted steps support three interaction modes:
TODO: 2 pane screenshot here, showing the UI for each of types.
Standard mode:
The default value. A tooltip attached to specific element on the page is displayed. Users continue the scenario with Previous/Next buttons:
1 2 3 4 5 6 7 8 | |
Clickable mode:
A tooltip attached to specific element on the page is displayed. Users continue the scenario by clicking the highlighted element.
1 2 3 4 5 6 7 8 | |
Note
Clickable mode is designed for single actions only (buttons, links). You can't select an entire form. If the interaction with the highlighted element results in redirection to a new page or opening a modal window where the previous target element can't be found, the "Previous" navigation step will be disabled.
Draggable mode:
A tooltip attached to specific element on the page is displayed. Users continue the scenario by dragging the highlighted element.
1 2 3 4 5 6 7 8 | |
Block types¶
Blocks are content elements that make up each step, available both for general and targetable scenarios.
Seven block types are available for building step content, and a scenario step must contain at least one.
TODO: Step screenshot with all 7 blocks available?
Title block¶
Display bold, prominent titles:
1 2 3 | |
Text block¶
Display regular text content:
1 2 3 | |
Link block¶
Add external or internal links:
1 2 3 4 | |
Image block¶
Embed images with alternative text:
1 2 3 4 | |
Video block¶
Embed video content by using the video HTML element:
1 2 3 4 | |
List block¶
Create bulleted lists with title:
1 2 3 4 5 6 7 | |
The title_translation_key property is optional.
Custom Twig template block¶
For advanced content, use custom Twig templates that allows you to fully control the styling of the block:
1 2 3 | |
Create the dedicated template, for example in templates/custom_template.html.twig.
1 2 3 | |
and provide the required translations in translations/app.en.yaml:
1 | |
Configuration examples¶
Example 1: General welcome tour¶
The following example showcases all the built-in block types for a general scenario consisting of a single step.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
Example 2: Targeted feature tour with interactive steps¶
The following example showcases the 3 interaction modes of a targetable scenario building an onboarding scenario for the customizable dashboard:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |