-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[5.2] [Guided tours] Auto start tours - full functionality #43814
Conversation
…ay after which the tour will run again
Added spaces
Adds a way to store user state information when a user skip, complete or cancel a tour
Renamed params for onTourRunSaveState
I moved the controller's database calls to the tour model. |
You've made changes to the cypress tests here but you havent updated the joomla-cypress package |
I have created joomla-projects/joomla-cypress#27 |
and then you need to update your branch to use that - ie npm update joomla-cyprus |
And I have created joomla-projects/joomla-cypress#31. From my point of view we need to wait for merge and new NPM joomla-cypress release 1.1.1 to be created. After that In the meantime and as joomla-projects/joomla-cypress#27 is already merged but not released, temporary solution is to change
and run |
Revert back to cancelTour as of cypress PR joomla#31
Test 1 - on a new instance - successful |
Thank you Mary. |
I have tested this item ✅ successfully on dfd42fc There were a few minor confusing items in the tests, especially Test 7: Test 1.
Test 3.
Test 7.
|
Thank you!
It's just to instruct that if there is no 'Guided Tour' extension in the list of extensions, it means there are no logs for it.
Yes, it changed recently, and I forgot to change the test description.
Yes, that was the previous behavior.
That's because no tour was run.
The Welcome tour is not running because it is not set to auto start in 5.1. It was disabled after one run. It is an update, so the Welcome tour is not meant to run on update, only on new installs. |
I have tested this item ✅ successfully on dfd42fc This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/43814. |
RTC This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/43814. |
I'm merging this now, however I'm unhappy with the additional option in the user profile. Can we change this so that this option is only added to the profile when the site actually uses the tour feature? Maybe only inject it into the form when the system plugin is enabled? In any case: Thank you for this contribution @obuisard |
Very confusing wording. Could you please clarify what you are talking about? Perhaps rephrase it here in a simple way so that it can be translated correctly into other languages. Thank you.
|
Please check PR #44093. Thank you Konstantin @Kostelano |
joomla/joomla-cms#43232 + joomla/joomla-cms#43378 + joomla/joomla-cms#43216 + joomla/joomla-cms#43260 + joomla/joomla-cms#43386 + joomla/joomla-cms#43575 + joomla/joomla-cms#43491 + joomla/joomla-cms#43760 - (upmerge, внесено в 5.1х) joomla/joomla-cms#43247 + joomla/joomla-cms#43579 + joomla/joomla-cms#43690 + joomla/joomla-cms#43829 + joomla/joomla-cms#43840 + joomla/joomla-cms#43841 + joomla/joomla-cms#43885 - (upmerge, только для др. пакетов) joomla/joomla-cms#43223 + joomla/joomla-cms#43810 - (только для en-GB) joomla/joomla-cms#43898 + joomla/joomla-cms#43432 + joomla/joomla-cms#43870 + joomla/joomla-cms#42850 + joomla/joomla-cms#43937 - (upmerge, только для др. пакетов) joomla/joomla-cms#43862 + joomla/joomla-cms#43975 + joomla/joomla-cms#43910 + joomla/joomla-cms#43965 + joomla/joomla-cms#43738 + joomla/joomla-cms#43814 + joomla/joomla-cms#44000 + joomla/joomla-cms#44050 + (upmerge, с 4.4.9) joomla/joomla-cms#43966 + joomla/joomla-cms#44065 +
Summary of Changes
The welcome tour has been introduced in Joomla 5.1. It is a tour that starts automatically any time a new instance of Joomla has been installed. However, at that time, we could not introduce a full implementation. Therefore, the welcome tour was meant to run only once and pretty much only for the person who installed Joomla.
This PR is meant to add the missing functionality of the auto-starting tours.
It adds several enhancements:
Many thanks to Shirielle Williams @sdwjoomla, Marc Studer (co-implementer), Adam Melcher and the Guided Tours team for their work and feedback.
Testing Instructions
Download the full and update packages from the Downloads checks.
You cannot test this PR through the patch tester extension.
Test 1 - on a new instance
Install the full package of this PR.
The welcome tour will run and you should see a button 'Hide Forever'. Do not select the button.
Cancel the tour (with the X).
Go to Guided Tour's global configuration.
Set the time for the delay parameter to 1 minute (this will help testing the cancelling of tours when they auto-start).
Save.
When a tour auto-starts, cancelling it prevents the tour from running again for a certain period of time (hence the delay parameter).
Go to Users -> Users Action Logs
Filter by the 'Guided Tours' extension. The extension will NOT be in the list if there are no recorded logs yet.
You should see User [you] delayed the tour 'Welcome to Joomla!'.
On a new instance of Joomla, the Guided Tours action logs are enabled by default.
It has probably been a minute since you cancelled the tour, so go back to the dashboard.
The welcome tour should run again.
Cancel the tour (with the X).
Test 2 - opt-out of auto-starting tours
Goal: disable auto-starting tours for all users
Go to Guided Tour's global configuration.
Disallow the auto-starting of the tours.
Save.
Go back to the dashboard.
Make sure a minute has passed.
Refresh the page if necessary.
The welcome tour should no longer start.
Test 3 - opt-out of auto-starting tours for a single user
Goal: disable auto-starting tours for one user
Go to Guided Tour's global configuration.
Allow the auto-starting of the tours.
Save.
Go back to the dashboard.
The welcome tour should run again.
Cancel the tour (with the X).
Go to your user profile.
In the 'Basic settings' tab, select the option 'no' for the 'auto starting tours' parameter.
Save.
Go back to the dashboard.
Make sure a minute has passed.
Refresh the page if necessary.
The welcome tour should no longer start.
Test 4 - opt-out of the welcome tour
Goal: opt-out of a tour that starts automatically
Go to your user profile.
In the 'Basic settings' tab, select the option 'Use default' for the 'auto starting tours' parameter.
Save.
Go back to the dashboard.
The welcome tour should run again.
Select 'Hide Forever' button to dismiss the tour completely.
Go to Users -> Users Action Logs
Filter by the 'Guided Tours' extension.
You should see User [you] skipped the tour 'Welcome to Joomla!'.
Go back to the dashboard.
Make sure a minute has passed.
The tour should no longer start by itself.
Test 5 - run the welcome tour manually
Goal: possibility to run tours that have been skipped previously
Go to the guided tour list of tours at the top of the dashboard and run the welcome tour.
The 'Hide forever' button should be missing.
Running the tour manually should not interfere with your decision to skip the tour or if you have completed it. In those 2 cases, the tour should never auto-start again.
Test 6 - auto start 2 welcome tours
Goal: test the sequencing of tours when several tours are set to run on the same page
Go to System -> Guided Tours (in the 'Manage' section).
Select the welcome tour (it should be the last on the list of tours).
Save as copy. Publish the tour. Change the title to your liking (by replacing the language key). Save and close.
No need to add steps for this test.
Copy the tour a second time (change title, publish and save) to create a 3rd welcome tour (remember, the first welcome tour should never show again).
Now you have 2 auto-starting tours ready to go.
Go to the home dashboard.
The first auto-starting tour should start. Cancel by clicking on the X.
Nothing else should happen.
Go to Content -> Articles (or just refresh the page). Go back to the home dashboard.
The second tour should start unless the first tour's delay has already passed.
Cancel the tour with 'X'.
Wait one minute, refresh the page. The first tour should start again. Hide forever.
Wait one minute, refresh the page. The second tour should start. Hide forever.
No tour should show again after one minute, no matter what you do (refresh the page, do something - like checking the user action logs - and go back to the home dashboard).
Test 7 - on an updated instance
Goal: test settings on update
Install the update package of this PR over a 5.1 instance or earlier version of 5.2 (there was no welcome tour in 5.0).
The welcome tour should not run, it has been disabled from auto-starting after it has ran once in Joomla 5.1.
Go to the User Action Logs global configuration.
The Guided Tours should not be selected.
Note
PR #43690 has been merged and therefore you can now change auto-start settings for tours when editing a tour.
Actual result BEFORE applying this Pull Request
The welcome tour starts and only one user can see it. It runs only once. To see it again, the tour needs to be run manually.
Expected result AFTER applying this Pull Request
Any tour set to auto-start should automatically run, one at a time, when in the context it is supposed to run under.
Tours run automatically for all users logging in the backend (if the tour is available for the user group the user is part of).
When a tour is cancelled, it restarts after a certain delay. When skipped (hidden forever) or completed, the tour no longer runs.
All tours are still available to run manually.
Manual tours do not have the button 'Hide forever'.
Link to documentations
Please select:
Documentation link for docs.joomla.org: Guided Tours Options
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org: Auto-start and events
No documentation changes for manual.joomla.org needed
Note:
User and User Action Logs help screens are severally out of date and it's impossible to add information related to this PR without adding the already missing information and re-creating screenshots.