Support

Admin Tools

#35662 Failed to download package, Error connecting to the server: 403 also with akeeba backup AGAIN????

Posted in ‘Admin Tools for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Admin Tools version
n/a

Latest post by nicholas on Wednesday, 18 August 2021 12:11 CDT

sumawelt

After performing your update dance on 100+ sites multiple times due to problems updating akeeba software a few months ago, it seems we have the same problem again???

Really: There is no Joomla extension we have more problems updating than akeeba software. Maybe some of the problems are due to bad joomla update code, but it can't be just that: 70% of alle problems concerning updates on our sites are related to Akeeba software and we have many other extensions running on as many sites....

whats wrong this time?

 

nicholas
Akeeba Staff
Manager

I will say this again as I have said it again.

The Joomla project DOES NOT ALLOW US to use our own updater. If we did our software would be immediately removed from the Joomla Extensions Directory (JED). The only updater we are allowed to use is Joomla's built-in extensions updater. This code is managed 100% by the Joomla project. We have no control over it.

I have explained why Joomla is losing the Download ID in https://www.akeeba.com/news/1746-working-around-joomla-s-broken-extensions-updater.html

I have also explained that I have been reporting these problems to the Joomla project for EIGHT (8) YEARS. Since 2014. For real.

Your ticket is EXACTLY what I have been describing to the Joomla projects. Our clients don't believe us that the update process is messed up because Joomla's own code is subpar and does not work properly. Our clients blame us for code that is the sole responsibility of the Joomla project and which we are FORCED TO USE AGAINST OUR WILL on pain of being removed from the JED. The Joomla project's incompetence is causing us friction with our clients and loss of revenue. What are we supposed to do? Sue the Joomla project to get an injunction against their exploitative requirement to use their broken updater?

There are only two (2) technical measures we can take which we have already taken.

On Joomla 3 we have create Installer plugins. These plugins read the Download ID you have entered in the component's Options and apply it when Joomla is trying to download the update package. We had asked you to temporarily disable them for the update from Akeeba Backup 7 to 8 back in March. Have you re-enabled them? If not, you should. Note that if you have enabled these plugins YOU DO NOT NEED to do the weird dance which is require BY JOOMLA ITSELF, BECAUSE OF BUGS IN THE JOOMLA CORE CODE AND APPLIES TO ALL EXTENSIONS, IT HAS ABSOLUTELY NOTHING AT ALL WHATSOEVER TO DO WITH OUR EXTENSIONS. I have PROVEN that point by creating a dummy plugin with no code (that is, even less code than Regular Lab's “What? Nothing!” joke plugin) and reproducing this issue. I HAVE reported this to the Joomla project again and again and bloody all over again. They just. don't. care. to. fix. it. We cannot take responsibility for Joomla's incompetence and inaction!

If the Installer – Akeeba Backup plugin is enabled on your site have you entered the Download ID in the component's Options? If not, well, you can't download updates for subscribers only unless you have the Download ID which identifies you as a subscriber. If the plugin is enabled AND you have entered the Download ID then the problem lies somewhere between Joomla and your host. Joomla tries to use either the PHP cURL extension OR the fopen() URL wrapper but neither you nor us have any say on which one it will use. It's possible that it chooses to use the latter but your host disallows it. It's also possible that your host is blocking connecting to our site (www.akeeba.com) over HTTPS. It's also possible that Joomla is still using the very old (6+ years old!) Certification Authority cache file which means that PHP is not able to connect to our site because we are using a modern, secure HTTPS certificate — the Joomla project did address this issue in Joomla 3.9.27 and later.

WE know how to fix ALL of those problems. WE have offered OUR help to the Joomla project and they have declined it every time over the last 8 years. How are we responsible for any of that?!

On Joomla 4 we have moved to NOT using custom code to write to the extra_query column of the #__update_sites table. Instead, we are letting Joomla handle it. Once again, we see that Joomla DOES occasionally lose the Download ID, e.g. when rebuilding the update sites. There ARE third party extensions which call Joomla's code to rebuild the update sites, causing this issue. We can't do anything about that either.

So, really, what exactly you want us to do? Disable automatic updates because Joomla's extensions updater is broken and they won't allow us to use anything else? Give all our software away for free by making the update site available without a Download ID? Neither of these allow us to run a business which would mean that we would no longer be able to maintain any of our software anymore.

I know it's frustrating but you are barking up the wrong tree. We are both victims of Joomla's chronic incompetence. If we were allowed to use our own updater we'd do it in a heartbeat. Our Akeeba Live Update was working spectacularly well and we had no problems with it. As a matter of fact, we were the first extension developers to offer live extension updates in Joomla! ever since Joomla! 1.5.5 came out, with the precursor to Akeeba Live Update in JoomlaPack 2 (the precursor to Akeeba Backup) all the way back in 2008!!! We KNOW how extension updates work and we KNOW how to implement them in a way that doesn't break all the freaking time. We are simply NOT ALLOWED to do that anymore. We were forced to remove Akeeba Live Update from our extensions and use the shoddy, subpar, broken and unsuitable for purpose code that Joomla offers exactly because if we continued to use it they would delist our software from the Joomla! Extensions Directory.

