WordPress.org

Make WordPress Core

Opened 4 months ago

Last modified 6 weeks ago

#47651 new enhancement

Provide required PHP version for plugins with minimum PHP requirement

Reported by: garrett-eclipse Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 5.2
Component: Site Health Keywords: has-patch needs-design-feedback dev-feedback 2nd-opinion needs-refresh
Focuses: ui, administration Cc:
PR Number:

Description

Hello,

When a plugin has an update but the update bumps the minimum required PHP version to a version higher than the server's current setup it would be very helpful to provide that information in the messaging. I had to go to the plugin page to find it's minimum required PHP version.

Current messaging;
This update doesn't work with your version of PHP. Learn more about updating PHP.

Would be nice to have something like;
This update requires a minimum of PHP 7.2 which is higher than your version of PHP. Learn more about updating PHP.
OR a simpler and shorter version
This update requires a minimum of PHP 7.2. Learn more about updating PHP.

Appreciate any thoughts

Attachments (5)

Screen Shot 2019-07-02 at 1.21.42 PM.png (125.1 KB) - added by garrett-eclipse 4 months ago.
Screenshot of a plugin which is blocked due to PHP requirements
47651.diff (912 bytes) - added by garrett-eclipse 4 months ago.
Initial patch to provide the required PHP version
Screen Shot 2019-07-05 at 1.49.59 PM.png (131.3 KB) - added by garrett-eclipse 4 months ago.
Screenshot results of the patch
Screen Shot 2019-07-05 at 3.07.02 PM.png (91.5 KB) - added by garrett-eclipse 4 months ago.
Similar verbiage but in a notice format from the Plugins listing
Screen Shot 2019-07-05 at 3.08.37 PM.png (135.0 KB) - added by garrett-eclipse 4 months ago.
How a error notice would look in this placement.

Download all attachments as: .zip

Change History (31)

@garrett-eclipse
4 months ago

Screenshot of a plugin which is blocked due to PHP requirements

#1 @joyously
4 months ago

I argued hard for this in the original ticket, but was overridden.

#2 @Hareesh Pillai
4 months ago

Sharing my opinion on this.

Mentioning clearly that "This update doesn't work" is useful for the users.
It would be great if we can identify a way to retain this phrase and yet incorporate the PHP version requirement.

#3 @afragen
4 months ago

If I remember the original conversation correctly, please correct me @joyously where your recollection differs, was that that information was already present in the View Details link.

This meant that fewer string changes were needed. Not sure that was stated as a reason but I think it was mostly for simplicity.

All that being said, it shouldn't be that difficult to add something like...

This update doesn't work with your current version of PHP, PHP x.x. Learn more....

#4 follow-up: @joyously
4 months ago

I prefer garrett's version
This update requires a minimum of PHP %s.

#5 @afragen
4 months ago

Could this possibly lead to confusion as many users may think, my host is keeping me on the current PHP version, when this is clearly not true.

I like the simplicity of This update doesn't work with your current version of PHP.

I think something like
This update doesn't work with your current version of PHP. This update requires a minimum of PHP %s. Learn more...

I think a definitive statement of why the update doesn't work is necessary.

#6 @justinahinon
4 months ago

@afragen suggestion seems good to me. But I'm wondering if we can diminish the sentences length by replacing the second 'This update' by 'It'. Saying this because of the space available for additional strings in the view.

We'll then have something like This update doesn't work with your current version of PHP. It requires a minimum of PHP %s. Learn more about updating PHP.

@garrett-eclipse
4 months ago

Initial patch to provide the required PHP version

@garrett-eclipse
4 months ago

Screenshot results of the patch

#7 @garrett-eclipse
4 months ago

  • Keywords has-patch dev-feedback needs-testing added

Thanks @joyously / @afragen / @justinahinon

I've uploaded 47651.diff to update the verbiage and provide the required PHP version, see screenshot.

The verbiage used - This update doesn’t work with your version of PHP. It requires a minimum of PHP %s.
*I dropped 'current' as it's implied when stating 'your version'.

Also I moved the translator comment for the Learn more link into it's sprintf block. But I'm wondering if the two strings for this should be merged into one. Currently 'Learn more about updating PHP' is separate and appended so I wonder for i18N if that'll be an issue for RTL languages and should be one large sprintf string?

Please test

#8 follow-up: @afragen
4 months ago

@garrett-eclipse there are probably 2-3 other locations in core where this same/similar tract is used, core-update page, plugin page, and possibly View Details iframe.

This would need to be changed in all locations but I would work towards a consensus on the new text first.

#9 in reply to: ↑ 4 ; follow-up: @afragen
4 months ago

Replying to joyously:

I prefer garrett's version
This update requires a minimum of PHP %s.

But I think we shouldn’t assume the user will understand that the plugin won’t update because of this. We also shouldn’t assume the user will understand what a minimum of PHP x.x refers to.

