? ? Pending

User tests: Successful: Unsuccessful:

avatar zero-24
zero-24
18 Aug 2019

Pull Request for Issue #25766

Summary of Changes

This here now implements the option to let joomla do a deep update checking over collection update server results.

As pointed out here #25766 (comment) the collection update server does not support any limiting options like php version or minimum stabilty checks etc.
The reason is that for the initial check only the data of the collection file is used and respected. Only at the actual install time Joomla checks the extension.xml wich than might point to an different version or to no version at all because of the limiting parameters in the extension.xml

This here now allow the extension dev to configure Joomla to do this deep update checking by enable the deep update checking for the collection updateserver.

Testing Instructions

First Test

Second Test

Expected result

image

Actual result

Joomla shows the update but can't install it.

image

Documentation Changes Required

  • The new option for collection update servers need to be documented.

Additional Questions

As of now I have implemented this new option to be a update site wide decision. We could it also change the implementation to just check in the XML for this new option so no need for database changes etc and you just define the parameter in the collection.xml itself and joomla does the deep update checking, This way the site owner could not overwrite this setting. Thougths? Optinions?

91f3023 18 Aug 2019 avatar zero-24 phpcs
avatar zero-24 zero-24 - open - 18 Aug 2019
avatar zero-24 zero-24 - change - 18 Aug 2019
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 18 Aug 2019
Category SQL Administration com_admin Postgresql MS SQL com_joomlaupdate Language & Strings Installation Libraries Front End Plugins
avatar franz-wohlkoenig
franz-wohlkoenig - comment - 18 Aug 2019

@alex7r please test.

6b893dc 18 Aug 2019 avatar zero-24 phpcs
avatar zero-24 zero-24 - change - 18 Aug 2019
Labels Added: ? ?
avatar brianteeman
brianteeman - comment - 18 Aug 2019

is this different to the new pre-update check feature

avatar zero-24
zero-24 - comment - 18 Aug 2019

is this different to the new pre-update check feature

Yes as this is primary intended to be used by extension update servers.

avatar mbabker
mbabker - comment - 18 Aug 2019
  1. Why do you need a new database field?
  2. Why are you using camelCase on the field when most of the database schema uses snake_case?
  3. The current naming implies it is storing a URL when in reality it's some boolean toggle
  4. Why does this need to be a toggle?
  5. Until someone writes some proper tests, can we stop adding features to or making changes to the Joomla\CMS\Updater classes because right now it is beyond a pain in the ass to test and validate these things actually work and this critical library has absolutely zero coverage (a task for the testing team if they decide to actually write tests and stop working on architecture or devoting time to things that have nothing to do with testing).
avatar zero-24
zero-24 - comment - 18 Aug 2019

Why do you need a new database field?

As said above it is not an requirement it was just the first idea, can be an option in the XML too.

Why are you using camelCase on the field when most of the database schema uses snake_case?

As it is going to be a option in the XML on your suggestion, this issue can be migrated by the new name.

The current naming implies it is storing a URL when in reality it's some boolean toggle

I can come up with a different name.

Why does this need to be a toggle?

Well for the most update servers this is not relevant so the idea was to make this optional.

Until someone writes some proper tests, can we stop adding features to or making changes to the Joomla\CMS\Updater

Ok, sadly I can't help here for now. :(

avatar zero-24
zero-24 - comment - 18 Aug 2019

ok just double checked the code. With the current architektur of the updater I don't see a way to overcome some sort of database table change as any field not in the database table is dropped here

So we could add an additional field to the #__updates or the #__update_sites table but without bigger changes to the updater i don't see a way to overcome that thing.

The other way around would be to implement the checks just before we add the update to the database but I'm not sure whether this actually works.

avatar joomla-cms-bot joomla-cms-bot - change - 20 Aug 2019
Category SQL Administration com_admin Postgresql MS SQL com_joomlaupdate Language & Strings Installation Libraries Front End Plugins Postgresql SQL Installation Libraries
avatar zero-24 zero-24 - change - 20 Aug 2019
Labels Removed: ?
avatar joomla-cms-bot joomla-cms-bot - change - 20 Aug 2019
Category SQL Postgresql Installation Libraries Libraries
avatar zero-24
zero-24 - comment - 20 Aug 2019

Ok have just addressed most of the questions raised here.

I have now removed the sql changes and now use a dedicated setting in the collection.xml (forcedeepextensionchecking="1"). So nothing else is required and it can be set per line in the collection.xml. For sure this is still an optional thing an has to be configured by the extension dev, so no need anymore for an switch in the UI.

The only open point is the Unit test I'm happy to build tests but i have no idea how to do it, so i'm happy for some help me on that. Technical wise this PR here is already working and for sure gets documented by me when the changes here are merged into the core.

