Just found out that the error message is shown only on the first time I “Start a Product Tour”. If I try to start it again, it will work, but every time I click the button, the product tour runs all the steps as many times I click the button.
As an example, in a product tour of 2 steps, If I click the button to start tour for the first time, the error appears. If I click on it again, the steps are shown, but not only the 2 steps because I’ll see the same 2 steps added to the end of the second step (4 steps total). And every time the button is clicked, the loop starts again with 2 more steps at the end.
Well, maybe I was just not following instructions as needed, but since there may be other lazy people like me, I’ll comment what was happening hahaha If you put the steps on the page load APART from the workflow that “Starts the tour”, no error occurs. Don’t know exactly why but these functions need to be put on separate workflows to work correctly.
Think about the action that you’re doing when you push the button. If every time you run a workflow that adds steps and then starts the tour it might not be clearing the previous tours steps.
So, if you don’t clear the previous tours steps and every time you run the workflow action it adds more steps then starts a tour again Then it would make sense to see the tour run double or triple or quadruple times. Cause it was told to add the same steps to a list of steps again.
** this isn’t my plug-in so I’m just kind of assuming this is what happens here. I have a similar plug-in on the marketplace that creates tours based on steps that the user sets up. I’ve run into the same issue with mine
Seems conditional states do not work, at least as far as setting them via the product tour’s step index. It seems that if the condition is true when the tour starts, then it is applied through all steps. If the condition is false when the tour starts then it is not applied at all, even if it becomes true later.
i.e. if you set a conditional state for step one, then it is applied throughout the tour. Conversely if you set it for any other step, it is not applied at all.
On further investigation, conditional behavious is erratic, it works as expected for some properties, but others it either does not work at all or does not work properly.
About data persistence, it’s on your side. You choose where you want to store a variable/property that knows if the user has completed the round. The goal is to allow you to start the tour whenever you want.
We usually add a “hasCompletedOnboarding” or “isFirstTimeUser” property in the User model.
As soon as the user finishes his tour you’d update this property and the next time he will logs in you’ll check if you should show him the tour or not.
Not sure if I am doing something wrong here. Every time a user logs onto the page, the onboarding flow starts again. I am using it on the dashboard which the user will visit many, many times. How do I make sure the onboarding flow is only shown once?
Try to open in Chrome, minimize the tab horizontally to be like a phone width size, and then trigger the tour, click couple of time “next”, and for me at least, tour disappears after a while, 3rd step…
Hey @nocodejungle, is there a way to reference an element in a popup? I’m trying to have a step reference the “URL” input field in this popup, but looks like the help text may be hidden behind the popup.