-
Notifications
You must be signed in to change notification settings - Fork 131
Description
Originally discussed in #618, this issue acts purely as an overview of all the issues related to creating standalone plugins for the modules that are currently part of the Performance Lab plugin, and then removing the corresponding modules from the PL plugin in favor of the new standalone plugins.
Milestones
This effort should be broken down into 2 milestones:
- Publish the modules available as standalone plugins
- Remove the modules from the plugin
The first milestone will unblock the more urgent goal of having standalone plugins for every performance feature project, as well as therefore having a clear path forward also for new features.
The second milestone will ensure those standalone plugins are the canonical way to test those features, with the Performance Lab plugin still providing supporting features e.g. related to performance measurement and management of the performance related features and their plugins.
While the first milestone does not change anything notable for existing Performance Lab plugin users, the second one will require administrators to install/activate the new plugins and can therefore be considered a breaking change. As such, the second milestone should eventually be released with a major version number change, as 3.0.0
.
List of issues
The list below includes all related issues, somewhat ordered by their intended sequence of execution. Important to note:
- Some of the issues can be worked on in parallel.
- The issue for milestone 2 can be defined as milestone 1 is being worked on, however milestone 2 issues should only be implemented / merged after milestone 1 has been completed.
- The list is not necessarily comprehensive, more issues will be added as needed.
- You can always get a list of issues also using the "Creating standalone plugins" label.
Milestone 1
- Implement CLI command to for a build process to transform modules into standalone plugins #635
- Implement GitHub workflow to have a basic test for standalone plugins #639
- Add module-specific readme files and enhance CLI command to include standalone plugin readme files #636
- Check for each module to only load it if the corresponding standalone plugin is not loaded #666
- Remove any functions, classes, constants etc. from module
load.php
files #667 - Set up WordPress.org repositories for standalone plugins #637
- Implement GitHub workflow to build and deploy standalone plugins #638
- Support standalone plugins in PL generator meta tag #692
- Set up additional standalone plugins for Dominant Color and Fetchpriority #640
-
Migrate SQLite integration plugin back into monorepo for development #661
Milestone 2
2a (2.8.0 release)
- Update PL settings screen with new UI to manage standalone plugins and built-in modules #651
- Implement migration logic and UI from old PL modules to new standalone plugins in PL settings screen #652
- Enhance experience when installing _and_ activating a standalone plugin #880
- Implement admin pointer to indicate to the user they need to activate the new standalone plugins #653
- Merge
feature/creating-standalone-plugins
feature branch intotrunk
#901
Follow-up PRs:
- Fix Plugin card UI and thickbox issue #896
- Follow-up: Minor changes for creating standalone plugins #912
- Revise migration pointer un-dismissal to work for all admins #917
- Load migration script in plugin setting page #920
2b (3.0.0 release)
- Introduce
plugins
folder for standalone plugins #934 - Remove the modules that were published as standalone plugins from the Performance Lab plugin #654
- Implement publishing workflow for standalone plugins that aren't modules #935
- Add upgrade notice to inform users of major change prior to 3.0.0 update #655
2c (3.0.0 release polishing)
- Make remaining modules (all Site Health) part of Performance Lab core #1029
- Remove modules infrastructure #1030
- Improve UX/UI of enabling performance features via standalone plugins #1031
- Allow marking certain standalone plugins as experimental #1045
Follow-up Issues & PRs:
- Separate
phpcs.xml.dist
Files for Each Plugin to Isolate Text Domains #997 - Expand workflow and linting checks to run on all branches #998
- Add a build process for the
plugins
directory plugin. #1006 - Add: Auto Sizes for Lazy-loaded Images #904
- Move
auto-sizes
to plugins folder #972 - Fix unit test for
feature/auto-sizes
branch #971 - Move Auto Sizes plugin assets to plugins folder #999
- Fix unit test for Multisite #1014
- Remove
TODO
fromdeploy-standalone-plugins.yml
#1020 - Merge: Infrastructure for standalone plugins #1021
- Fix
get-plugin-dir
command for plugins #1026
See #911 for somewhat related discussion, which however is not a blocker to this effort. Additionally, documentation for how to write a module will need to be updated after the 2b changes, and basic documentation for how to start a new plugin in the repo should be added too.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status