Problem/Motivation

Tour tracks which module is it provided by, and only uses that in the markup.
It is also used for a config dependency, but that could be easily replaced by standard config entity dependencies.

Proposed resolution

Remaining tasks

User interface changes

API changes

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

tim.plunkett’s picture

Status: Active » Needs review
FileSize
4.98 KB

This also fixes the rest of Tour::calculateDependencies(), by properly using EntityWithPluginCollectionInterface.

Status: Needs review » Needs work

The last submitted patch, 1: remove_tour_module-2443605-1.patch, failed testing.

tim.plunkett’s picture

Fixing the test expectations.

tim.plunkett’s picture

Status: Needs work » Needs review
larowlan’s picture

Assigned: Unassigned » larowlan

Will review

rodrigoaguilera’s picture

Status: Needs review » Needs work

views_ui is not he only tour in core now #2017471: Multilingual tour for language section

tim.plunkett’s picture

Status: Needs work » Needs review

Hence the first hunk in the patch.

rodrigoaguilera’s picture

Status: Needs review » Needs work

Oh sorry, I thought that was the second tour to land in core.
Then the module line needs to be removed also from the language module tour.

tim.plunkett’s picture

Status: Needs work » Needs review

There is no language module tour. It is the locale module tour, and it is the first change in the patch.

$ find . -name tour.tour.*
./core/modules/locale/config/install/tour.tour.locale.yml
./core/modules/tour/tests/tour_test/config/install/language/it/tour.tour.tour-test.yml
./core/modules/tour/tests/tour_test/config/install/tour.tour.tour-test-2.yml
./core/modules/tour/tests/tour_test/config/install/tour.tour.tour-test.yml
./core/modules/views_ui/config/install/tour.tour.views-ui.yml

Four of those are tours, one is a translation. All of them are fixed.

rodrigoaguilera’s picture

Status: Needs review » Needs work
tim.plunkett’s picture

Status: Needs work » Needs review
FileSize
1.19 KB
8.83 KB

Would have been easier to roll a patch than mark this needs work *three times*

larowlan’s picture

Assigned: larowlan » Unassigned
+++ b/core/modules/tour/src/Tests/TourTest.php
@@ -56,7 +56,7 @@ public function testTourFunctionality() {
-      ':classes' => 'tip-module-tour-test tip-type-text tip-tour-test-1',

@@ -170,7 +169,7 @@ public function testTourFunctionality() {
-      ':classes' => 'tip-module-tour-test tip-type-text tip-tour-test-1',
+      ':classes' => 'tip-type-text tip-tour-test-1',

Ok, this was here for a reason.
We can filter down tips and autostart a tour. I can't remember the exact syntax but something like /foo/bar?tour=1&tips=system is supposed to allow you to link to a subsequent tour and then filter down to just that module if other tours exist for that route. Is there another way we can ensure the provider is added as a class for filtering sake?

E.g. the use case is there are two tours on page foo/bar, one from the foo module and another from some other module. The foo module also contains a tour on foo/baz. The tour on foo/baz has a final tip that says For more information take the <a href="bar?tour=1&tips=tip-module-foo">Bar tour</a> - the link should take them to foo/bar and show the tour for that route, but only where the tips are from the foo module.

See tour.js

tim.plunkett’s picture

What if a module provides multiple tours? Why not just use the config entity ID or something similar?
Once config is imported, it's not "provided" by anyone.
And what about the contrib tour UI? No one will own those.

larowlan’s picture

Issue summary: View changes
Status: Needs review » Reviewed & tested by the community
FileSize
76.34 KB
92.52 KB

Well I guess we can add

attributes:
  class: 

to any tip and use that - so that meets the use-case above.

Screenshots from manual test

alexpott’s picture

Status: Reviewed & tested by the community » Needs review
Issue tags: +Needs issue summary update

Shouldn't tours depend on the modules that provide the routes they appear on?

Also this issue is a normal task so we need to outline how it fits within the allowable Drupal 8 beta criteria. Can someone add Drupal 8 beta phase evaluation template to the issue summary.

larowlan’s picture

I don't think they should depend on the route being there, I'd consider them 'optional' configuration in the optional/install plan.
In terms of display, tour.module loads any tour for the current route, so in theory if the route is gone, no harm is done.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

smustgrave’s picture

Attempted to reroll #11 let me know if I missed anything.

Spokje’s picture

Status: Needs review » Needs work

TestBot is unhappy.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Status: Needs work » Postponed

This extension is being deprecated, see #3336033: [Meta] Tasks to deprecate Tour module. It will be removed from core and moved to a contrib project, #3376099: [11.x] [Meta] Tasks to remove Tour.

This is now Postponed. The status is set according to two policies. The Remove a core extension and move it to a contributed project and the Extensions approved for removal policies.

Version: 9.5.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.