c493aa2154
MozReview-Commit-ID: 9Y5SRt21DDP --HG-- extra : rebase_source : 53195715c38946ebad7537e9110d93a43ea618bf |
||
---|---|---|
.. | ||
content | ||
locales | ||
test | ||
bootstrap.js | ||
install.rdf.in | ||
jar.mn | ||
moz.build | ||
OnboardingTourType.jsm | ||
README.md |
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://
inonbaording.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 asonboarding.*
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
.