I'm happy for feedback on the new / improved implementation ?

avatar ChristineWk ChristineWk - test_item - 28 Aug 2019 - Tested successfully
avatar ChristineWk
ChristineWk - comment - 28 Aug 2019

I have tested this item successfully on b41f836

tested: except the point: apply the update SQL


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/25928.

avatar ChristineWk
ChristineWk - comment - 28 Aug 2019

I have tested this item successfully on b41f836

tested: except the point: apply the update SQL


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/25928.

avatar zero-24 zero-24 - change - 28 Aug 2019
The description was changed
avatar zero-24 zero-24 - edited - 28 Aug 2019
avatar zero-24
zero-24 - comment - 28 Aug 2019

Yes and thanks for your test! @ChristineWk

except the point: apply the update SQL

This is correct as changes to the sql is no longern needed :)

avatar zero-24
zero-24 - comment - 28 Oct 2019

@alex7r It would be great to get your feedback here. ?

avatar zero-24
zero-24 - comment - 31 Oct 2019

@wilsonge @HLeithner @mbabker As the original reporter did not come back do you guy's think this is a feature we should still implement or should this PR be closed and the feature dropped?

When the feature is not included we would still have the issue with the collection.xml not checking the deeper requirements of an update that could also hit us at some time in the future with the core update as we use the collection updates for our updating. And this feature is also opt-in for the extension dev so we are also b/c for someone relying on the issue we are fixing here.

avatar viocassel viocassel - test_item - 7 Dec 2019 - Tested successfully
avatar viocassel
viocassel - comment - 7 Dec 2019

I have tested this item successfully on bc1d809


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/25928.

avatar Quy Quy - change - 7 Dec 2019
Status Pending Ready to Commit
avatar Quy
Quy - comment - 7 Dec 2019

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/25928.

avatar HLeithner
HLeithner - comment - 11 Dec 2019

I will postpone to the next release and further discussion.

avatar zero-24
zero-24 - comment - 18 Dec 2019

Ok so better close here @HLeithner ?

avatar zero-24 zero-24 - change - 18 Dec 2019
Status Ready to Commit Pending
avatar zero-24
zero-24 - comment - 13 Jan 2020

@HLeithner any update on this one?

avatar zero-24 zero-24 - change - 13 Jan 2020
Labels Added: ?
avatar zero-24
zero-24 - comment - 18 Feb 2020

@HLeithner @wilsonge what is you opinion on this is it worth to keep it open for longer or should it just be closed and documented as expected behavior?

avatar wilsonge
wilsonge - comment - 18 Feb 2020

This is one of the PRs i have open in a tab to review I mentioned it maintainers chat. Honestly I didn’t understand the term deep update checking either so give me a week to sit down with the code and fully understand what the change is here please and I’ll get back to you

avatar zero-24
zero-24 - comment - 19 Feb 2020

Great, just let me know any question that comes up. In a nutshell with deep update checking we apply the same rules and checks for example the php minimum or stability to updates offered via an collection update server. As of today the update just silently fails as joomla cant get the download url at the actual update step. ;-)

avatar zero-24
zero-24 - comment - 20 Mar 2020

As discussed the latest changes makes this a client site decision enabled by default. thanks @wilsonge

avatar joomla-cms-bot joomla-cms-bot - change - 20 Mar 2020
Category Libraries Administration com_admin com_menus com_templates Front End com_newsfeeds com_tags Libraries
avatar zero-24 zero-24 - change - 20 Mar 2020
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - change - 20 Mar 2020
Category Libraries Administration com_admin com_menus com_templates Front End com_newsfeeds com_tags Libraries
avatar zero-24 zero-24 - change - 25 Aug 2020
Labels Removed: ?
avatar adj9
adj9 - comment - 29 Aug 2020

With PHP 7.3.19 there is no plugin update, PHP 8 cannot be enabled yet.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/25928.

avatar zero-24
zero-24 - comment - 30 Aug 2020

@adj9 Thanks for your test so you get the message as posted in the inital post right?

It is intended that ("without php 8.0.0") that message comes up.

When it was that case please log your successful test on https://issues.joomla.org

avatar zero-24
zero-24 - comment - 30 Aug 2020

Ah just saw that update server did not server to 3.10 installs as this here was inital build against 3.9 that should be fixed now.

avatar zero-24
zero-24 - comment - 17 Oct 2020

Seems there is still no interest in getting this or similiar PR merged. No need to keep that updated. Closing.

avatar zero-24 zero-24 - change - 17 Oct 2020
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2020-10-17 09:38:41
Closed_By zero-24
avatar zero-24 zero-24 - close - 17 Oct 2020

Add a Comment

Login with GitHub to post a comment