#10 @joyously
4 months ago

There aren't assumptions. The update button is already disabled. This ticket just concerns the message that says why.
Make the message as long as you like. Other languages will be longer than English. Just get the version number into the output so the user can see it without another click.

@garrett-eclipse
4 months ago

Similar verbiage but in a notice format from the Plugins listing

#11 in reply to: ↑ 9 @garrett-eclipse
4 months ago

Replying to afragen:

But I think we shouldn’t assume the user will understand that the plugin won’t update because of this. We also shouldn’t assume the user will understand what a minimum of PHP x.x refers to.

I wonder if using an error notice would make sense similar to the one found on the Plugins list (screenshot just uploaded). The two strings could probably match closer and possibly use the following string to clarify it won't update because of this;
"There is a new version of Media File Renamer available, but it doesn’t work with your version of PHP"

@garrett-eclipse
4 months ago

How a error notice would look in this placement.

#12 in reply to: ↑ 8 @garrett-eclipse
4 months ago

Replying to afragen:

@garrett-eclipse there are probably 2-3 other locations in core where this same/similar tract is used, core-update page, plugin page, and possibly View Details iframe.

This would need to be changed in all locations but I would work towards a consensus on the new text first.

I branched this into #47655

#13 follow-up: @afragen
4 months ago

@garrett-eclipse that would take a design review especially as it really changing the look.

#14 in reply to: ↑ 13 @garrett-eclipse
4 months ago

  • Keywords needs-design-feedback added; dev-feedback needs-testing removed

Replying to afragen:

@garrett-eclipse that would take a design review especially as it really changing the look.

Good call @afragen, let's get thoughts from Design. Adding needs-design-feedback.

Item for Design Feedback:
The notice style would draw attention to that cause sentence whatever the verbiage. This string can be overlooked as it has the same style as the other strings on the plugin element. Making it a notice would bring it inline with the Plugins screen version. Should we go in this direction?

#15 follow-up: @afragen
4 months ago

There was a very similar discussion from @SergeyBiryukov in #43986 regarding not changing the UI too much as all that one needs to do to find the information is click the View Details link.

I think the same reasons apply here. There is an obvious way to find out more information.

Last edited 4 months ago by afragen (previous) (diff)

#16 @afragen
4 months ago

  • Focuses ui added
  • Keywords dev-feedback added

#17 @afragen
3 months ago

I believe more information, as in more minimum PHP version requirements, may be confusing to the user for 2 reasons.

  1. There will be multiple plugins ready to update and and having multiple listed PHP requirements specific to version number spelled out will be confusing to the user.
  1. It discourages the user from updating to the latest PHP version and not simply the minimum requirement.

#18 in reply to: ↑ 15 @garrett-eclipse
3 months ago

Replying to afragen:

There was a very similar discussion from @SergeyBiryukov in #43986 regarding not changing the UI too much as all that one needs to do to find the information is click the View Details link.

I think the same reasons apply here. There is an obvious way to find out more information.

Thanks @afragen while I do agree with no changing the UI too much, I feel currently the information is easy to overlook as it appears the same as all other updates with the exception of it missing the checkbox and having some different verbiage. The error notice I feel would be a great help as you can tell at a glance there's an issue.

#19 @afragen
3 months ago

@garrett-eclipse the fact that you can’t actually update the plugin should be your biggest clue. Combined with the added message tells you why. The difference between a regular updatable update is both significant and subtle. I don’t think making this more, in your face, has a significant benefit.

I think we’re going to have to agree to disagree on this. The current simplicity shows an update that is not able to update along with the current links to updating your PHP and the ever present View Details link.

It is my opinion that having a page full of updates that all seem to require different PHP versions will be more confusing to the user. Isn’t our goal to really have the user update to the current recommended PHP version and not simply the version that is required for a particular plugin?

Having plugin specific information here, other than the plugin version number, is a significant change to the UI/UX and to how WP has presented this data for a long time. This seems more like a personal preference of simply not using the current, consistent View details/View changelog link.

NB: I know nothing about UI/UX and my views/preferences are my own. 😉

#20 follow-up: @joyously
3 months ago

@afragen The other ticket was about something else. You are making the same arguments for this ticket as the other ticket. Well, the other one is done and we are living with it, and now think that it needs improvement.
This ticket is about the fact that it is not helpful to have to click on the Details to see the important information of the version number needed. It's about making the interface easier for the user, to see at a glance why some plugins cannot be updated.

We are trying to move forward!

#21 follow-up: @garrett-eclipse
3 months ago

Thanks @afragen

I understand your preference there but am leaning more with @joyously as I'm hoping to get that information more readily available at a glance. Personally, when I first encountered the PHP requirement on a plugin I was so used to going to the Updates screen checking the all plugins box and hitting update that I overlooked one wasn't checked/updated as the updating screen only lists the plugins being updated I didn't realize one wasn't being done. It was only a bit later when I noticed the update icon+number was still there that I went back to find the issue.

