Description
The blueprint.json
files offer tremendous opportunity from a scaffolding and programmatic standpoint to developers using WordPress Playground. What if it were possible to chain together multiple blueprints to create an instance?
Use case: Build Playground docs for WordPress Plugin development
I want to see all documentation tagged plugin developer
User goes to documentation, searches "develop plugins with Playground" and finds a list of all the documentation that is tagged with plugin developer
.
Docs: Creating a Plugin with WordPress Playground (post_title)
Steps: (post_content) - see below - raw .json
Description: Importing multiple WXR files to build a catalog of posts (post_excerpt)
Pseudocode
- InstallTheme
schoolyard
- LoginStep
- ImportWXR
getting-started-with-plugin-development-in-playground.wxr
- ImportWXR
understanding-plugin-headers.wxr
- ImportWXR
plugin-activation-hooks.wxr
- ImportWXR
plugin-deactivation-hooks.wxr
- ImportWXR
plugin-uninstall-hooks.wxr
- ImportWXR
plugin-security-best-practices.wxr
- ImportWXR
plugin-translation-best-practices.wxr
- ImportWXR
plugin-licensing-best-practices.wxr
- InstallPluginStep
create-plugin
- InstallPluginStep
plugin-review-check.zip
- InstallPluginStep
plugin-security-check.zip
- ActivatePluginStep
create-plugin
- ActivatePluginStep
plugin-review-check
- ActivatePluginStep
plugin-security-check
- ImportWXR
submit-plugin-for-review.wxr
- LandingPage
/
Now the user will come to the Schoolyard theme, and see the documentation for creating a plugin with WordPress Playground, with Step by Step instructions for building a WordPress Plugin.
Limitations
ImportXWR isn't implemented
Currently ImportWXR
does not exist as a step
in the blueprint.json file. This step could be implemented simply with a WPCLIStep
and import
command, and link to a WXR
file in the assets
directory.
Blueprint parser extended
New functionality would have to be created to chain blueprint.json
files.
Creating this Step would open the door to building out documentation based on user needs in lieu of having a bunch of extra docs. For example, a new user to WordPress does not need to understand how to run Playground through a web socket.
Conclusion
Being able to chain blueprints together would open up the ability to add "partial" blueprints, which could be used modularly to build out a Playground instance.