? Pending

User tests: Successful: Unsuccessful:

avatar alex7r
alex7r
31 Jan 2017

Pull Request for Issue #13832 .

Summary of Changes

Change regexp check to check minimal version check.

avatar alex7r alex7r - open - 31 Jan 2017
avatar alex7r alex7r - change - 31 Jan 2017
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 31 Jan 2017
Category Libraries
avatar alex7r
alex7r - comment - 31 Jan 2017

Also refers to #13789

avatar alex7r alex7r - change - 31 Jan 2017
Title
Updater patch 1
[com_install] Updater version comparison
avatar alex7r alex7r - edited - 31 Jan 2017
avatar alex7r alex7r - change - 31 Jan 2017
Labels Added: ?
avatar marrouchi
marrouchi - comment - 1 Feb 2017

@alex7r Can you provide us with some test instructions please ?

avatar Bakual
Bakual - comment - 1 Feb 2017

I don't understand the intention here. For the targetplatform tag in the updateserver manifest, the current regex is absoultely fine and shouldn't be a minimum version. We could add this as an option, but certainly not replace the existing regex check.
It must be possible to specifiy support for eg 3.6.[01235]. This would exclude 3.6.4 from a supported platform since it may have a bug that prevents it from running.

This is a completely different case to the version attribute in the extension manifest file where it has to be a minim version.

avatar alex7r
alex7r - comment - 2 Feb 2017

@marrouchi Test may be done by simple checking if the updates would be found right accordingly to targetplatform value.
For example
Joomla | Targetplatform | Result
3.6.4 | 3.6.5 | false
3.6.4 | 3.6 | true
3.6.4 | 3.6.3 | true
3.6.4 | 3.7 | false
3.6.4 | 3 | true

@Bakual same true for manifest version, 3.6.4 may have a bug that prevents extension from running, but your proposal was to stick with minimal version check. Also if there 2 different checks it would lead to

  • users don't see updates (because their version of Joomla is not compatible cause of some bug in cms; and the previous and the next one do not [sounds weird]), but still they able to do damage and install it if they have the package;
  • developers must guess which strategy in which file they should obey.

That's why I believe we should stay with only 1 check method.


@Bakual also can you give some examples of situation you referring to? I mean:
newer version of extension is compatible with older version of joomla and newer version of Joomla but not with something in between? [sorry, but really sounds really weird to me]

avatar Bakual
Bakual - comment - 2 Feb 2017

I mean: newer version of extension is compatible with older version of joomla and newer version of Joomla but not with something in between? [sorry, but really sounds really weird to me]

If we (Joomla) introduce a regression in 3.7.1 which (hopefully) gets detected and immediately fixed with a followup 3.7.2. That bug in 3.7.1 may prevent the proper function of an extension.
As an extension developer, what are you going to do? The already released version of your extension which was targeted for 3.7.0 can't be changed. So you can't change the manifest file and thus the attribute in that version. What you can do however is change the targetplatform in your updateserver manifest, which will make sure existing users don't see the update as long as they are on the broken Joomla version. That's why we need two different things for the updateserver manifest and the extension manifest. Different things, different usecases, different requirements. Don't try to do the same for both as it will not work.

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 22 Feb 2017

@alex7r any Update on this PR?

avatar alex7r
alex7r - comment - 22 Feb 2017

This issue waits for maintainers to take a look and make the decision.
Some points of @Bakual comments are may be right, but overall - you need to stick to one way, or to another and document it, not both.
It's really hard to imagine this kind of situation and in ways it has happen - I believe user will have issues running site at all and this will be fixed quickly. And in this situation user will not be bothered by your component at all.
And keep in mind that you're talking not just about situation when Joomla has regression, but when Joomla has regression that's work with old version and would not work with new? well in this context word regression even seems quite out of context.
It's obvious if you'll try to draw a chart. I'll do it and add it here a little bit later.

But situation that is more imaginable is: I've worked around incompatibilities and same installation works for J2 and J3. Since you use 'allow regex' instead of 'minimal version' you can't target both 2 and 3 platforms.
So you better stick with one way and you know my opinion and arguments which it should be.

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 22 Feb 2017

Thanks @alex7r for Info. Waiting on Maintainers.

avatar mbabker
mbabker - comment - 21 Jul 2018

Closing this, sorry it can't be accepted as it is a B/C break and removes a very flexible feature. The update server definitions have evolved from a "basic" version comparison only supporting <major>.<minor> version comparisons (which is where the sub-optimal (min|max)_dev_level attributes came from) to a highly flexible regex comparison. This gives developers maximum ability to specify update support as this is the only core supported "phone home" operation.

avatar mbabker mbabker - change - 21 Jul 2018
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2018-07-21 01:41:25
Closed_By mbabker
avatar mbabker mbabker - close - 21 Jul 2018

Add a Comment

Login with GitHub to post a comment