gecko-dev/browser/extensions/onboarding
Timothy Guan-tin Chien c493aa2154 Bug 1358970 - Hide onboarding UI when the window size is smaller than 960px, r=mossop
MozReview-Commit-ID: 9Y5SRt21DDP

--HG--
extra : rebase_source : 53195715c38946ebad7537e9110d93a43ea618bf
2017-07-11 14:25:29 +08:00
..
content Bug 1358970 - Hide onboarding UI when the window size is smaller than 960px, r=mossop 2017-07-11 14:25:29 +08:00
locales Bug 1376521 - Updates to 56 Onboarding Tour Overlay Headlines and Body Copy;r=mossop 2017-06-29 14:18:16 -07:00
test Bug 1375775 - test cases for reusable tourset;r=mossop 2017-07-07 11:52:33 +08:00
bootstrap.js Bug 1367696 - PART I determine the tour type;r=mossop,timdream 2017-06-22 16:10:46 +08:00
install.rdf.in Bug 1357005 - Create onboarding icon which toggles a first-time use dialog on net newtab. r=mossop 2017-05-22 17:00:16 +08:00
jar.mn Bug 1367696 - PART I determine the tour type;r=mossop,timdream 2017-06-22 16:10:46 +08:00
moz.build Bug 1367696 - PART II add xpcshell structure for onboarding;r=mossop,rexboy 2017-06-22 16:25:53 +08:00
OnboardingTourType.jsm Bug 1367696 - PART I determine the tour type;r=mossop,timdream 2017-06-22 16:10:46 +08:00
README.md Bug 1375775 - Allow reuse existing tours;r=mossop 2017-06-26 14:25:55 -07:00

Onboarding

System addon to provide the onboarding overlay for user friendly tours.

Architecture

Everytime about:home or about:newtab page is opened, onboarding overlay is injected into that page (if browser.onboarding.enabled preference is true).

Landing rules

We would apply some rules:

  • Avoid chrome:// in onbaording.js since onboarding is intented to be injected into a normal content process page.
  • All styles and ids should be formated as onboarding-* to avoid conflict with the origin page.
  • All strings in locales should be formated as onboarding.* for consistency.

How to change the order of tours

Edit browser/app/profile/firefox.js and modify browser.onboarding.newtour for the new user tour or browser.onboarding.updatetour for the update user tour. You can change the tour list and the order by concate tourIds with , sign. You can find available tourId from onboardingTourset in onboarding.js.

How to pump tour set version after update tours

The tourset version is used to track the last major tourset change version. The tourset-version pref store the major tourset version (ex: 1) but not the current browser version. When browser update to the next version (ex: 58, 59) the tourset pref is still 1 if we didn't do any major tourset update.

Once the tour set version is updated (ex: 2), onboarding overlay should show the update tour to the updated user (ex: update from v56 -> v57), even when user have watched the previous tours or preferred to hide the previous tours.

Edit browser/app/profile/firefox.js and set browser.onboarding.tourset-version as [tourset version] (in integer format).

For example if we update the tourset in v60 and decide to show all update users the tour, we set browser.onboarding.tourset-version as 3.