Modify Firefox Installer to Incorporate Feedback Form

RESOLVED FIXED in Firefox 3.5b4

Status

()

--
major
RESOLVED FIXED
10 years ago
10 years ago

People

(Reporter: kkovash, Assigned: rstrong)

Tracking

({fixed1.9.1, verified1.9.0.11})

unspecified
Firefox 3.5b4
x86
Windows Vista
fixed1.9.1, verified1.9.0.11
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(6 attachments, 2 obsolete attachments)

(Reporter)

Description

10 years ago
We want to ship the following installer change (Windows only) as part of March's Funnelcake edition, tentatively scheduled to ship on Tuesday, 3/24.

The project wiki page is at https://wiki.mozilla.org/InstallFeedback.  And the embed URL for the Kampyle feedback form is:
http://www.kampyle.com/feedback_form/ff-feedback-form.php?site_code=&form_id=12116

Once this bug is resolved, we'll be able to test the installer and feedback form before shipping Funnelcake07.
(Reporter)

Comment 1

10 years ago
Created attachment 367671 [details]
Kampyle Instructions

Here are the instructions from their site.
Are we going to host that page on mozilla.com in an iframe? Users might react negatively to us loading web pages from a non-Mozilla.com host.
(Reporter)

Comment 3

10 years ago
The code for the installer should be:
http://www.kampyle.com/feedback_form/ff-feedback-form.php?site_code=8166124&form_id=12116

Please note the change from what I wrote in comment #0.
(Reporter)

Comment 4

10 years ago
Gavin -- that's a really good suggestion.  We're planning to launch this for a
single day sometime in the next couple weeks.  If we do consider implementing
this beyond our one-day test (e.g., something longer-term or permanent), a
mozilla.com hosted page will definitely be among our top requirements.
(Reporter)

Comment 5

10 years ago
some additional instructions...

