Closed Bug 247200 Opened 20 years ago Closed 20 years ago

"Install now" link on themes/extensions confuses thunderbird-users

Categories

(addons.mozilla.org Graveyard :: Public Pages, defect, P1)

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: david.bjorklund, Assigned: wolf)

References

Details

(Whiteboard: fixed-development)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040609 Firefox/0.8.0+
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040609 Firefox/0.8.0+

People using thunderbird cannot install themes/extensions right throught
update.mozilla.org... They need to be downloaded first. But the link to the
install makes it seems that way. Therefore I suggest that the install now-link
are taken away or that it actually becomes possible to install themes/extensions
to thunderbird just by clicking a link.

Reproducible: Always
Steps to Reproduce:
I'll confirm this. :)  To make matters worse, if you click Install Now, Firefox
actually tries to install it into Firefox.  Talk about confusing people. :)

Besides changing the link from Install Now to Download, it should probably
conditionally set the content type to something besides xpinstall so Firefox
won't try to install it when you click on it.  Also needs instructions somewhere
to use the Install button from Thunderbird preferences, then browse to the file.
 (i.e. double-clicking the file is likely to not Do The Right Thing)
Status: UNCONFIRMED → NEW
Ever confirmed: true
I'll go ahead and assign this to me, I'll try to get to this today or tomorrow.

Re Comment #1: I can't actually force-download the XPIs because Update uses the
ftp mirrors.  and the only method I know of to force a download would put way
too much bandwidth use and stress on the update server itself. :-/
Assignee: nobody → psychoticwolf
I got very confused when installing a Thunderbird extension didn't work,
instead, it got installed into Firefox because that is my default browser that
is used to access the update site...
Thankfully the thunderbird extension didn't break Firefox, and that we now have
an uninstall feature :-)

But what I would like to suggest is to make it very clear on the "installation"
web page for every Thunderbird extension, that you should either drag the
install link into Thunderbird's extension manager, or right-click-save-as the XP
file and install it separately from within Thunderbird afterwards.


BTW: probably the same problem exists with Thunderbird skins, although I didn't
try that out yet.
*** Bug 248822 has been marked as a duplicate of this bug. ***
Please raise the priority on this bug.  People who are unfamiliar with
extensions are confused as we can all see from the numerous comments left for
the Thunderbird extensions.  As mentioned in bug 248822, a different PHP file
should be used and a different link label should be used for Thunderbird
extensions/themes.  The label should be "Download now" instead of "Install now".
 Your comment about the XPIs being on mirrors is not relevant because all that
needs to be done is set the links to point to a download.php instead of an
install.php as it is now.

For example, the Contacts Sidebar extension's "Install now" is currently
http://update.mozilla.org/extensions/install.php/contactssidebar.xpi?id=70&vid=75

It can be changed to
http://update.mozilla.org/extensions/download.php/contactssidebar.xpi?id=70&vid=75

and the download.php can be set up as in bug 248822 and point to the XPI on a
mirror.
install.php simply grabs the URL to the file and redirects, which isn't even
used with themes actually. download.php cannot exist and work as you expect
because of the redirection.

the mirror servers provides the content-type headers, which is
application/x-xpinstall, which Firefox picks up on and throws a dialog. If it's
/not/ sent with that type, then firefox/mozilla suite ignore it. (offer an
application helper dialog). 
I cannot override the header or specify it myself, in the PHP script, because
those headers are discarded once it hits the Location header, a new HTTP request
begins. The same applies to ftp links, Firefox guesses from the extension. :-/
It'd be nice if it didn't.

So, the scope of this bug is not really to fix the technoloigical limitations,
but to clear up confusion, so end-users know *what* do to. (Right-click, save
link as..., Open Tbird - tools/Extension Manager, hit install button, select
file, hit ok.)
Severity: normal → major
OS: Windows XP → All
Priority: -- → P1
Hardware: PC → All
I agree that the instructions for installing Thunderbird extensions should be
included somewhere on the page but also, here is a test page I set up to
demonstrate the download.php file as posted in bug 248822.

http://www.chuonthis.com/extensions/test.php