As for other extensions, since you mentioned that, they use installer or extension plugins in Joomla 3 and the native manifest method in Joomla 4. So do we. The problem with installer / extension plugins is that if you disable them and forget to re-enable them they no longer apply, resulting in update problems. This is not unique to our extensions, it applies to all other commercial extensions as well. For example, if you disable JCE's extension plugin it will fail to update. With the Joomla 4 method the problem remains that Joomla WILL remove the Download ID “randomly” (there are specific reasons which I have explained in the article I linked above) that Joomla just won't fix. Again, this is not unique to our extensions, it applies to all commercial extensions.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

sumawelt

Nicolas, you have explained this serveral times, but why do we have these problems almost solely with akeeba on a regula basis? Updating works fine with every other extension.

nicholas
Akeeba Staff
Manager

If you go back to my first reply in this ticket I am already explaining that. I'll try again using small words.

There are two kinds of extensions, free and commercial.

Free extensions do NOT need to authenticate the download of the update. It's freely available to all. These extensions will never have a problem updating unless you have a server issue or their developer's site is down.

Commercial (paid) extensions cannot let you download updates freely. If that was possible anyone could download the paid version without paying and the business making them would go under. Downloads need to be authenticated.

Joomla provides TWO (2) methods for authenticating the update downloads for commercial extensions:

1. Using the #__update_sites records. This is buggy. We use this as a fallback on Joomla 3. This is the recommended method on Joomla 4 so this is the only option we offer on Joomla 4 and only on Joomla 4. Most Joomla 3 extensions don't use it at all. All Joomla 4 extensions I have seen use this as this is the recommended method.

2. Using a plugin event. This plugin event can be provided in a system, installer or extension plugin (these are the plugin types which are always loaded by Joomla). Most Joomla 3 extensions use this method, with an installer plugin. We do the same since 2018.

However, you had to disable the Installer for Akeeba Backup and Admin Tools plugins temporarily to update from Akeeba Backup 7 to Akeeba Backup 8 and from Admin Tools 6 to Admin Tools 7. That was necessary to work around a bug in Joomla's extensions updater which made it impossible to install updates to two of our extensions because of a chicken and egg issue it caused. Most extensions don't have that problem because most commercial extension developers have exactly ONE extension in their portfolio (e.g. JCE) or force you to use the same download key for all of their extensions (e.g. Regular Labs).

So, as I said, you need to check a few things.

FIRST check if the Installer – Akeeba Backup and Installer – Admin Tools plugins are enabled.

If they are not enabled you need to enable them. Also note that we do try to re-enable them for you when you install an update but it's ultimately up to Joomla to decide if this will actually happen. Having update problems when the plugin handling the pre-download event is disabled is NOT unique to our extension, it is something which happens on ALL commercial extensions.

Also note that if these plugins are not enabled the only available method to authenticate the updates download is the fallback to the #__update_sites. However, this is buggy for the reasons I have explained many times. So even though you had disabled the plugins you would still be able to install updates thanks to the fallback BUT this stopped working because you hit one of the Joomla bugs which cause Joomla to lose the Download ID from the #__update_sites table.

Please note that after enabling these plugins you DO NOT – REPEAT: NOT – need to do the weird dance to refresh the updates. Also note that the weird dance to refresh the updates is NOT unique to our extensions, it applies to any extension using the #__update_sites record to store the Download ID and is necessary to work around three different Joomla bugs. This was fixed in Joomla 4; you can now click just one button to force reload the updates, FINALLY!

SECOND. If you have enabled these two plugins and you still have update issues it can mean one of three things.

1. You have NOT entered the Download ID to Akeeba Backup and Admin Tools. Go and check EACH of the components' Options. This issue has nothing to do with us, obviously.

2. You HAVE entered the Download ID but it's wrong. Check it against the Download IDs listed in the https://www.akeeba.com/download/official/add-on-dlid.html page. This issue has nothing to do with us, obviously — we NEVER change the Download IDs unless you explicitly come to our site and click on the button to regenerate or unpublish a Download ID.

3. You HAVE entered the Download ID, it IS correct but either a problem in Joomla or your server does not allow you to download the update. Again, this is not an issue that has to do with us. However, I consider it the least likely root cause for your issue. If that was the case you would MOST LIKELY not be able to see the updates (there's still a small chance your server could allow the update information to be fetched from cdn.akeeba.com but not the update package from www.akeeba.com, served by two different CDN providers each, Amazon CloudFlare and CloudFront respectively).

So, do you want to actually check the plugins and Download IDs on your sites or are you here just to vent? I can only help with problems, I will not accept venting. I have enough things Joomla 3.10 and 4 broke to deal with, despite the fact that I have been working 12 hours a day, 6 to 7 days a week for the past two months, testing our software on each and every pre-release version of Joomla. They still managed to include last minute changes which broke stuff!

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

sumawelt

OK, but why don't we have these problems with Acymailing, any regularlabs extensions, Joomlack or JCE??

All of them are paid extensions and I use any of them on most of our sites and we never have problems updating those

nicholas
Akeeba Staff
Manager

I have already answered your question in my previous reply. Please read it, not skim it through.

Everything I have told you is true. If you do not believe me you are free to examine the source of Joomla and our extensions to see how Download IDs work on either side and verify what I have said. You can also examine the source code of the third party extensions to see that the reason I have you is consistent with how they work when updates are being retrieved by Joomla.

I am closing this ticket since your question has been fully answered and you have already been given a solution. 

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!