? ? Success

User tests: Successful: Unsuccessful:

avatar Bakual
Bakual
27 Jul 2015

Issue

When you try to update the Weblinks package, you may get an SSL error depending on your enviroment. This error may look like one of the following:
no-cert
failed-cert
At least the second issue is coming from the Amazon S3 repo where the weblinks package is hosted. The SSL cert chain has an no-longer trusted weak root cert. See joomla-extensions/weblinks#79 for more information.
The same issue is also present for other extensions that are hosted on Amazon S3 (or GitHub).

Solution

Since the issue isn't located withing Joomla or the extension, there isn't much we can do except waiting for Amazon S3 to fix their cert.
However we can make it a bit easier for the user to download the package manually.
This PR just proposes to make the URL of the package linkable so it may be downloaded and installed using the Extension Manager.
Currently that message looks like this:
pre
After patch it will be
post

On a sidenote: This PR does not only help with failed downloads due to SSL errors. It will help with any failed download for whatever reason.

Testing

On an affected system, install Weblinks 3.4.0 (https://github.com/joomla-extensions/weblinks/releases/tag/3.4.0) and search for updates.
Try to install the proposed update to Weblinks 3.4.1.
For me, XAMPP installations failed as well downloading the update due to the first error shown at the beginning, which makes it easy to reproduce the issue.

Remarks

I thought about also adding a hint like "You can try to download the package manually and install it using Install -> Upload Package File". But not sure how to word that short and clear. Maybe something for @brianteeman ?

avatar Bakual Bakual - open - 27 Jul 2015
avatar Bakual Bakual - change - 27 Jul 2015
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 27 Jul 2015
Labels Added: ? ?
avatar mbabker
mbabker - comment - 27 Jul 2015

So serious question. What is the update component doing that JUpdater and by proxy JHttp aren't? Because the CMS packages are here on GitHub too and unless the component is configuring cURL differently than JHttp is, both would hit the same error.

avatar mbabker
mbabker - comment - 27 Jul 2015

And as far as the error text is concerned... Well, that leaves a lot to be desired. Why did it fail? What am I supposed to do with this link you're giving me? Can you give me a way to get more details about the error if you aren't going to display anything useful in the UI (in this state, we just throw away the error with no apparent logging mechanism around it, not very useful for troubleshooting)?

Just throwing ideas around. Nobody come at me with a pitchfork please.

avatar brianteeman
brianteeman - comment - 27 Jul 2015

I agree with @mbabker about the text and I dont see the reason for making
it a link. What is the purpose?

NOTE: We have had other reports of this type of thing before from 3pd. The
last one was iirc from @jceeditor

On 27 July 2015 at 21:46, Michael Babker notifications@github.com wrote:

And as far as the error text is concerned... Well, that leaves a lot to be
desired. Why did it fail? What am I supposed to do with this link you're
giving me? Can you give me a way to get more details about the error if you
aren't going to display anything useful in the UI (in this state, we just
throw away the error with no apparent logging mechanism around it, not very
useful for troubleshooting)?

Just throwing ideas around. Nobody come at me with a pitchfork please.


Reply to this email directly or view it on GitHub
#7570 (comment).

Brian Teeman
Co-founder Joomla! and OpenSourceMatters Inc.
http://brian.teeman.net/

avatar Bakual
Bakual - comment - 28 Jul 2015

And as far as the error text is concerned... Well, that leaves a lot to be desired. Why did it fail? What am I supposed to do with this link you're giving me? Can you give me a way to get more details about the error if you aren't going to display anything useful in the UI (in this state, we just throw away the error with no apparent logging mechanism around it, not very useful for troubleshooting)?

I'm not sure I understand. The reason why it failed is written in the yellow warning above the red error text. Granted, it's quite technical but it's a accurate information there, if you understand it. It should also end up in the log, if you set the log up to catch those messages.

Unfortunately, the red error message may be due to any reason, and we don't have an easy way to detect the error and adjust the error message. They are generated at different places in code.

I dont see the reason for making it a link. What is the purpose?

Just to make it simpler for the user to download the package manually and install it using the Installer. Instead of copy-pasting the url, he can click it directly. I thought that would be a bit more intuitive for the user. They tend to click links if presented :)
And if the message could be reworded clever, they would even get that they can install that package they just downloaded :smile:

avatar Bakual
Bakual - comment - 28 Jul 2015

So serious question. What is the update component doing that JUpdater and by proxy JHttp aren't? Because the CMS packages are here on GitHub too and unless the component is configuring cURL differently than JHttp is, both would hit the same error.

Good question! Someone knows how the update component works? :smile:

avatar Bakual
Bakual - comment - 28 Jul 2015

From looking at com_joomlaupdate, it doesn't use JHttp like the extension updater. It uses AdmintoolsHelperDownload::download(). And there it sets CURLOPT_SSL_VERIFYPEER to false, which of course makes it work (the root cert isn't checked and thus doesn't fail), but nullifies an important part of the point of SSL.

avatar mbabker
mbabker - comment - 28 Jul 2015