My download.php file is actually named testdownload.php and contains only those
lines posted in the other bug.  As you can see, a direct link to buttons.xpi (on
the selected u.m.o mirror) will trigger the Firefox XPI installer but through
the testdownload.php file, Firefox will ask the user to save the file.

Using the download.php found in the other bug, you can just replace
$completeFilePath variable with whatever mirror URL is desired.  A new Location
header is not received because of the fpassthru() PHP function so the file is
received with whatever headers were written before that command.  This in effect
overrides the content-type provided by the mirrors.

One more thing, I noticed that some mirrors do not send the
application/x-xpinstall content-type for its XPI files such as
http://mozilla.gnusoft.net/extensions/  That should not be relied on and
instead, the install.php should be sending the content-type similar to the
download.php file.
(In reply to comment #7)
> Using the download.php found in the other bug, you can just replace
> $completeFilePath variable with whatever mirror URL is desired.  A new
> Location header is not received because of the fpassthru() PHP function
> so the file is received with whatever headers were written before that
> command.  This in effect overrides the content-type provided by the mirrors.

It also channels the entire file download through update.mozilla.org (twice -
once to bring it in from the mirror, and once to send it out to the client),
which completely negates the entire purpose of having mirrors (i.e. to relieve
the bandwidth stress on the main Mozilla Foundation servers)

> One more thing, I noticed that some mirrors do not send the
> application/x-xpinstall content-type for its XPI files such as
> http://mozilla.gnusoft.net/extensions/  That should not be relied on and
> instead, the install.php should be sending the content-type similar to the
> download.php file.

That was a bug, and should actually be fixed now.  Those were the servers
operated by AOL, and it was supposedly corrected last week.
Whoops, you're right about it causing load on the server, didn't think about
that.  I guess probably because I skipped over comment 2.  :\

Okay, two more possibilities:

1) The way I have my server set up is have all Firefox extensions in one folder
with an .htaccess file that sets the content-type for the XPI files and all
Thunderbird extensions in another folder that doesn't set the content-type. 
Maybe that can be set up on the mirrors too?

2) The install.php file can redirect you to a download.php file on the mirror
which would then set the application/octet-stream content-type.

These options probably aren't feasible so posting installation instructions may
be sufficient and the only thing that can be done.
Status: NEW → ASSIGNED
Re Comment #9: Well, the mirrors ignore .htaccess files.. and none of them are
capable of parsing PHP. So looks like the instructions and a few link changes is
the fix here. :-/
This might be a stupid question, but couldn't/shouldn't FireFox handle this 
when you attempt to install an XPI for a product other then FireFox?

Ideally, FireFox would simply popup saying "This XPI cannot be used in FireFox 
v0.9, it is compatible with $product $version -- Do you wish to save to disk" 
or something to that effect?
OK, this is fixed on my development server. The fix for this will go live with
alot of other stuff soon. 

The instructions on the page for installing Extensions are as follows, if
anybody has any suggestions for changes, let me know.


Extension Install Instructions for Thunderbird Users:
(1) Right-Click the link above and choose "Save Link As..." to Download and save
the file to your hard disk.
(2) In Mozilla Thunderbird, open the theme manager (Tools Menu/Themes)
(3) Click the Install button, and locate/select the file you downloaded and
click "OK"
Whiteboard: fixed-development
(In reply to comment #11)
> Ideally, FireFox would simply popup saying "This XPI cannot be used in FireFox 
> v0.9, it is compatible with $product $version -- Do you wish to save to disk" 
> or something to that effect?

It'd be nice if it did something like that, to reduce confusion, but that's not
this bug.. File a bug about it in the Extension/Theme Manager component under
Product Firefox and comment here with the Bug #. :-)
I realize that -- I'm just thinking that it would negate the need for this bug,
and curious if I'm missing something obvious, or if not, why nobody else thought
of it first (I'm not really up to speed with Mozilla and family these days)

http://bugzilla.mozilla.org/show_bug.cgi?id=254116
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Component: Update → Web Site
Product: mozilla.org → Update
Version: other → unspecified
Product: addons.mozilla.org → addons.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.