Kampyle allows the feedback/reporting to be broken down by the installation "step" that the user cancels from within the installer.  In our implementation, we can label each step (I'm defining "step" as each chance that the user has to hit "cancel").  Here's how it works:

Instead of simply implementing http://www.kampyle.com/feedback_form/ff-feedback-form.php?site_code=8166124&form_id=12116, we implement:

http://www.kampyle.com/feedback_form/ff-feedback-form.php?site_code=8166124&form_id=12116&url=step1
http://www.kampyle.com/feedback_form/ff-feedback-form.php?site_code=8166124&form_id=12116&url=step2
http://www.kampyle.com/feedback_form/ff-feedback-form.php?site_code=8166124&form_id=12116&url=step3
etc.

step1, step2, step3, etc. can be whatever we want to name them (e.g., we can use more intuitive names).
Ken, can you or anyone else provide me with a link to a funnelcake build so I can look at the file structure? Thanks
(Reporter)

Comment 7

10 years ago
Kev or Jeremy -- can you provide Rob with a link to a funnelcake build?
fyi: I should be able to have the patch finished by tomorrow. From there it will need to be reviewed and landed which shouldn't take more than a day to two days
Assignee: nobody → robert.bugzilla
Status: NEW → ASSIGNED

Comment 9

10 years ago
rstrong: on people in /var/www/html/files/partners/mozilla07/3.0.7/win32/en-US

let me know if you need access via http.
I tried accessing that earlier via http with my ldap password without success so can you grant me access?
There are a total of 6 pages the user can cancel the installation from... these pages are: Welcome, Options, Directory, Shortcuts, StartMenu, and Summary
Created attachment 367965 [details] [diff] [review]
Patch in progress

Still need the directory structure for an installer with funnelcake before I can finish this up.

I used comment #5 for url construction with the url
http://www.kampyle.com/feedback_form/ff-feedback-form.php?site_code=8166124&form_id=12116&url=stepn
where n is the numeric step the user aborted on

The pages relate to the steps as follows
1 = Welcome
2 = Options
3 = Directory
4 = Shortcuts
5 = StartMenu
6 = Summary

The text and buttons still need to be worked out with beltzner
Created attachment 367966 [details]
screenshot

I wasn't able to come up with decent text for a Yes / No / Cancel messagebox and instead went with a Yes / No messagebox with the text "Would you like to tell us why you are canceling this installation?"

This doesn't give the user the option of canceling the cancel like they normally can which I think is acceptable since the instruction to the user is more clear and concise this way.
Attachment #367966 - Flags: ui-review?(beltzner)
Comment on attachment 367966 [details]
screenshot

Also, which button should be default?
Attachment #367966 - Flags: ui-review?(beltzner) → ui-review+
Comment on attachment 367966 [details]
screenshot

uir=beltzner, "yes" should be default
(Reporter)

Updated

10 years ago
Blocks: 484049
(Reporter)

Updated

10 years ago
Blocks: 484051
Created attachment 368103 [details] [diff] [review]
patch rev1
Attachment #367965 - Attachment is obsolete: true
Attachment #368103 - Flags: review?(jmathies)
(Reporter)

Comment 17

10 years ago
The urls outlined in comment #12 look good.
Note: this will enable the survey when aborting the installer whenever the installer locale is en-US and there is a distribution.ini with a '[Global]' section with an 'about' section entry that has the string Funnelcake (case insensitive) within the full string.

Comment 19

10 years ago
Comment on attachment 368103 [details] [diff] [review]
patch rev1

Noticed one little comment typeo - "; Cacnel = don't exit."

I was also going to suggest using icon question rather than icon exclamation for the question dialog, but I guess ms depreciated that, so I guess exclamation is the right thing to do.
Attachment #368103 - Flags: review?(jmathies) → review+
(In reply to comment #19)
> (From update of attachment 368103 [details] [diff] [review])
> Noticed one little comment typeo - "; Cacnel = don't exit."
Fixed

> I was also going to suggest using icon question rather than icon exclamation
> for the question dialog, but I guess ms depreciated that, so I guess
> exclamation is the right thing to do.
It is also the default for these messageboxes in nsis
Created attachment 368177 [details] [diff] [review]
patch for CVS 1.9.0.x
Attachment #368177 - Flags: review+
Created attachment 368180 [details] [diff] [review]
mozilla-central patch - (checked in)

updated to comments and carrying forward r+
Attachment #368103 - Attachment is obsolete: true
Attachment #368180 - Flags: review+
Created attachment 368181 [details] [diff] [review]
mozilla-1.9.1 patch - (checked in)

There was a little bit of fuzz on mozilla-1.9.1 so I am attaching a separate patch for it
Attachment #368181 - Flags: review+
Created attachment 368184 [details]
3.0.7 setup.exe for reference
Pushed to mozilla-central
http://hg.mozilla.org/mozilla-central/rev/41074d6c1919
Status: ASSIGNED → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
Attachment #368181 - Flags: approval1.9.1?
Attachment #368181 - Flags: approval1.9.0.8?
Comment on attachment 368181 [details] [diff] [review]
mozilla-1.9.1 patch - (checked in)

Requesting approval for 1.9.1 and 1.9.0.8
Comment on attachment 368181 [details] [diff] [review]
mozilla-1.9.1 patch - (checked in)

1.9.0.8 is done. Definitely wouldn't take a fix like this until after it's in 1.9.1, but even then it's hard to argue this is in scope with our branch security updates. Have the localization issues been cleared w/Axel or SethB?
Attachment #368181 - Flags: approval1.9.0.8? → approval1.9.0.9?
(In reply to comment #27)
> (From update of attachment 368181 [details] [diff] [review])
> 1.9.0.8 is done. Definitely wouldn't take a fix like this until after it's in
> 1.9.1, but even then it's hard to argue this is in scope with our branch
> security updates. Have the localization issues been cleared w/Axel or SethB?
The string is hardcoded and only used with en-US (comment #18 has the conditions) and Funnelcake is en-US only as well.
Comment on attachment 368181 [details] [diff] [review]
mozilla-1.9.1 patch - (checked in)

I didn't think we wanted to do this permanently without a slightly better UI? Am I missing some context, here? Is Kampyle always going to be running?

Comment 30

10 years ago
Think the idea was to have the infrastructure in the installer to run more of these anytime with a low touch from dev, but not run it all the time.  Correction anyone?
(In reply to comment #29)
> (From update of attachment 368181 [details] [diff] [review])
> I didn't think we wanted to do this permanently without a slightly better UI?
> Am I missing some context, here?
I personally don't think having three choices as follows is better for the funnelcake builds
a) fill out survey and exit
b) don't fill out survey and exit
c) don't exit

As it stands it is
a) fill out survey and exit
b) don't fill out survey and exit

Also, the process can be restarted.

I'll spend some more time investigating the options available via NSIS to provide non-standard Windows UI for this. I considered displaying the finish page with this info after displaying the standard "are you sure" dialog which would then allow the user to fill out the survey though that would add steps. Another option would be to create a non-standard messagebox which would likely require creating an NSIS plugin since the source code was lost for the only existing one I have found.

> Is Kampyle always going to be running?

It is automatically enabled under the following scenario

