Prestashop: Big red warning message into PrestaShop when not using the right PHP version

Created on 4 Sep 2020  路  19Comments  路  Source: PrestaShop/PrestaShop

Is your feature request related to a problem?

I just saw 2 bug reports about very, very weird behaviors ... the people reporting them said "I upgraded to 1.7.6.7 and now this page does [weird behavior]". Obviously I could not reproduce the bugs.

Finally the main reason behind this very weird bug was they were not using the right PHP version.

Describe the solution you'd like

In order not to waste users time and PrestaShop team time, I suggest that, on Back Office pages, when we detect that user PHP version is not supported, we display a BIG RED MESSAGE telling this to user.

This will help users troubleshoot issues faster 馃槃

The message would say _You are using a PHP version that is not supported and this can affect your store. Please check PHP requirements and change for the suitable PHP version._ in _Admin.Notifications.Warning_. - edited by @LouiseBonnard on September 11th, following @Julievrz's wording suggestion.

It should be displayed only on the dashboard. Here is the design mockup:

image

supportedphp-alert (1)

Here are the specifications: https://github.com/PrestaShop/prestashop-specs/pull/173

BO Feature PM 鉁旓笍 To Do UX 鉁旓笍 Wording 鉁旓笍

Most helpful comment

We could think about a wording that would apply to both cases then.

What do you think of this sentence: " You are using a PHP version that is not supported and this can affect your store. Please check PHP requirements and change for the suitable PHP version."

All 19 comments

Thanks for opening this issue! We will help you to keep its state consistent

Ping @PrestaShop/prestashop-product-team
Here's a great improvement suggested by @matks.
Do you think it could be implemented ?

Thanks!

Nice idea, thanks @matks! I suggest displaying it every time a user goes to his store, so at each connection, on the first page displayed. A popup like a modal might be more effective since it requires an action from the user to either _Upgrade_ (redirecting to https://www.php.net/downloads?) or _Close_ the window. @TristanLDD, @prestascott, what do you recommend?

For the warning message, I propose _You are using a PHP version that is no longer supported and this can affect your store. Please upgrade to PHP %s version._ in _Admin.Notifications.Warning_. And what about What do you think, @matks and @Julievrz?

Nice idea, thanks @matks! I suggest displaying it every time a user goes to his store, so at each connection, on the first page displayed. A popup like a modal might be more effective since it requires an action from the user to either _Upgrade_ (redirecting to https://www.php.net/downloads?) or _Close_ the window. @TristanLDD, @prestascott, what do you recommend?

For the warning message, I propose _You are using a PHP version that is no longer supported and this can affect your store. Please upgrade to PHP %s version._ in _Admin.Notifications.Warning_. And what about What do you think, @matks and @Julievrz?

You're considering they are using only and outdated version. What about recent versions of PHP that are not already supported?

We could think about a wording that would apply to both cases then.

We could think about a wording that would apply to both cases then.

What do you think of this sentence: " You are using a PHP version that is not supported and this can affect your store. Please check PHP requirements and change for the suitable PHP version."

Hi @matks
We also need to add an alert on system information, something like this :
image

Hi everyone!

Thank you for your report @matks!

Adding a modal warning message can be useful but can also be aggressive for our users.
Like @LouiseBonnard said, I also suggest to display the modal only at the connection. And then, once he closes it, it's still displayed on the page but smaller as an alert so this information isn't lost.

Usually, a modal contains a title, a description and buttons. I suggest to add a title like _"PHP update required"_ and a button _"Check PHP requirements"_ for example in order to help users solving their PHP version issue.

Wdyt?

Hi everyone!

Thank you for your report @matks!

Adding a modal warning message can be useful but can also be aggressive for our users.
Like @LouiseBonnard said, I also suggest to display the modal only at the connection. And then, once he closes it, it's still displayed on the page but smaller as an alert so this information isn't lost.

Usually, a modal contains a title, a description and buttons. I suggest to add a title like _"PHP update required"_ and a button _"Check PHP requirements"_ for example in order to help users solving their PHP version issue.

Wdyt?

I'm good with this 馃憤

Can I use the "standard modal display" we use, for example, for "bulk delete" actions ?

So if I try to make a summary;

  1. When user logins into BO and the shop is running a PHP version not compatible, and he reaches the dashboard, we display the modal. User can either click on the "Check PHP requirements" CTA or close it.

  2. Whether he closes the modal or clicks the CTA, we close the modal. We dont reopen the modal as long as user stays connected. However we have a warning message inside Dashboard.

  3. If user logs out then logs-in, we re-trigger item 1: we show the modal.

  4. Following @PululuK suggestion, the warning displayed inside Dashboard can be displayed into "System informations" BO page too, with php version being displayed in red to attract user attention.

I'm good with your summary, thanks! :)

It's all okay for me except the first point:

When user logins into BO and the shop is running a PHP version not compatible, and he reaches the dashboard, we display the modal. User can either click on the "Check PHP requirements" CTA or close it.

Note that the user does not necessarily reach the dashboard when he/she logs in so I assume the modal must be displayed at each connection, whatever the page reached.

Also, in some cases, the Welcome module could be enabled, which displays popping up onboarding journey. It might be difficult to display the two so if we need to set up an order of preference, I'm in favor of displaying the PHP modal before the onboarding journey.

@matks Instead of modal, I think we need to display a message above all the admin pages. Something like :
image

It's all okay for me except the first point:

When user logins into BO and the shop is running a PHP version not compatible, and he reaches the dashboard, we display the modal. User can either click on the "Check PHP requirements" CTA or close it.

Note that the user does not necessarily reach the dashboard when he/she logs in so I assume the modal must be displayed at each connection, whatever the page reached.

I know but this is a lot harder to do 馃槥 .
"When user logs in on BO for the 1st time and reaches Dashboard, display the modal" => it's alright, scope is quite clear,, easy to implement and to test (for QA team)

"When user logs in on BO for the 1st time and reaches a page, whatever BO page, display the modal" => there's legacy pages, there's migrated pages, there's BO pages added by modules. I expect the 3 of them to require a different implementation. Moreover I expect some specific pages (Product Page ? Carrier Page ?) to be quite unique and require even more extra work. On some pages also the rendering of the modals might integrate badly into the pageAnd this means the "How to test" for QA will be "well, it must on ... all the BO pages". Quite a big QA scope to say the least 馃槄 .

This is why I suggest focusing on Dashboard only: it will be so much easier to implement and test. And I expect the user, at some point, to reach the Dashboard 馃槃 so even if he 1) logs-in 2) goes to Product Page 3) goes to Dashboard I should be able to "detect" he reaches Dashboard and _there_ display the modal.

