Skip to content
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

Promote October CMS and give the community a useful tool by adding the CMS to the Lighthouse tool #4959

Closed
summercms opened this issue Feb 28, 2020 · 21 comments

Comments

@summercms
Copy link
Contributor

summercms commented Feb 28, 2020

@daftspunk @LukeTowers

Been thinking about this for a while and I contacted Google a few weeks ago. Today they sent me an update saying we can go ahead now.

What I'm talking about is called "Stack Packs" - you can learn more here: https://developers.google.com/web/updates/2019/01/lighthouse-platform-packs

Creating and adding a Lighthouse Stack pack gives the following two advantages:

  1. Gives the October community an extra free tool to test their October websites.

  2. Spreads the word about the October CMS and people will see this CMS listed with the big boys and will then investigate further.

What does a stack pack look like?

image

How to Contribute

We'd love to accept your contributions to this project to improve how we provide stack-specific guidance in Lighthouse. Please read through the following before contributing however.

Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution;
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to https://cla.developers.google.com/ to see
your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.

Submitting a new stack pack

Want to submit a brand new stack pack? Awesome! In order for a stack pack to be considered however, the following must be met:

  • There should be a simple way to detect the stack via JS/DOM properties
  • At least 6 of the performance audits should have stack-specific recommendations
  • A significant number of websites (~ in the 10's of thousands) should be using the stack. Consider using HTTP Archive to detect the number sites used by the particular tool.
  • There must be a minimum of two maintainers for each stack from the community who can help review and provide suggestions. We (Google) should not be the ones to decide what the audit recommendations should be.

If all of these are met, submit a PR for review! Copy the general.json file into the packs/ directory and change each audit string to a specific recommendation regarding your stack. If you can't provide a recommendation for a particular audit, change it to an empty string. However, you will need to provide at least 6 audit strings as mentioned earlier.

Submitting changes to audit strings

Do you notice a specific audit string for a particular pack that is wrong or could be a little better? Please submit a PR!

FAQ

Stack Pack Release Cycle

To ensure that all audit suggestions for stack packs are properly localized in time, there will be a cut-off at least twice a year (in Q2 and Q4) where all changes to audit descriptions for any stack will be sent to the Google translation teams. This means that there will be at least 2 stack pack releases every year.

When will more than just performance audits be supported?

Stack pack suggestions for audits will need to stay in-line with PageSpeed Insights. Performance audits are the only types of audits surfaced there which means they will be the only audits supported by stack packs in the near future.

Handling different versions of stacks

For most stacks, audit advice will be provided for the latest stable version. If developers are using an older version where they cannot include a particular suggestion that we provide, they will have to upgrade. We do not currently support providing different types of suggestions for multiple versions of the same tool in a single stack pack, but we may include this functionality in the future.

For example: We tell developers to use React’s Suspense feature in the React stack pack to code-split their bundles. This feature is only supported in version 16.6 but the developer is using an older version of React. By providing links to all relevant documentation, they should understand that they would have to upgrade their version.

What if two versions of a tool are completely different where suggestions for one might not work for another?

These two different versions will be treated as two separate stacks entirely for the meantime, each with their own feature detection (for example: Stack v2 and stack v3)

@LukeTowers
Copy link
Contributor

@ayumi-cloud since you seem to work with Google a fair amount and probably already have a CLA with them, would you be willing to put together the code for it and post it here for our review and then submit the PR yourself?

@summercms
Copy link
Contributor Author

@LukeTowers I don't mind doing that for you - I will it it to my to-do list.

I was thinking of creating a spreadsheet with the various messages and sending it to you in Slack for review. If you happy with that I will start trying to do the research in the coming days (when I'm free) and try to find plugins and libraries (that are properly maintained to link into the descriptions).

@LukeTowers
Copy link
Contributor

@ayumi-cloud thanks!

Probably no need for a spreadsheet, just the JSON in a comment on this issue should be good enough.

@github-actions
Copy link

github-actions bot commented Apr 4, 2020

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

@lautsevich
Copy link

Such a cool idea! Is there any news?

@LukeTowers
Copy link
Contributor

Haven't heard from @ayumi-cloud for a while, not sure what's up with them.

@lautsevich
Copy link

Ouch. Hope he's (she?) safe and well these challenging days!

@bennothommo
Copy link
Contributor

I wouldn't mind giving this a try in the future, but it's extremely low priority at the moment.

@RomainMazB
Copy link
Contributor

RomainMazB commented Jun 3, 2020

Again, just my thoughts about that (a thing I may not understand perfectly):
It's a great feature, even if it's just a customization since theses message will already be shown when using lighthouse with PageSpeed insight.

Watching at some of the WP error message/link in its stack pack (which is not exhaustive I suppose), what shouldn't be reproduced is the kind of the one for AMP: it definitely promotes a specific plugin. Even if the plugin is great and probably the best one, October shouldn't promote any plugin by any possible way.

That said, this feature is a good one.

@lautsevich
Copy link

@ayumi-cloud, welcome back!

I believe it would be great not to suggest a specific plugin but saved search results in the marketplace "image optomization" etc.

@LukeTowers
Copy link
Contributor

@ayumi-cloud I would say only first party plugins should be specifically recommended (i.e. RainLab plugins), everything else should be a marketplace search term recommendation.

@RomainMazB
Copy link
Contributor

There's where I wanted to come, of course.

Promote third party plugins is not fair for the others concurrent plugins, and in some sort engages the cms responsibility if there is major issue in the plugin.

The next time I will make it shorter to not beat around the bush 👍

@bennothommo
Copy link
Contributor

@ayumi-cloud

Sorry been sick for a while (still taking medicines). Hospitals and doctors seem to only treat covid-19 and ignore all other illnesses! Which has only made things worse!

Sorry to hear about your troubles. All the best for a speedy recovery.

@summercms
Copy link
Contributor Author

@bennothommo thanks for your kind words, wish you all the best.

@github-actions
Copy link

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

@github-actions
Copy link

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

@summercms
Copy link
Contributor Author

summercms commented Nov 20, 2020

Submitted here:

Stack pack pr: GoogleChrome/lighthouse-stack-packs#58

Detection pr: johnmichel/Library-Detector-for-Chrome#187

@summercms
Copy link
Contributor Author

Both pr's have been merged, Google side!

This will be live on the next Lighthouse Update!

@LukeTowers Please close this issue now.

@SebastiaanKloos
Copy link
Contributor

Awesome!

@lautsevich
Copy link

Great! Thx, @ayumi-cloud!

@seanthepottingshed
Copy link

@ayumi-cloud

Champion the wonderhorse!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

7 participants