I'm hoping a more prominent notice there will catch users eyes so they're aware of the issue and don't simply skip past it as I did.

#22 in reply to: ↑ 20 @afragen
3 months ago

  • Keywords 2nd-opinion added

Replying to joyously:

@afragen The other ticket was about something else. You are making the same arguments for this ticket as the other ticket. Well, the other one is done and we are living with it, and now think that it needs improvement.
This ticket is about the fact that it is not helpful to have to click on the Details to see the important information of the version number needed. It's about making the interface easier for the user, to see at a glance why some plugins cannot be updated.

I’m making the same arguments as the same arguments apply.

What exactly are the facts? Currently all I’ve seen is opinion - yours, mine, Garret’s, and Justin’s.

I appreciate that we all wish to improve WP but my opinion here is that displaying multiple different pieces of the same information (minimum PHP version) will be more confusing to the user than their ability to use the View Details link.

Thus far all we’ve been doing is going back and forth with our opinions. Can you point to significant evidence/data A/B testing to show an actual issue? How many issues directly relating to this are in the forums? Is that a significant number?

@joyously I’m waiting for the facts.

#23 in reply to: ↑ 21 @afragen
3 months ago

Replying to garrett-eclipse:

Thanks @afragen

I understand your preference there but am leaning more with @joyously as I'm hoping to get that information more readily available at a glance. Personally, when I first encountered the PHP requirement on a plugin I was so used to going to the Updates screen checking the all plugins box and hitting update that I overlooked one wasn't checked/updated as the updating screen only lists the plugins being updated I didn't realize one wasn't being done. It was only a bit later when I noticed the update icon+number was still there that I went back to find the issue.

I'm hoping a more prominent notice there will catch users eyes so they're aware of the issue and don't simply skip past it as I did.

@garrett-eclipse nothing in this ticket would prevent exactly what you did above.

The plugin won’t update and the general reason is displayed in a message. Unless you change the user’s behavior of clicking Select All. This will continue to happen and the user will then look closer at the display and actually read the message.

The difference is that I don’t see this ticket as an improvement. I see it as cluttering the user’s screen with extraneous information that they can find elsewhere with a single click.

#24 follow-up: @afragen
3 months ago

  • Keywords needs-refresh added

Additionally, this patch is incomplete as the same issue occurs on plugins.php.

#25 in reply to: ↑ 24 @SergeyBiryukov
3 months ago

Replying to garrett-eclipse:

I've uploaded 47651.diff to update the verbiage and provide the required PHP version, see screenshot.

I like the simplicity of 47651.diff and Screen Shot 2019-07-05 at 1.49.59 PM.png.

Then again, if we have this notice, we could as well make the styling consistent with the Plugins screen. In that regard Screen Shot 2019-07-05 at 3.08.37 PM.png makes sense to me.

Replying to afragen:

Additionally, this patch is incomplete as the same issue occurs on plugins.php.

I'd prefer to do this only for the Updates screen as a first step. The notices on the Plugins screen are already quite long, as seen in Screen Shot 2019-07-05 at 3.07.02 PM.png, adding more text to them seems less than ideal.

Replying to afragen:

I believe more information, as in more minimum PHP version requirements, may be confusing to the user for 2 reasons.

  1. There will be multiple plugins ready to update and and having multiple listed PHP requirements specific to version number spelled out will be confusing to the user.
  1. It discourages the user from updating to the latest PHP version and not simply the minimum requirement.

...
It is my opinion that having a page full of updates that all seem to require different PHP versions will be more confusing to the user. Isn’t our goal to really have the user update to the current recommended PHP version and not simply the version that is required for a particular plugin?
...
I appreciate that we all wish to improve WP but my opinion here is that displaying multiple different pieces of the same information (minimum PHP version) will be more confusing to the user than their ability to use the View Details link.

I think I agree here, I see how multiple error notices mentioning different PHP versions could become confusing and encourage updating to a specific plugin's minimum required version rather than the currently recommended latest stable version. If our goal is latter, then I don't see how changing the existing notice helps with that.

How about not changing the current notice text ("This update doesn't work with your version of PHP. Learn more about updating PHP.") at this time, but making it more visible instead, like on Screen Shot 2019-07-05 at 3.08.37 PM.png? That should address the issue of easily overlooking the notice.

It's worth noting that https://wordpress.org/support/update-php/ recommends the latest supported PHP version, which should answer the question of which version to update to:

Your website will be faster as the latest version of PHP is more efficient. Updating to the latest supported version (currently 7.3) can deliver a huge performance increase; up to 3 or 4x faster for older versions.

Note: See TracTickets for help on using tickets.