User tests: Successful: Unsuccessful:
Pull Request for Issue #13832 .
Change regexp check to check minimal version check.
Status | New | ⇒ | Pending |
Category | ⇒ | Libraries |
Title |
|
Labels |
Added:
?
|
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.
@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
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]
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.
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.
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.
Status | Pending | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-07-21 01:41:25 |
Closed_By | ⇒ | mbabker |
Also refers to #13789