(In reply to comment #18)
> Note: this will enable the survey when aborting the installer whenever the
> installer locale is en-US and there is a distribution.ini with a '[Global]'
> section with an 'about' section entry that has the string Funnelcake (case
> insensitive) within the full string.

This allows the funnelcake repackaging to enable it without additional work performed by anyone.
Comment on attachment 368181 [details] [diff] [review]
mozilla-1.9.1 patch - (checked in)

a191=beltzner
Attachment #368181 - Flags: approval1.9.1? → approval1.9.1+
Attachment #368181 - Flags: approval1.9.0.10?
Pushed to mozilla-1.9.1
http://hg.mozilla.org/releases/mozilla-1.9.1/rev/2066aa64aac8
Keywords: fixed1.9.1
Target Milestone: --- → Firefox 3.5b4
Attachment #368181 - Attachment description: mozilla-1.9.1 patch - to be checked in → mozilla-1.9.1 patch - (checked in)
Attachment #368180 - Attachment description: mozilla-central patch - to be checked in → mozilla-central patch - (checked in)
Comment on attachment 368177 [details] [diff] [review]
patch for CVS 1.9.0.x

Drivers, this has landed on both trunk and mozilla-1.9.1. I'd like to get it for 1.9.0.9 to lessen the amount of work needed for funnelcake releases.
Attachment #368177 - Flags: approval1.9.0.9?
Comment on attachment 368177 [details] [diff] [review]
patch for CVS 1.9.0.x

1.9.0.9 is code frozen, we'll look at this for 1.9.0.10.
Attachment #368177 - Flags: approval1.9.0.9? → approval1.9.0.10?
Comment on attachment 368177 [details] [diff] [review]
patch for CVS 1.9.0.x

> Function preWelcome
>+  StrCpy $PageName "Welcome"

Are these strings an internal state marker, or are they displayed? If displayed what keeps them from showing up in localized installers? Are the modified functions _only_ used by the survey process?
(In reply to comment #36)
> (From update of attachment 368177 [details] [diff] [review])
> > Function preWelcome
> >+  StrCpy $PageName "Welcome"
> 
> Are these strings an internal state marker, or are they displayed? If displayed
> what keeps them from showing up in localized installers? Are the modified
> functions _only_ used by the survey process?
They are state markers and are not displayed.

The CustomAbort function is used for all locales when aborting.

When aborting with a funnelcake build that is en-US per
(In reply to comment #18)
> Note: this will enable the survey when aborting the installer whenever the
> installer locale is en-US and there is a distribution.ini with a '[Global]'
> section with an 'about' section entry that has the string Funnelcake (case
> insensitive) within the full string.
the other new functions will be used.

When any of these conditions aren't met the CustomAbort function is still used and it duplicates the existing behavior where the MOZ_MUI_TEXT_ABORTWARNING string is used to give the user the option to not abort the installer.
Comment on attachment 368177 [details] [diff] [review]
patch for CVS 1.9.0.x

Approved for 1.9.0.10, a=dveditz for release-drivers
Attachment #368177 - Flags: approval1.9.0.10? → approval1.9.0.10+
Checked in for 1.9.0.10
Checking in mozilla/browser/installer/windows/nsis/installer.nsi;
/cvsroot/mozilla/browser/installer/windows/nsis/installer.nsi,v  <--  installer.
nsi
new revision: 1.48; previous revision: 1.47
done
Checking in mozilla/toolkit/mozapps/installer/windows/nsis/common.nsh;
/cvsroot/mozilla/toolkit/mozapps/installer/windows/nsis/common.nsh,v  <--  commo
n.nsh
new revision: 1.45; previous revision: 1.44
done
Keywords: fixed1.9.0.10
Since this installer is not part of standard 1.9.0 builds, how do I verify this fix for 1.9.0.11? Is there a funnelcake build for 1.9.0.11 available?
No, but there will be shortly after we ship (I think a week or two?). This can't be verified until then, or at least until Funnelcake builds are started.
The best that can be done without a funnelcake build is to:
1. extract an installer using 7-Zip http://www.7-zip.org/
2. inside the extracted directory create a new directory named distribution inside the nonlocalized directory.
3. create a new file named distribution.ini inside the new distribution directory.
4. add the following to the distribution.ini file

[Global]
about=Funnelcake Test

5. launch the setup.exe in the root of the directory of the originally extracted installer.
Thanks. I verified using the steps in comment 42 for 1.9.0.11.
Keywords: fixed1.9.0.11 → verified1.9.0.11
You need to log in before you can comment on or make changes to this bug.