Also, in some cases, the Welcome module could be enabled, which displays popping up onboarding journey. It might be difficult to display the two so if we need to set up an order of preference, I'm in favor of displaying the PHP modal before the onboarding journey.

Indeed one more obstacle on the path 馃槄 I'll see what I can do, but since this is a module it'll be hard to control how it pops up from the Core.

@matks Instead of modal, I think we need to display a message above all the admin pages. Something like :

That is not mine to decide as I am no Product Manager, I'll let @LouiseBonnard follow up then 馃槈

@matks Instead of modal, I think we need to display a message above all the admin pages. Something like :
image

I agree, it will be easier to integrate and also better, don't want to receive a modal alert, each time I open a new page :sweat_smile:

@PululuK It's a nice idea but this component doesn't exist. I guess we can create it but it won't be red and will be yellow since it's a warning.
I still suggest to add a modal instead that only appears when users log in.

Here is what it would look like as an alert:
stickyalert

@PululuK It's a nice idea but this component doesn't exist. I guess we can create it but it won't be red and will be yellow since it's a warning.
I still suggest to add a modal instead that only appears when users log in.

Here is what it would look like as an alert :

@prestascott An alert already exists on this page :
Capture du 2020-09-16 15-34-27

But the warning idea looks good to me !

@PululuK I'm glad that the warning idea looks good to you! 馃憤

And yes, in fact there's already an alert on this page but this is an old design that we're trying to move on.
This Dashboard page hasn't been migrated yet that's why we prefer using our new components such as the alert that I added.

Right! I discussed with @prestascott and, indeed, the warning solution is less aggressive to users than the modal window so we've decided to drop the first idea and focus on the warning notification. Our job is to warn the users that they will have difficulties if they do not use the right PHP version. Once this message is sent, it is up to the users to get a suitable PHP version.

Here are the specifications, it's ready for review: https://github.com/PrestaShop/prestashop-specs/pull/173

Was this page helpful?
0 / 5 - 0 ratings