Page MenuHomePhabricator

Investigate GuidedTour usage for Special:Investigate [4Hours]
Closed, ResolvedPublic3 Estimated Story PointsJun 16 2020

Description

We'd like to use the GuidedTour extension to onboard users to Special:Investigate (T252984: Onboarding workflow for Special:Investigate - WIP).
This ticket is to lay out the plan for using GuidedTour for this special page.

Would it be possible to use GuidedTour across pages? An example of what I mean:

  • Someone lands on S:I, we show a popup near the multiselect widget telling them that they can add multiple users
  • They fill out the form and start the investigation
  • When they reach the Compare tab (which would be the first one after T254312: Default to Compare tab instead of Preliminary check) we show another popup telling them about the highlighting and pinning behavior and so on.

Is this something that is possible with GuidedTour?

After answering this, we need to determine the plan for implementation.

Details

Due Date
Jun 16 2020, 4:00 AM

Event Timeline

Niharika renamed this task from Investigate GuidedTours usage for Special:Investigate to Investigate GuidedTour usage for Special:Investigate.Jun 3 2020, 4:27 PM
Niharika updated the task description. (Show Details)
Niharika removed the point value for this task.
Niharika set the point value for this task to 3.
ARamirez_WMF renamed this task from Investigate GuidedTour usage for Special:Investigate to Investigate GuidedTour usage for Special:Investigate [4Hours].Jun 3 2020, 4:58 PM
ARamirez_WMF changed the subtype of this task from "Task" to "Deadline".
ARamirez_WMF changed Due Date from Jun 17 2020, 4:00 AM to Jun 16 2020, 4:00 AM.Jun 9 2020, 8:26 PM

Short answer is Yes, this is what GuidedTour is for.

Here is a compiled list of features that I think would be useful in our case. (steps ~ popups)

  • Tours can be started on the server or client side. A cookie can be set to start the tour on the next page load.
  • You can start a tour in any specific step ( I see this working for us to trigger different steps depending on the tab )
  • Steps don't necessarily have to be connected ( we can have various steps for one tab and not be connected to the steps in a different tab)
  • The order of steps can be set conditionally or re-arranged. They can also be skipped conditionally
  • There is no need to have a hard dependency on the GuidedTour extension (and we shouldn't).
  • There are config options and events we can use to personalize the experience

I want to point out that the extension documentation is really good and the examples give you a good picture of what can be done

Links
https://www.mediawiki.org/wiki/Extension:GuidedTour
https://www.mediawiki.org/wiki/Extension:GuidedTour/Write_an_extension_tour
https://doc.wikimedia.org/GuidedTour/master/js/#!/api/mw.guidedTour

Other links for reference
https://github.com/wikimedia/mediawiki-extensions-WikimediaMessages/blob/master/modules/rcfilters-highlight-tour.js
https://github.com/wikimedia/mediawiki-extensions-WikimediaMessages/blob/master/modules/rcfilters-intro-tour.js

Starting a tour thru a hook. This tour is in core and the dependency on the extension is not allowed (I don't think we need this but just in case)
https://github.com/wikimedia/mediawiki-extensions-WikimediaMessages/blob/master/includes/WikimediaMessagesHooks.php#L1424