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

Set up additional standalone plugins for Dominant Color and Fetchpriority #640

Closed
Tracked by #656
felixarntz opened this issue Feb 1, 2023 · 5 comments · Fixed by #704
Closed
Tracked by #656

Set up additional standalone plugins for Dominant Color and Fetchpriority #640

felixarntz opened this issue Feb 1, 2023 · 5 comments · Fixed by #704
Labels
Infrastructure Issues for the overall performance plugin infrastructure [Plugin] Performance Lab Issue relates to work in the Performance Lab Plugin only [Type] Enhancement A suggestion for improvement of an existing feature
Milestone

Comments

@felixarntz
Copy link
Member

felixarntz commented Feb 1, 2023

Feature Description

As a last step of creating standalone plugins for (some of) the modules in the Performance Lab plugin, we should finalize the config list from #635 to include all modules that should be published as standalone plugins. As part of this, we will need to set up their directories in the WordPress.org plugin repository, then build and deploy them using the tooling that we built in the issues #635, #636, #638, and #639.

This should likely be the last step of that work, to complete at least the first milestone of unbundling the Performance Lab plugin. Which modules to publish as standalone, and how to proceed after that is pending additional discussion in #618.

Requirements

Before working on this issue, let's wait until #638 is completed, and until a first version of the WebP Uploads plugin was successfully released.

@felixarntz felixarntz added [Type] Enhancement A suggestion for improvement of an existing feature Infrastructure Issues for the overall performance plugin infrastructure Creating standalone plugins labels Feb 1, 2023
@felixarntz
Copy link
Member Author

felixarntz commented Feb 14, 2023

Based on #618 (comment), I'd like to share here the list of current modules we would publish, depending on each alternate policy:

  1. Decide for every module individually whether to publish it as standalone plugin
    • maybe images/dominant-color
    • maybe images/fetchpriority
    • maybe images/webp-support
    • images/webp-uploads
    • maybe database/audit-autoloaded-options
    • maybe js-and-css/audit-enqueued-assets
    • database/sqlite
  2. Publish every module as standalone plugin
    • images/dominant-color
    • images/fetchpriority
    • images/webp-support
    • images/webp-uploads
    • database/audit-autoloaded-options
    • js-and-css/audit-enqueued-assets
    • database/sqlite
  3. Publish every module as standalone plugin that is a feature with the intent to directly affect the performance of WordPress (e.g. Site Health modules are excluded)
    • images/dominant-color
    • images/fetchpriority
    • images/webp-uploads
    • database/sqlite

This shows the benefits of options 2. and 3. over option 1.: No "maybe", we always know which modules to publish as standalone plugins. Option 3. shows a benefit of reduced overhead, as it would avoid the need for maintaining individual plugins for Site Health plugins, so compared to option 2. that's only 4 standalone plugins instead of 7. Since keeping Site Health modules as the primary focus of the PL plugin is also a good separation of concerns, option 3. seems like the most promising option.

cc @joemcgill

@joemcgill
Copy link
Member

Thanks @felixarntz. I like how this illustrates the benefits of a clear policy on 2 and 3, and consolidates the decision to publish a module with the initial decision of whether to include a feature as a module in the first place.

Even with my suggested change to wording of option 3, the third list would remain the same as you have here and would still be my preferred option, as it keeps the purpose of the performance lab plugin (i.e., measuring and providing performance feedback about sites) distinct from the purpose of standalone modules that affect some performance aspect of WordPress itself.

@felixarntz
Copy link
Member Author

felixarntz commented Feb 21, 2023

My comment above in #640 (comment) outlines the 3 alternative options for our policy on which modules to publish as standalone plugins, including a list for each option which of the current modules this would lead to being published as standalone.

Per the discussions that have happened on GitHub and Slack, @ThierryA, @joemcgill, and myself are in agreement that we should go with option 3 (Publish every module as standalone plugin that is a feature with the intent to directly affect the performance of WordPress).

@JustinyAhin @OllieJones @adamsilverstein @getsource @aristath @sgomes @tillkruss @spacedmonkey As focus leads, can you please take a brief look at the above by end of this week? Please either give a thumbs up or otherwise share your feedback why you think we should go with another option. Thank you!

@felixarntz felixarntz changed the title Finalize list of modules to publish as standalone plugins Set up additional standalone plugins for Dominant Color and Fetchpriority Feb 23, 2023
@felixarntz
Copy link
Member Author

A PR for this can be opened against the trunk branch as soon as #699 is merged. However, it must not be merged into trunk until these two plugins have their wp.org repositories approved.

Here's a summary of what the PR needs to include:

  • Add entries for the two plugins dominant-color-images and fetchpriority to plugins.json.
  • Add the necessary version constants to these modules (see WebP Uploads module).
  • Add the necessary generator function to these modules (see WebP Uploads module).

There may be something else, but those 3 things are what I can think of now.

@felixarntz
Copy link
Member Author

felixarntz commented Apr 6, 2023

Providing a brief update here:

cc @mukeshpanchal27 @10upsimon @joemcgill

@felixarntz felixarntz added the [Plugin] Performance Lab Issue relates to work in the Performance Lab Plugin only label Jul 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Infrastructure Issues for the overall performance plugin infrastructure [Plugin] Performance Lab Issue relates to work in the Performance Lab Plugin only [Type] Enhancement A suggestion for improvement of an existing feature
Projects
None yet
2 participants