I'm not sure I understand. The reason why it failed is written in the yellow warning above the red error text. Granted, it's quite technical but it's a accurate information there, if you understand it. It should also end up in the log, if you set the log up to catch those messages.

At first it seemed like you were changing the whole error block to just use that red screen cap only. OK, now that that's clarified...

Just to make it simpler for the user to download the package manually and install it using the Installer. Instead of copy-pasting the url, he can click it directly. I thought that would be a bit more intuitive for the user. They tend to click links if presented :)
And if the message could be reworded clever, they would even get that they can install that package they just downloaded :smile:

It still tells the user absolutely nothing. What's the purpose of giving them that URL? Is it a link they're supposed to click or just some fancy error message? If anything, just changing it to a link with no supplementary information is even more confusing than it is now.

avatar brianteeman
brianteeman - comment - 28 Jul 2015

Agreed - I made the same assumption about the message

On 28 July 2015 at 13:44, Michael Babker notifications@github.com wrote:

I'm not sure I understand. The reason why it failed is written in the
yellow warning above the red error text. Granted, it's quite technical but
it's a accurate information there, if you understand it. It should also end
up in the log, if you set the log up to catch those messages.

At first it seemed like you were changing the whole error block to just
use that red screen cap only. OK, now that that's clarified...

Just to make it simpler for the user to download the package manually and
install it using the Installer. Instead of copy-pasting the url, he can
click it directly. I thought that would be a bit more intuitive for the
user. They tend to click links if presented :)
And if the message could be reworded clever, they would even get that they
can install that package they just downloaded [image: :smile:]

It still tells the user absolutely nothing. What's the purpose of giving
them that URL? Is it a link they're supposed to click or just some fancy
error message? If anything, just changing it to a link with no
supplementary information is even more confusing than it is now.


Reply to this email directly or view it on GitHub
#7570 (comment).

Brian Teeman
Co-founder Joomla! and OpenSourceMatters Inc.
http://brian.teeman.net/

avatar Bakual
Bakual - comment - 28 Jul 2015

At first it seemed like you were changing the whole error block to just use that red screen cap only. OK, now that that's clarified...

Ah, no. That would indeed be stupid :smile:

It still tells the user absolutely nothing. What's the purpose of giving them that URL? Is it a link they're supposed to click or just some fancy error message? If anything, just changing it to a link with no supplementary information is even more confusing than it is now.

That's why I thought to expand that error message with an additional text. But wanted some input how to word it as I didn't come up with something that sounds halfway like proper english.

avatar Bakual
Bakual - comment - 28 Jul 2015

Sorry for not being clear enough then. I'm only changing the URL in the red error message to be a clickable link. The rest remains untouched.

errors

avatar brianteeman
brianteeman - comment - 28 Jul 2015

So how about instead of

Package download failed link

change it to

Failed to download package from link

avatar Bakual
Bakual - comment - 28 Jul 2015

Would at least be more clear to me what that link is doing there :+1:
I think best would be if we can tell the user that he can try to download and install it manually. To give them a hint how to proceed further.

avatar brianteeman
brianteeman - comment - 28 Jul 2015

Failed to download package. Download it and install manually from link

On 28 July 2015 at 14:05, Thomas Hunziker notifications@github.com wrote:

Would at least be more clear to me what that link is doing there [image:
:+1:]
I think best would be if we can tell the user that he can try to download
and install it manually. To give them a hint how to proceed further.


Reply to this email directly or view it on GitHub
#7570 (comment).

Brian Teeman
Co-founder Joomla! and OpenSourceMatters Inc.
http://brian.teeman.net/

avatar infograf768
infograf768 - comment - 28 Jul 2015

Rather: "Failed to download package. Download it from link and install manually"
as, I guess, installing from link in Extensions->installer would get the same issue.

avatar mbabker
mbabker - comment - 28 Jul 2015

Installing from link will hit the same issue as the CMS will try to download the package from the upstream provider and hit the same SSL error. A user who hits this error HAS to download the package to their local PC and install in the extension manager that way.

avatar Bakual
Bakual - comment - 28 Jul 2015

Updated with the suggestion from Brian.
Looks like this now:
newstring

avatar brianteeman brianteeman - change - 29 Jul 2015
Category Installation
avatar Kubik-Rubik Kubik-Rubik - change - 6 Aug 2015
Milestone Added:
avatar Kubik-Rubik
Kubik-Rubik - comment - 6 Aug 2015

Merged by review. Thank you @Bakual!

avatar Kubik-Rubik Kubik-Rubik - reference | 1504a4f - 6 Aug 15
avatar Kubik-Rubik Kubik-Rubik - merge - 6 Aug 2015
avatar Kubik-Rubik Kubik-Rubik - close - 6 Aug 2015
avatar Kubik-Rubik Kubik-Rubik - change - 6 Aug 2015
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2015-08-06 11:07:57
Closed_By Kubik-Rubik
avatar Bakual Bakual - head_ref_deleted - 6 Aug 2015

Add a Comment

Login with GitHub to post a comment