-
Notifications
You must be signed in to change notification settings - Fork 384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wizard Step: Plugin compatibility scanning #4719
Comments
This step is not going to be about plugin compatibility scanning only. It will also check for the theme compatibility. If a theme is generating AMP validation errors, then this will be a signal for which template mode will be recommended to the user. For example:
See #4795.
Turn them off specifically when generating AMP pages. |
What about scenarios where there are theme errors, but no plugin errors? |
Yes, if there are theme errors, then we recommend Reader mode. If there are no theme errors but there are plugin errors, then Transitional mode can recommended (especially for technical users). If there are no theme errors nor plugin errors, then Standard mode can be recommended (especially for technical users). I believe the scenarios are captured in the AMP Copy Configuration Table doc. |
Note we'll need to incorporate site scanning into the settings screen as well. This should make the recommendations consistent between the wizard and settings screen. See #4990 (comment). |
There needs to be a button on the Settings screen to initiate a re-scan. |
Also, with #1756 when using WP-Cron, we'll want to provide a summary of the most recent site scan results when the user first lands on the Settings screen. Then they can re-scan if they want to get more up-to-date results. |
Using this task as the jumping-off point for the various site scanning tasks. I kinda think #4795 can be closed in favor of this one, but I'll hold off for now. |
@westonruter and @amedina I've updated the prototype based on our last conversation, and look forward to your feedback. Video: rTl6d5ycbu.mp4This also accounts for #6071 with site review, so we'll go over them together. Happy to schedule a call Tuesday/Wednesday, otherwise we can go async. You can also checkout the prototype on Figma. Thanks! cc @delawski |
@jwold Are the counts next to “theme issues” and “plugin issues” indicating the number of themes and plugins respectively that issues? Or is it indicating the number of issues across the themes and plugins? If the former, which seems to be indicated here, then the headings should perhaps be rather “Plugins with issues”. Note that there will usually be one theme, or else a parent theme and child theme. So for the theme, maybe it doesn't make sense to show it collapsed like that. Maybe for the themes it should just have the theme name and not have any count. And if there is a child theme active, have a separate row for it. The parent theme and child theme would not be in expandable drawers then. On the settings screen, wasn't there also going to be a link off to the Validated URLs screen and/or down to the Plugin Suppression table for the user to discover what the “issues” are? I think we also need to elaborate on what “issues” means. If we're just listing out the theme/plugins which have issues, I can imagine a technical user especially exclaiming, “WHAT IS WRONG WITH MY AWESOME PLUGIN I MADE WITH MY OWN TWO HANDS?!” Or a non-technical user may throw up their hands, “I PAID $100 FOR THIS PREMIUM PLUGIN AND IT HAS ISSUES!?” Maybe we should be more explicit that issues means “AMP incompatibilities”? It's tricky because we want to also de-emphasize AMP and focus more on PX, but we don't have general PX issues yet to report. For technical users, perhaps there should be a link out to the Validated URLs screen so the user can review what is wrong so they aren't left wondering, both in the onboarding wizard step and on the settings/dashboard screen. @delawski Side note, during site scanning we'll be wanting to evaluate the URLs as if Standard mode is enabled. Currently validation is performed based on whatever the currently-selected mode is, which is by default Reader mode currently. So we should come up with a way to temporarily override the mode, perhaps with a query parameter. |
+1 on providing such access to advanced users. Could the |
Good catch. Fixed. It's supposed to be "Plugins with issues."
I like that. Updated: https://d.pr/i/WQy2bG
Good point. That got lost in the mix. Added back in: https://d.pr/i/1OmyDm
What if we changed it then to "Plugins with AMP incompatibility?" That helps solve the problem in the meantime until we're ready for 2.3. Screenshot: https://d.pr/i/1OmyDm
We've discussed whether to include a link or not, and this feels like evidence pointing to have a link. In this case, it's probably fine for technical or non-technical. The simplest way I can think at the moment is an anchor link out on the plugin issue list. Screenshot: https://d.pr/i/STG7ps
@amedina great question. My only concern with moving the button to the right is the imbalance it will now create with white space on the screen, especially since we're adding back in the paragraph above. Here's what it could look like: https://d.pr/i/KmtVNP |
@delawski this is now unblocked: https://www.figma.com/file/SfMlDvHc5KHxJmAZN12PIM/?node-id=0%3A1 Happy to jump on a call if clarification is needed! cc @westonruter and @amedina |
Only thing is that there shouldn't be a link for each plugin/theme, if that link is intended to take the user to a Validated URL. A given Validated URL may have validation errors from one or more plugins, and there's no 1:1 correspondence between URLs and plugins with validation errors. So instead of there being a link with each plugin, there should be one paragraph perhaps at the top that has one single CTA to review validated URLs for any AMP compatibility issues. Humm, that being said, we could identify a list of validated URLs that have errors for a given plugin, and the plugin-specific links could link to that subset of validated URLs. In other words, instead of linking to the Validated URLs screen at |
Or rather than passing in the specific post IDs, instead the URL could use the plugin slug. The only caveat here is that there is no taxonomy of the sources of validation errors, so what the Plugin Suppression table has to do is it grabs the latest 100 validated URLs, and for each that is not stale, obtains all the error sources and and builds up an in-memory index to then provide that information. In other words, we can't easily query for validated URLs that have an error which has a given source. That would be made possible with the move to custom DB tables (#5553). In any case, in the context of Site Scan, the most important thing is to list the validated URLs which were just scanned. Since we will have the full validation data on hand with the scan, then the plugin sources for the validation errors will be in memory already, and so the validated URLs with errors for a given plugin will be able to be obtained. So yeah, going with what I proposed above with linking to a filter view that lists out specific validated URLs seems like the better route. |
See #6615 |
@delawski Alberto and I met today on the AMP config file table. We simplified a few things.
Figma: https://www.figma.com/file/SfMlDvHc5KHxJmAZN12PIM/AMP-Design?node-id=0%3A1 Happy to jump on a call if clarification is needed! CC @amedina and @westonruter |
@jwold Thank you for that! I've pushed a few commits as part of #6610 that introduce those changes. Here's a sample screen shot of the updated Template Modes step: |
You're welcome! I love it! 😀 |
QA
Here is a contradicting recommendation where Wizard site scanner recommends Transitional mode & Reader mode and AMP settings page Site scanner recommends Standard mode when the user chooses Reader Mode Theme Video for same: https://recordit.co/NEyBjW8fw1 |
@milindmore22 I think this works as expected but indeed may be confusing to the users. Here's the entire flow:
@westonruter What do you think about this flow? It seems to me that while technically everything works as expected, for the user this may be confusing. We may have to think of some improvements to the recommendation engine in the next release but I think we may be going down a rabbit hole here. |
Right, I can see this particularly being an issue in the legacy Reader theme since it doesn't use standard theme hooks. Therefore if a plugin is printing something in |
@milindmore22 Given the discussion above, do you think this issue can be moved to QA Passed lane? |
@delawski Not sure if this is intentional, there is one failed QA, where the user has AMP-compatible plugins and theme but didn't get any recommendation if they choose to be a non-tech user, they should be given a Standard Mode as a recommendation? |
I think it is expected (as per the template mode recommendation logic) but I'll defer to @westonruter since he's worked on the recommendation logic most recently. |
Yeah, that's a good observation. Basically the thinking there is that in Standard mode without loose sandboxing being enabled, it is very likely that a non-technical user could end up activating a plugin later or adding some embed code that could cause validation errors. They could then end up with a broken site without a way for visitors to access the unbroken version. So in that case, Transitional would be safer for non-technical users at the moment. We'll need to revisit this once Sandboxing graduates from experimental, as if we default to Loose then we can safely recommend Standard much more often. The ultimate goal would be to default to Standard unless the theme fails some extreme PX checks (like lacking mobile friendliness), in which case Reader would be the recommendation. |
Feature description
As part of the onboarding the AMP plugin will check for plugin compatibility compatibility issues, and recommend actions based on what it finds.
Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance criteria
Implementation brief
cf. #4795
QA testing instructions
Demo
Changelog entry
The text was updated successfully, but these errors were encountered: