Support

Akeeba Backup for Joomla!

#41135 OneDrive disconnection

Posted in ‘Akeeba Backup 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
5.1.4
PHP version
8.2.23
Akeeba Backup version
9.9.6

Latest post by nicholas on Tuesday, 24 September 2024 00:21 CDT

Gixia

Hello,
It has been several weeks or months since I configured a site with JPA push to OneDrive, and everything was going well until three days ago. Without any action on my part, the backups are once again being saved in the administrator/akeeba/backup folder instead of going to OneDrive. However, when I check the profile settings, everything still seems to be correctly configured.

I have the latest versions of Joomla, PHP, and Akeeba. Do you know where the issue could be coming from?
I even tried re-saving the configuration and performing another backup, but nothing changes.

Thank you in advance.

.

tampe125
Akeeba Staff

Hello,

do you have more one than backup profile? Can you please attach the log of a backup process affected by this issue?

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

nicholas
Akeeba Staff
Manager

For what it's worth, I tried reproducing your issue and I may have an idea.

I had an account with a very old refresh token (I've been using it over the last few years). This one was the only one that failed to upload.

I then went into the Configuration page and clicked on the Step 1 – Authorisation button again. I copied over the new refresh token, and the backup now uploaded to OneDrive just fine.

In theory, and according to Microsoft's documentation, this should never happen. The refresh token is there to avoid exactly this situation. However, it wouldn't be the first time Microsoft decided to change the format of their tokens and silently broke older ones. I think that's what happened here.

If this doesn't help, ask your host if the libcurl the PHP cURL extension (NOT the curl executable itself!) is compiled against supports TLS 1.2. Another change Microsoft is rolling out at the moment is removing support for TLS 1.1 and 1.0 across Microsoft Azure. Since OneDrive technically runs on top of Microsoft Azure I would expect OneDrive to also be affected by this requirement. I couldn't reproduce this kind of issue on any of my development or live hosts; they all support TLS 1.2 since more than five years ago.

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!

Gixia

Hello,


Thank you for your very quick response. Indeed, I sent you the log file from my last manual backup. Here is the one from a backup that ended up in the local folder instead of OneDrive.
I only have one backup profile.

I already tried reconnecting by copying the tokens again, but they were identical, and the next backup still wasn't uploaded to the drive.

According to the logs (I’m not as expert as you), it seems like it’s complaining that I don’t have the correct Download ID in my Akeeba configuration?

DEBUG   |20240922 04:30:27|====== Starting Step number 39 ====== DEBUG   |20240922 04:30:27|Kettenrad :: Ticking the domain object
DEBUG   |20240922 04:30:27|Akeeba\Engine\Core\Domain\Finalization::_run() Resuming finalization object Akeeba\Engine\Core\Domain\Finalizer\PostProcessing
DEBUG   |20240922 04:30:27|Loading post-processing engine object (onedrivebusiness)
INFO    |20240922 04:30:27|Beginning post processing file <root>administrator/components/com_akeebabackup/backup/olivierlautier.gixia.fr-20240922-043001utc-11gcWZqU3paCWFnW.jpa
WARNING |20240922 04:30:27|Failed to process file <root>administrator/components/com_akeebabackup/backup/olivierlautier.gixia.fr-20240922-043001utc-11gcWZqU3paCWFnW.jpa
WARNING |20240922 04:30:27|Error received from the post-processing engine: WARNING |20240922 04:30:27|You must enter your Download ID in the application configuration before using the “Upload to OneDrive” feature.  

I had already entered my Download ID when installing Akeeba on this site, I didn’t remove or modify it, but I still went to check, and indeed the field was empty!
So I entered it again, tested a backup, and it works, but in that case, why would my Download ID have disappeared?

nicholas
Akeeba Staff
Manager

The Download ID is not stored in the component, it's stored in Joomla's Update Sites.

Go to System, Update, Update Sites and search for “Akeeba Backup”.

There should only be one item called “Akeeba Backup Professional for Joomla!” with the URL https://cdn.akeeba.com/updates/pkgakeebabackuppro.xml shown underneath it. It should have the Download ID shown below that. The Name column next to it should read “Akeeba Backup for Joomla! package”.

If this is not the case, please let us know and attach a screenshot of what you see instead.

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!

Gixia

Yes, I added it back there, but what I don't understand is why it disappeared on September 20th, causing the backups to stop. What worries me is that it might happen again without me noticing.

nicholas
Akeeba Staff
Manager

The Download ID is actually stored in the #__update_sites table in the extra_query column. You will see that it's saved as dlid=YOUR_DOWNLOAD_ID. If it disappeared, it means that this update site record was removed and then added again.

One way I know of is when updating the software, there is a tiny chance that Joomla might screw up and remove the update site record. However, this happens very infrequently – based on anecdotal evidence, it appears to be less frequent than once every hundred thousand updates.

Another way this could happen is if you, another super user, or a third party extension removed the update site. When this happens and you go back to Components, Akeeba Backup our software catches that problem and installs the missing update site record. Of course, since there is no longer a record of your Download ID the reinstalled record is missing the Download ID.

The final way I know is when you use the Rebuild button in the Update Sites page. Since Joomla! 3.9 it's supposed to keep the Download ID (the contents of the extra_query column), but according to my experience it sometimes does not. I have only seen this twice myself and could not figure out the exact conditions, so I cannot rule that out either.

Basically, it's not something you need to be overly worried about. You would either need to do something deliberate, or be really unlucky for this to hit you. If it happens to you twice within a few months I'd say you ought to buy a lottery ticket.

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!

Gixia

Thank you for your response, I definitely relate to the "one in a hundred thousand" chance :)

nicholas
Akeeba Staff
Manager

You're welcome!

I relate to that, too. Yesterday morning I tried to uninstall an older version of PostgreSQL from my laptop so I can upgrade it. A freak failure occurred which trashed my installation to the point it was faster for me reinstalling the OS and restoring the configuration of various dev services and tools I use on it from a backup than try to fix what broke. It took 5 hours. The chance of that happening is nearly non-existent, but it did happen to me. Hm, maybe I should go buy a lottery ticket… :D

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!