Follow up for #1809352-175: Write tour.module and add it to core

Problem/Motivation

As identified by sun in #1809352-62: Write tour.module and add it to core item 2. We want end users to be notified of new features and/or changes.

Proposed resolution

We could potentially take advantage of localstorage for temporary storage and then save the "viewed" tips onto the user. (still a work in progress)

Remaining tasks

A discussion in required to ascertain the best course of action.

User interface changes

Possibly a number next to the "Tour" toolbar item.

API changes

None

Comments

clemens.tolboom’s picture

Reading through the mentioned issue comment from @sun #1809352-62: Write tour.module and add it to core I cannot found any mention of this issues title.

A further note would be: how does core work out this config update and what is different for tour?

nick_schuch’s picture

This is but merely a stub for the conversation clemens.tolboom. The first the jumps out to me is the following:

A visual marker (eg. New) is added to each tips display.

1) All tips are marked as "new" until they are viewed for the first time.
2) Once a tip is viewed mark it as "old"
3) If a new tip is added mark it as "new"

I would appreciate suggestions.

clemens.tolboom’s picture

This probably has a big impact as tips are now user specific making caching a pitb. We could store this information @ the browser but that would be weird when switching browser.

I see we have a backbone model for tour but is that server bound? I'm new to backbone so prob ask stupid questions. We could use that for state-management I guess without harming cache.

Regarding the visual marker we have
- forum-icons.png
- message-warning.png
- message-info.png
- star.png & star-empty.png
in one of our core/misc/ dirs

Hope that helps.

jhodgdon’s picture

Issue summary: View changes

What is this issue actually about? Here are my best guesses:

a) If you update a module and the new version has a different version of a tour, a completely new tour, or has removed a tour, you will already have imported the config/install for the tours for that module, and you will not get any of these changes. The Config Help (help topic entity) module has this same problem on #2371439: Figure out what to do when module updates configurable topic, and I am not sure yet what to do about it. But both Tour and Help Topics are config entities that need this ability to notify admins and/or get the updates. I am very interested in thinking about What Should Be Done and working on solutions together, if this is the point of this issue.

b) If you install a new module and it introduces new tours, users might conceivably want to know about these new tours that were not on the system prior to installing this module.

I'm not sure if this issue is about (a), (b), or maybe something completely different. Maybe an updated issue summary would clarify what it is about?

jhodgdon’s picture

I just made a sandbox/contrib module that will do this for any config entity:
https://www.drupal.org/sandbox/jhodgdon/2391835

I haven't specifically tested it on Tours and it is a bit rough still but you may want to try it out?

jhodgdon’s picture

Just a note here that the sandbox referenced in the previous comment is considerably matured since a month ago:
https://www.drupal.org/sandbox/jhodgdon/2391835

On #1398040: Detect if default configuration of a module has been changed, and allow to restore to the original there is a discussion of whether this sandbox functionality should go into Core. I think it would resolve this issue if it did; if not, the resolution could be "use contrib".

jhodgdon’s picture

Version: 8.0.x-dev » 8.1.x-dev
Category: Task » Feature request
Status: Active » Postponed

In thinking about whether the Config Revert sandbox (reference in previous two comments) could be added to Core, I was looking at this issue and others to see if any are classified as bugs. This one was a task, but really it's a feature I think, so at this point has to be 8.1.x material.

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

Drupal 8.1.0-beta1 was released on March 2, 2016, which means new developments and disruptive changes should now 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.

jhodgdon’s picture

And by the way, the module referenced above is now a full contrib project:
https://www.drupal.org/project/config_update

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

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now 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.

Wim Leers’s picture

Category: Feature request » Bug report
Priority: Normal » Major

Even just typos fixed in tips, or improved language won't show up. This is therefore a quite big problem.

jhodgdon’s picture

This is a generic problem in Core configuration, not just Tour. It can be solved with something like the contributed Configuration Update Manager module, which at least gives you a report that tells you things have changed:
https://www.drupal.org/project/config_update

We should definitely get that into Core, IMO, but I have no energy for this effort.

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

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now 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.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now 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.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now 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.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now 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.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.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.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). 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.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now 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: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

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

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

catch’s picture

Title: Provide a method for end users to be notified on new/update tips. » Tour tips are provided as configuration, so never get updated
Status: Postponed » Active
Issue tags: +Bug Smash Initiative

This seems like an architectural issue with the tour module. Seems like it could do something similar to migrations where there is a template YAML, which can potentially be replaced by configuration, as opposed to always configuration.

Trying to update configuration doesn't seem like the right approach - configuration updates are tricky since you don't want to overwrite customisations either.

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

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

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

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now 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.

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

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now 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

Assigned: nick_schuch » Unassigned

This was a bugsmash random issue. It is still valid. We agree to unassign the issue since @nick_schuch has not been active for 9 years.

Version: 10.1.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, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Status: Active » 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.

quietone’s picture

Project: Drupal core » Tour
Version: 11.x-dev » 1.0.x-dev
Component: tour.module » Code
Status: Postponed » Active