joomla-projects / cli-update

Proof of concept on how to update Joomla! from the command line
15 stars 10 forks source link

Is this still active? #5

Open stutteringp0et opened 7 years ago

stutteringp0et commented 7 years ago

Last update was 10 months ago, but local testing appears to be working.

I'd like to contribute. One immediate change I'd make is to compare the update version with the current version and skip if they match (maybe with a force re-install option). Right now it appears that when an update is requested, it's performed if needed or not.

rdeutz commented 7 years ago

Can't say yes or no. It was created during a hackathon, it serves a specific purpose. Feel free to make PR. If you mention me I will have a lock.

mbabker commented 7 years ago

I think there's a niche crowd that would appreciate this being active, usually utility tools like this are low maintenance anyway unless their dependencies change.

Simon-Davies commented 7 years ago

It no longer works on Joomla 3.6.5. Is anyone able to update it?

I have tried to run it with a cron job just as I do the Akeeba Backup CLI script.

Command used:

/usr/php/54/usr/bin/php /home1/***/public_html/cli/update.php --extensions >/dev/null 2>&1

Joomla really needs automatic updates as an opt in feature.

Simon-Davies commented 7 years ago

Nicholas from Akeeba said this:

The problem is how those update scripts work. Between Joomla! 1.6.0 and 3.6.3 inclusive you could install the Joomla update ZIP file as an extension. Therefore these CLI update scripts simply downloaded the Joomla update ZIP file and used the extensions installer API to install it.

Since Joomla! 3.6.4 this feature was disabled in Joomla! for security reasons. The update ZIP package no longer includes the files required to install it as an extension update. One would have to extract the ZIP file over the site and then run the post-upgrade scripts. I do not recall if these scripts were made available for CLI applications or if that possibility remained a theoretical possibility. The Joomla! PLT should be best positioned to answer that.

degobbis commented 7 years ago

@Simon-Davies Do the extensions have a updateserver and are displayed in the backend updates?

Simon-Davies commented 7 years ago

Yes all of the extensions have an update server and can be updated in the backend with the updater. There was an update for Akeeba Backup today. I set the cron job to trigger every minute to test it but it didn't work after leaving it for a good 10 minutes.

zero-24 commented 7 years ago

There was an update for Akeeba Backup today.

Than it more sounds like a problem with the 3rd party code. The change akeeba is referring to is regarding core updates. You can not update the core by that way because the xml is missing. Even this changes was not about "security reasons".

Simon-Davies commented 7 years ago

How can it be a problem with 3rd party code?Akeeba Backup uses the Joomla Extension Update mechanism just like all of the other extensions I have.

Is the CLI automatic updater working for you on Joomla 3.6.5 to update extensions?

My other Cron Job runs fine to perform an automatic update with Akeeba Backup CLI script.

degobbis commented 7 years ago

Can you give me a list of the extensions, which can not be updated with the installed version?

Simon-Davies commented 7 years ago

Akeeba Backup 5.3.0 is the latest version. The CLI automatic update script couldn't update the version before this so I had to manually update.

The extension uses the Joomla Extension Update Engine and has an update site .xml file in my website backend.

degobbis commented 7 years ago

I have tested it with the AkeebaBackup version 5.2.5 core and pro, without problems. Also, I have tested language files and the JCE Pro, even without problems. It is hard to debug without accessing the respective system.

Simon-Davies commented 7 years ago

It's strange that my other Akeeba Backup CLI script runs run but the automatic update CLI script doesn't. I'm willing to give you access to my website and the host but I'd have to send you login credentials privately. That's if you'd like to debug the issue?